Aracılığıyla paylaş


AtlGetObjectSourceInterface

Bir nesnenin varsayılan kaynak arabirimi hakkında bilgi almak için bu işlevini çağırın.

Önemli notÖnemli

İçinde yürütme uygulamaları, bu işlev kullanılamaz Windows Çalışma Zamanı.

ATLAPI AtlGetObjectSourceInterface(
IUnknown* punkObj,
GUID* plibid,
IID* piid,
unsigned short* pdwMajor,
unsigned short* pdwMinor
);

Parametreler

  • punkObj
    [in] Bilgi döndürülecek nesnesi için bir işaretçi.

  • plibid
    [Çıkış] Kaynak arabirim tanımını içeren tür kitaplığı kaydettiriliyor kitaplık kimliği için bir işaretçi.

  • piid
    [Çıkış] Nesnenin varsayılan kaynak arabirimin arabirim kimliği için bir işaretçi.

  • pdwMajor
    [Çıkış] Ana sürüm numarası kaynak arabiriminin tanımını içeren tür kitaplığı için bir işaretçi.

  • pdwMinor
    [Çıkış] Alt sürüm numarası kaynak arabiriminin tanımını içeren tür kitaplığı için bir işaretçi.

Dönüş Değeri

Standart hresult değeri.

Notlar

AtlGetObjectSourceInterfacesizinle birlikte arabirimin arabirim kimliği varsayılan kaynak, kitaplık kimliği ile birlikte ve ana ve ikincil sürüm numaraları bu arabirimi tanımlayan Tür kitaplığı sağlayabilir.

[!NOT]

Başarılı bir şekilde istenen bilgileri almak, bu işlev için nesnenin temsil ettiği punkObj uygulamalıdır IDispatch (ve dönüş türü bilgileri aracılığıyla IDispatch::GetTypeInfo) yanı sıra, aynı zamanda ya da uygulamak gerekir IProvideClassInfo2 veya IPersist.Tür bilgileri aynı tür kitaplığında kaynak arabirimin türü bilgilerini olmalıdır IDispatch.

Örnek

Aşağıdaki örnek bir olay havuzu sınıfı nasıl tanımlayabilir gösterir CEasySink, için bünyesinde şablon bağımsız değişken sayısı azalır IDispEventImpl için gerekli temel özelliklerin çalıştırıldığı.EasyAdviseve EasyUnadvise kullanmak AtlGetObjectSourceInterface başlatmak için IDispEventImpl arama önce üye DispEventAdvise veya DispEventUnadvise.

template <UINT nID, class T>
class CEasySink : public IDispEventImpl<nID, T>
{
public:
   HRESULT EasyAdvise(IUnknown* pUnk) 
   { 
      AtlGetObjectSourceInterface(pUnk,
         &m_libid, &m_iid, &m_wMajorVerNum, &m_wMinorVerNum);
      return DispEventAdvise(pUnk, &m_iid);
   }
   HRESULT EasyUnadvise(IUnknown* pUnk) 
   {
      AtlGetObjectSourceInterface(pUnk,
         &m_libid, &m_iid, &m_wMajorVerNum, &m_wMinorVerNum);
      return DispEventUnadvise(pUnk, &m_iid);
   }
};

Gereksinimler

Başlık: atlcom.h

Ayrıca bkz.

Başvuru

IDispEventImpl sınıfı

IDispEventSimpleImpl sınıfı

Diğer Kaynaklar

Bileşik denetim genel işlevler