AtlInternalQueryInterface
Pobiera wskaźnik do żądanego interfejsu.
HRESULT AtlInternalQueryInterface(
void* pThis,
const _ATL_INTMAP_ENTRY* pEntries,
REFIID iid,
void** ppvObject
);
Parametry
pThis
[w] Wskaźnik do obiektu, który zawiera mapę COM interfejsów narażone na QueryInterface.pEntries
[w] Tablica _ATL_INTMAP_ENTRY struktur, które mapa dostępnych interfejsów dostępu.iid
[w] Identyfikator GUID interfejsu żądana.ppvObject
[out] Wskaźnik do wskaźnika interfejsu określonego w iid, lub NULL , jeśli nie znaleziono interfejsu.
Wartość zwracana
Jeden standardowy wartości HRESULT.
Uwagi
AtlInternalQueryInterfaceobsługuje tylko interfejsów COM tabeli mapy.Jeśli obiekt jest zagregowane, AtlInternalQueryInterface nie delegować do zewnętrznego nieznany.Interfejsy można wprowadzać do tabeli mapę COM z makra COM_INTERFACE_ENTRY lub jednego z jego odmiany.
Przykład
// 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 ();
}
Wymagania
Nagłówek: atlbase.h
Zobacz też
Informacje
CComObjectRootEx::InternalAddRef
CComObjectRootEx::InternalRelease