AtlInternalQueryInterface
要求されたインターフェイスへのポインターを取得します。
HRESULT AtlInternalQueryInterface(
void* pThis,
const _ATL_INTMAP_ENTRY* pEntries,
REFIID iid,
void** ppvObject
);
パラメーター
pThis
[入力]インターフェイスの COM マップを含むオブジェクトへのポインターは QueryInterfaceに発行します。pEntries
[出力]使用できるインターフェイス マップにアクセス _ATL_INTMAP_ENTRY の構造体の配列。iid
[入力]要求されたインターフェイスの GUID。ppvObject
[入力]インターフェイスがない場合 iidで指定されたインターフェイス ポインターへのポインターまたは NULL。
戻り値
標準の HRESULT 値のいずれか 1 つが。
解説
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 ();
}
必要条件
atlbase.hHeader:
参照
関連項目
CComObjectRootEx::InternalAddRef
CComObjectRootEx::InternalRelease