iunknown

    2熱度

    2回答

    我試圖修改已存在於系統中的IDispatch接口的行爲。 要做到這一點,我的計劃是在運行時鉤入對象v表,並修改指針,使其指向自定義鉤子方法。 如果我能得到這個工作,我可以添加新的方法和屬性已經存在的對象。尼斯。 首先,我嘗試連接到IUnknown的v-table(從中繼承IDispatch)並且工作正常。但是嘗試在IDispatch中更改entires完全不起作用。完全沒有任何事情發生,代碼就像沒

    2熱度

    2回答

    我知道這可能是一個長鏡頭,所以請原諒我,因爲我對COM沒有太多瞭解。 基本上我想要做的是獲取指向正在運行的應用程序的IUnknown接口的指針,問題是我知道的關於應用程序的唯一的事情是它的主窗口句柄。 這可能嗎?

    1熱度

    4回答

    所有的D3D接口從COM的IUnknown接口派生的,所以我雖然我會採取一種簡單的途徑釋放D3D對象,並使用這樣的事: __inline BOOL SafeRelease(IUnknown*& pUnknown) { if(pUnknown != NULL && FAILED(pUnknown->Release())) return FALSE; pUnknow

    0熱度

    1回答

    我有一個遺留的COM控件(核心),它接受一個接收器IUnknown。目的是允許Core通過該接收器接口讀取/寫入數據。 Core/Sink指針目前在遺留系統中使用,不易修改。 我遇到的問題是當我嘗試從託管代碼調用Core並傳入一個對象(嘗試)在託管代碼中實現接收器時。我已經調試了Core,準備調用接收器。在此之前(不是之後)的電話,我得到類似的消息: 運行時檢查失敗#0 - ESP的值未正確保存跨

    0熱度

    1回答

    我想在我的渲染框架中將D3D10設備創建中的Swapchain和Window創建分開,這意味着我無法真正使用D3D10CreateDeviceAndSwapChain。在嘗試構建我的測試應用程序時,我遇到了意外的鏈接器錯誤。 我包括DXGI.h和鏈接到DXGI.lib以及D3D10庫,但沒有別的。 問題代碼如下: IDXGIDevice* pDXGIDevice = NULL; 如果(FAIL

    0熱度

    2回答

    在修改現有ATL COM對象的過程中,我遇到了一篇名爲「人們弄亂了IUnknown :: QueryInterface的方式」的「The Old New Thing」博客文章,並且在評論部分有一個討論,的受訪者(諾曼鑽石)指出,在文章的一個例子中,拋棄**是錯誤的。 但是,當我嘗試糾正我的代碼來正確執行投射時,我最終發生內存泄漏。 的例子如下: IShellFolder *psf = some o

    0熱度

    1回答

    爲什麼以下doc2與doc22不同? IHTMLDocument2 doc2 = (pDisp as IWebBrowser2).Document as IHTMLDocument2; IHTMLDocument2 doc22 = doc2.body.document as IHTMLDocument2; bool isequal = Marshal.GetIUnknownForObject(

    5熱度

    2回答

    每次構建我的C#解決方案時,我都會收到一些關於我從未見過或寫過的界面的警告。我嘗試了谷歌搜索其中的一些,但沒有點擊。這些可能被埋在我參考的裝配中嗎?如果是這樣,有什麼辦法可以讓這些警告消失嗎? Interface'IAlertable'被標記爲[dual],但不是從IDispatch派生的。它將被轉換爲一個IUnknown派生的接口。 接口'ICustomizationPermissionsRep

    1熱度

    1回答

    在文檔(C++示例) LUnknown* pIUnknown = CreateInstance(slot); 得到的IUnknown我試試這個 >> import ctypes >> print type(ctypes.cdll.lcomp.CreateInstance(0)) <type 'int'> 如何獲得IUnknown和的QueryInterface?

    1熱度

    2回答

    最近我遇到了從.NET向COM公開事件的問題。 我已經成功地用這個例子(從http://blogs.msdn.com/andreww/archive/2008/10/13/exposing-events-from-managed-add-in-objects.aspx概念所): //代表類型爲我們的自定義事件。 [ComVisible(false)] public delegate void S