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 sınıf, yöntemlerin IDispatch uygulamalarını sağlar.
Önemli
Bu sınıf ve üyeleri Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz.
Sözdizimi
template <UINT nID, class T,
const IID* pdiid = &IID_NULL,
const GUID* plibid = &GUID_NULL,
WORD wMajor = 0,
WORD wMinor = 0,
class tihclass = CcomTypeInfoHolder>
class ATL_NO_VTABLE IDispEventImpl : public IDispEventSimpleImpl<nID, T, pdiid>
Parametreler
nID
Kaynak nesne için benzersiz bir tanımlayıcı. Bileşik denetimin temel sınıfı olduğunda IDispEventImpl , bu parametre için istenen kapsanan denetimin kaynak kimliğini kullanın. Diğer durumlarda, rastgele bir pozitif tamsayı kullanın.
T
kullanıcının sınıfından türetilir IDispEventImpl.
pdiid
Bu sınıf tarafından uygulanan olay dispinterface IID işaretçisi. Bu arabirim, , plibidve wMajortarafından wMinorbelirtilen tür kitaplığında tanımlanmalıdır.
plibid
tarafından pdiidişaret edilen dağıtım arabirimini tanımlayan tür kitaplığına bir işaretçi. ise &GUID_NULL, tür kitaplığı olayları kaynak olarak alan nesneden yüklenir.
wMajor
Tür kitaplığının ana sürümü. Varsayılan değer 0'tir.
wMinor
Tür kitaplığının ikincil sürümü. Varsayılan değer 0'tir.
tihclass
için tür bilgilerini yönetmek için Tkullanılan sınıf. Varsayılan değer bir tür sınıfıdır; ancak, dışında CComTypeInfoHolderbir tür CComTypeInfoHoldersınıfı sağlayarak bu şablon parametresini geçersiz kılabilirsiniz.
Üyeler
Genel Tür Tanımları
| Veri Akışı Adı | Açıklama |
|---|---|
IDispEventImpl::_tihclass |
Tür bilgilerini yönetmek için kullanılan sınıf. Varsayılan olarak, CComTypeInfoHolder. |
Ortak Oluşturucular
| Veri Akışı Adı | Açıklama |
|---|---|
IDispEventImpl::IDispEventImpl |
Oluşturucu. |
Genel Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
IDispEventImpl::GetFuncInfoFromId |
Belirtilen dağıtım tanımlayıcısı için işlev dizinini bulur. |
IDispEventImpl::GetIDsOfNames |
Tek bir üyeyi ve isteğe bağlı bağımsız değişken adları kümesini karşılık gelen bir tamsayı DISPIDkümesiyle eşler. |
IDispEventImpl::GetTypeInfo |
Bir nesnenin tür bilgilerini alır. |
IDispEventImpl::GetTypeInfoCount |
Tür bilgisi arabirimlerinin sayısını alır. |
IDispEventImpl::GetUserDefinedType |
Kullanıcı tanımlı bir türün temel türünü alır. |
Açıklamalar
IDispEventImpl , bu arabirimdeki her yöntem/olay için uygulama kodu sağlamanıza gerek kalmadan bir olay dispinterface uygulama yöntemi sağlar.
IDispEventImpl yöntemlerin IDispatch uygulamalarını sağlar. Yalnızca işlemek istediğiniz olaylar için uygulama sağlamanız gerekir.
IDispEventImpl olayları uygun işleyici işlevine yönlendirmek için sınıfınızdaki olay havuzu eşlemesiyle birlikte çalışır. Bu sınıfı kullanmak için:
İşlemek istediğiniz her nesnedeki her olay için olay havuzu eşlemesine bir SINK_ENTRY veya SINK_ENTRY_EX makro ekleyin. Bileşik denetimin temel sınıfı olarak kullanırken IDispEventImpl , olay havuzu eşlemesindeki tüm girişlerin olay kaynaklarıyla bağlantıyı kurmak ve kesmek için çağırabilirsiniz AtlAdviseSinkMap . Diğer durumlarda veya daha fazla denetim için, kaynak nesne ile temel sınıf arasında bağlantı kurmak için çağrısı DispEventAdvise yapın. Bağlantıyı kesmek için arayın DispEventUnadvise .
Olayları işlemeniz gereken her nesne için öğesinden IDispEventImpl türetmelisiniz (için nIDbenzersiz bir değer kullanarak). Temel sınıfı, bir kaynak nesneye eklemeden sonra farklı bir kaynak nesneye danışmanlık yaparak yeniden kullanabilirsiniz, ancak tek seferde tek bir nesne tarafından işlenebilen kaynak nesne sayısı üst sınırı, temel sınıf sayısıyla IDispEventImpl sınırlıdır.
IDispEventImpl ile aynı işlevselliği IDispEventSimpleImplsağlar, ancak arabirim hakkında bir yapı işaretçisi _ATL_FUNC_INFO olarak sağlamak yerine tür kitaplığından tür bilgilerini alır. Olay arabirimini açıklayan bir tür kitaplığınız yoksa veya tür kitaplığını kullanmayla ilişkili ek yükü önlemek istediğinizde kullanın IDispEventSimpleImpl .
Not
IDispEventImplve IDispEventSimpleImpl ana COM nesnenizdeki sınıf üyelerine doğrudan erişime izin verirken her IUnknown::QueryInterface ve IDispEventImpl temel sınıfın ayrı bir COM kimliği olarak davranmasını sağlamak için kendi uygulamalarını IDispEventSimpleImpl sağlayın.
ActiveX olay havuzlarının CE ATL uygulaması yalnızca olay işleyicisi yöntemlerinizden tür HRESULT veya void dönüş değerlerini destekler; diğer dönüş değerleri desteklenmez ve davranışı tanımlanmamıştır.
Daha fazla bilgi için bkz . Destekleme IDispEventImpl.
Devralma Hiyerarşisi
_IDispEvent
_IDispEventLocator
IDispEventImpl
Gereksinimler
Üstbilgi:atlcom.h
IDispEventImpl::GetFuncInfoFromId
Belirtilen dağıtım tanımlayıcısı için işlev dizinini bulur.
HRESULT GetFuncInfoFromId(
const IID& iid,
DISPID dispidMember,
LCID lcid,
_ATL_FUNC_INFO& info);
Parametreler
iid
[in] İşlevin kimliğine başvuru.
dispidMember
[in] İşlevin dağıtım kimliği.
lcid
[in] İşlev kimliğinin yerel ayar bağlamı.
info
[in] İşlevin nasıl çağrıldığını gösteren yapı.
Dönüş Değeri
Standart HRESULT bir değer.
IDispEventImpl::GetIDsOfNames
Tek bir üyeyi ve isteğe bağlı bağımsız değişken adları kümesini, sonraki çağrılarda kullanılabilecek karşılık gelen bir tamsayı DISPIDkümesiyle IDispatch::Invokeeşler.
STDMETHOD(GetIDsOfNames)(
REFIID riid,
LPOLESTR* rgszNames,
UINT cNames,
LCID lcid,
DISPID* rgdispid);
Açıklamalar
Bkz IDispatch::GetIDsOfNames . Windows SDK'sı.
IDispEventImpl::GetTypeInfo
Bir nesne için tür bilgilerini alır ve bu da bir arabirimin tür bilgisini almak için kullanılabilir.
STDMETHOD(GetTypeInfo)(
UINT itinfo,
LCID lcid,
ITypeInfo** pptinfo);
IDispEventImpl::GetTypeInfoCount
Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).
STDMETHOD(GetTypeInfoCount)(UINT* pctinfo);
Açıklamalar
Bkz IDispatch::GetTypeInfoCount . Windows SDK'sı.
IDispEventImpl::GetUserDefinedType
Kullanıcı tanımlı bir türün temel türünü alır.
VARTYPE GetUserDefinedType(
ITypeInfo* pTI,
HREFTYPE hrt);
Parametreler
pTI
[in] Kullanıcı tanımlı türü içeren arabirim işaretçisi ITypeInfo .
hrt
[in] Alınacak tür açıklamasının tanıtıcısı.
Dönüş Değeri
Değişken türü.
Açıklamalar
Bkz. ITypeInfo::GetRefTypeInfo.
IDispEventImpl::IDispEventImpl
Oluşturucu. , , plibidpdiidve wMajorsınıf şablonu parametrelerinin değerlerini depolarwMinor.
IDispEventImpl();
IDispEventImpl::_tihclass
Bu typedef, sınıf şablonu parametresinin tihclassbir örneğidir.
typedef tihclass _tihclass;
Açıklamalar
Varsayılan olarak sınıfı şeklindedir CComTypeInfoHolder.
CComTypeInfoHolder sınıfı için tür bilgilerini yönetir.
Ayrıca bkz.
_ATL_FUNC_INFO Yapı
IDispatchImpl Sınıf
IDispEventSimpleImpl Sınıf
SINK_ENTRY
SINK_ENTRY_EX
SINK_ENTRY_INFO
Sınıfa Genel Bakış