Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu işlevler COM Eşlemesi IUnknown uygulamaları için destek sağlar.
| İşlev | Açıklama |
|---|---|
| AtlInternalQueryInterface | IUnknown Toplanmamış bir nesnenin temsilcisi. |
| InlineIsEqualIUnknown | ile arabirimleri IUnknownkarşılaştırmak için verimli kod oluşturur. |
Gereksinimler
Üst bilgi: atlbase.h
AtlInternalQueryInterface
İstenen arabirim için bir işaretçi alır.
HRESULT AtlInternalQueryInterface(
void* pThis,
const _ATL_INTMAP_ENTRY* pEntries,
REFIID iid,
void** ppvObject);
Parametreler
pThis
[in] öğesine sunulan arabirimlerin COM eşlemesini içeren nesneye QueryInterfaceyönelik bir işaretçi.
pEntries
[in] Kullanılabilir arabirimlerin _ATL_INTMAP_ENTRY haritasına erişen bir yapı dizisi.
iid
[in] İstenen arabirimin GUID'i.
ppvObject
[out] iid içinde belirtilen arabirim işaretçisi işaretçisi veya arabirim bulunamazsa NULL.
Dönüş Değeri
Standart HRESULT değerlerinden biri.
Açıklamalar
AtlInternalQueryInterface yalnızca COM eşleme tablosundaki arabirimleri işler. Nesneniz toplanmışsa, AtlInternalQueryInterface dış bilinmeyene temsilci seçmez. COM eşleme tablosuna makro COM_INTERFACE_ENTRY veya değişkenlerinden biriyle arabirimler girebilirsiniz.
Örnek
// 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
için özel test örneği için IUnknownbu işlevi çağırın.
BOOL InlineIsEqualUnknown(REFGUID rguid1);
Parametreler
rguid1
[in] ile karşılaştıracak IID_IUnknownGUID.