共用方式為


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_NOINTERFACES_FALSEE_NOINTERFACE, COM 對應終止處理序。S_FALSE, COM 對應的處理會繼續,,即使介面指標不會傳回。如果函式傳回介面指標,它應該傳回 S_OK。

如需 COM 對應項目的備註參閱 COM_INTERFACE_ENTRY 巨集

需求

Header: atlcom.h

請參閱

其他資源

COM 對應巨集

ATL 巨集