COM_INTERFACE_ENTRY_FUNC
攔截到 ATL 的 QueryInterface 邏輯的一般機制。
COM_INTERFACE_ENTRY_FUNC( iid, dw, func )
參數
iid
[in] 公開介面的 GUID。dw
[in] 參數傳遞至 func。func
[in] 要傳回 iid的函式指標。
備註
如果 iid 符合介面的 IID 查詢,則 func 指定的函式。 函式的宣告應該是:
HRESULT WINAPI func(void* pv, REFIID riid, LPVOID* ppv, DWORD_PTR dw);
當您的函式呼叫時,對類別的 pv 指向物件。 riid 參數參考介面進行查詢,會 ppv 是函式的指標應該儲存至介面指標的位置,因此, dw 是您在項目中指定的參數。 如果選取,則不會傳回介面,函式應該將*ppv 至 NULL 並傳回 E_NOINTERFACE 或 S_FALSE 。 E_NOINTERFACE, COM 對應終止處理序。 S_FALSE, COM 對應的處理會繼續,,即使介面指標不會傳回。 如果函式傳回介面指標,它應該傳回 S_OK。
如需 COM 對應項目的備註參閱 COM_INTERFACE_ENTRY 巨集 。
需求
Header: atlcom.h