Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Fungsi-fungsi ini memberikan dukungan untuk implementasi COM Map IUnknown .
| Fungsi | Deskripsi |
|---|---|
| AtlInternalQueryInterface | Mendelegasikan ke IUnknown objek nonaggregated. |
| InlineIsEqualIUnknown | Menghasilkan kode yang efisien untuk membandingkan antarmuka dengan IUnknown. |
Persyaratan
Header: atlbase.h
AtlInternalQueryInterface
Mengambil penunjuk ke antarmuka yang diminta.
HRESULT AtlInternalQueryInterface(
void* pThis,
const _ATL_INTMAP_ENTRY* pEntries,
REFIID iid,
void** ppvObject);
Parameter
pThis
[di] Penunjuk ke objek yang berisi peta COM antarmuka yang diekspos ke QueryInterface.
pEntries
[di] Array _ATL_INTMAP_ENTRY struktur yang mengakses peta antarmuka yang tersedia.
iid
[di] GUID antarmuka yang diminta.
ppvObject
[out] Penunjuk ke penunjuk antarmuka yang ditentukan dalam iid, atau NULL jika antarmuka tidak ditemukan.
Tampilkan Nilai
Salah satu nilai HRESULT standar.
Keterangan
AtlInternalQueryInterface hanya menangani antarmuka dalam tabel peta COM. Jika objek Anda diagregasi, AtlInternalQueryInterface tidak mendelegasikan ke luar yang tidak diketahui. Anda dapat memasukkan antarmuka ke dalam tabel peta COM dengan makro COM_INTERFACE_ENTRY atau salah satu variannya.
Contoh
// 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 ();
}
InlineIsEqualIUnknown
Panggil fungsi ini, untuk kasus pengujian khusus untuk IUnknown.
BOOL InlineIsEqualUnknown(REFGUID rguid1);
Parameter
rguid1
[di] GUID untuk dibandingkan dengan IID_IUnknown.