共用方式為


AtlInternalQueryInterface

擷取指標所要求的介面。

HRESULT AtlInternalQueryInterface(
   void* pThis,
   const _ATL_INTMAP_ENTRY* pEntries,
   REFIID iid,
   void** ppvObject 
);

參數

  • pThis
    [out] 包含 COM 介面對應的物件指標上公開的 QueryInterface

  • pEntries
    [in] 陣列存取可用介面對應的 _ATL_INTMAP_ENTRY 結構。

  • iid
    [in] 所要求介面的 GUID。

  • ppvObject
    [in] 要在 iid指定之介面指標的指標或 NULL ,如果找不到介面。

傳回值

其中一個標準的 HRESULT 值。

備註

AtlInternalQueryInterface 只控制代碼在 COM 介面對應表。 如果您的物件會彙總,不 AtlInternalQueryInterface 委派至外部未知。 您可以輸入至 COM 介面對應資料表使用巨集 COM_INTERFACE_ENTRY 或它的其中一個變數。

範例

// MyTimerProc is a callback function passed to SetTimer()
VOID CALLBACK MyTimerProc(HWND /*hwnd*/, UINT /*uMsg*/, UINT /*idEvent*/, 
   DWORD /*dwTime*/)
{
   LPDISPATCH pDisp = NULL;
   // gpMyCtrl is a global variable of type CMyCtrl*
   // _GetEntries() is a static function you get with BEGIN_COM_MAP()
   AtlInternalQueryInterface (gpMyCtrl, CMyCtrl::_GetEntries(), IID_IDispatch, 
      (LPVOID*)&pDisp);
   //...
   pDisp->Release ();
}

需求

Header: atlbase.h

請參閱

參考

CComObjectRootEx::InternalAddRef

CComObjectRootEx::InternalRelease

其他資源

COM 對應全域函式