AtlInternalQueryInterface
Ruft einen Zeiger auf die angeforderte Schnittstelle ab.
HRESULT AtlInternalQueryInterface(
void* pThis,
const _ATL_INTMAP_ENTRY* pEntries,
REFIID iid,
void** ppvObject
);
Parameter
pThis
[in erzielt] Ein Zeiger auf das Objekt, das die COM-Zuordnung von Schnittstellen enthält, zu QueryInterface verfügbar.pEntries
[in] Ein Array _ATL_INTMAP_ENTRY-Strukturen, die auf eine Zuordnung der verfügbaren Schnittstellen zugreifen.iid
[in] Die GUID der Schnittstelle, die angefordert wird.ppvObject
[out] Ein Zeiger auf den Schnittstellenzeiger angegeben in iid oder NULL, wenn die Schnittstelle nicht gefunden wird.
Rückgabewert
Einer der Werte des Standards HRESULT.
Hinweise
Handleschnittstellen AtlInternalQueryInterface nur in der COM-Zuordnungstabelle. Wenn das Objekt aggregiert wird, delegiert AtlInternalQueryInterface nicht des äußeren Unbekannten. Sie können Schnittstellen in die COM-Zuordnungstabelle eingeben mit dem Makro COM_INTERFACE_ENTRY oder einer seiner Varianten.
Beispiel
// 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 ();
}
Anforderungen
Header: atlbase.h
Siehe auch
Referenz
CComObjectRootEx::InternalAddRef
CComObjectRootEx::InternalRelease