Sdílet prostřednictvím


AtlGetObjectSourceInterface

Volání této funkce můžete získat informace o výchozí rozhraní zdrojového objektu.

Důležitá poznámkaDůležité

Tuto funkci nelze použít v aplikacích, které v .

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

Parametry

  • punkObj
    [v] Ukazatel na objekt, pro který je informace vrácena.

  • plibid
    [výstup] Ukazatel na ID KNIHOVNY obsahující definici zdrojové rozhraní knihovny typů.

  • piid
    [výstup] Ukazatel na Identifikátoru objektu výchozí zdroj rozhraní.

  • pdwMajor
    [výstup] Ukazatel na hlavní číslo verze knihovny typů obsahující definici rozhraní zdroje.

  • pdwMinor
    [výstup] Ukazatel na číslo dílčí verze knihovny typů obsahující definici rozhraní zdroje.

Vrácená hodnota

Standardní hodnota HRESULT.

Poznámky

AtlGetObjectSourceInterfacemůžete poskytnout s ID rozhraní výchozí rozhraní zdroje s ID KNIHOVNY a hlavní a dílčí verze čísla popisující rozhraní knihovny typů.

[!POZNÁMKA]

Tato funkce úspěšně načíst požadované informace objekt představovaný punkObj musí implementovat IDispatch (a vrátit typ informací prostřednictvím IDispatch::GetTypeInfo) plus je buď musí implementovat IProvideClassInfo2 nebo IPersist .Informace o zdrojové rozhraní typu musí být ve stejné knihovně typ jako informace o typu IDispatch .

Příklad

Následující příklad ukazuje, jak může definovat třídy jímky událostí, CEasySink , který snižuje počet argumentů šablony, které lze předat IDispEventImpl k úplné základy.EasyAdvisea EasyUnadvise pomocí AtlGetObjectSourceInterface inicializace IDispEventImpl členů před voláním DispEventAdvise nebo 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);
   }
};

Požadavky

Záhlaví: atlcom.h

Viz také

Referenční dokumentace

Třída IDispEventImpl

Třída IDispEventSimpleImpl

Další zdroje

Složený ovládací globální funkce