다음을 통해 공유


AtlGetObjectSourceInterface

개체의 기본 소스 인터페이스에 대 한 정보를 검색 하려면이 함수를 호출 합니다.

중요중요

이 함수를 실행 하는 응용 프로그램에서 사용할 수 있는 Windows 런타임.

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

매개 변수

  • punkObj
    [in] 정보가 반환 되는 개체 포인터입니다.

  • plibid
    [out] LIBID 소스 인터페이스 정의를 포함 하는 형식 라이브러리에 대 한 포인터입니다.

  • piid
    [out] 개체의 기본 소스 인터페이스의 인터페이스 ID에 대 한 포인터입니다.

  • pdwMajor
    [out] 소스 인터페이스 정의를 포함 하는 형식 라이브러리의 주 버전 번호에 대 한 포인터입니다.

  • pdwMinor
    [out] 소스 인터페이스 정의를 포함 하는 형식 라이브러리의 부 버전 번호에 대 한 포인터입니다.

반환 값

표준 HRESULT 값입니다.

설명

AtlGetObjectSourceInterface기본 소스 인터페이스의 LIBID 함께 주 인터페이스 id와 해당 인터페이스를 설명 하는 형식 라이브러리의 부 버전 번호를 제공할 수 있습니다.

[!참고]

개체가 성공적으로 요청한 정보를 검색 하려면이 함수를 표시 하 여 punkObj 구현 해야 IDispatch (형식 정보를 반환 하 고 IDispatch::GetTypeInfo)와 하나 구현 해야 IProvideClassInfo2 또는 IPersist.같은 형식 정보를 형식 라이브러리에서 소스 인터페이스에 대 한 형식 정보 여야 합니다 IDispatch.

예제

아래 예제 이벤트 싱크 클래스를 정의 하는 것을 보여 줍니다. CEasySink, 전달할 수 있습니다 템플릿 인수의 개수를 줄입니다 IDispEventImpl 완전 기초 합니다.EasyAdvise및 EasyUnadvise 사용 AtlGetObjectSourceInterface 를 초기화 하는 IDispEventImpl 멤버를 호출 하기 전에 DispEventAdvise 또는 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);
   }
};

요구 사항

헤더: atlcom.h

참고 항목

참조

IDispEventImpl 클래스

IDispEventSimpleImpl 클래스

기타 리소스

전역 함수 합성 컨트롤