다음을 통해 공유


IObjectWithSiteImpl 클래스

이 클래스는 개체가 해당 사이트와 통신할 수 있도록 하는 메서드를 제공합니다.

구문

template <class T>
    class ATL_NO_VTABLE IObjectWithSiteImpl :
    public IObjectWithSite

매개 변수

T
에서 파생된 IObjectWithSiteImpl클래스입니다.

멤버

공용 메서드

이름 설명
IObjectWithSiteImpl::GetSite 사이트에 인터페이스 포인터를 쿼리합니다.
IObjectWithSiteImpl::SetChildSite 개체에 사이트의 IUnknown 포인터를 제공합니다.
IObjectWithSiteImpl::SetSite 개체에 사이트의 IUnknown 포인터를 제공합니다.

공용 데이터 멤버

속성 설명
IObjectWithSiteImpl::m_spUnkSite 사이트의 IUnknown 포인터를 관리합니다.

설명

IObjectWithSite 인터페이스를 사용하면 개체가 해당 사이트와 통신할 수 있습니다. 클래스 IObjectWithSiteImpl 는 이 인터페이스의 기본 구현을 IUnknown 제공하고 디버그 빌드의 덤프 디바이스에 정보를 전송하여 구현합니다.

IObjectWithSiteImpl 는 두 가지 메서드를 지정합니다. 클라이언트는 먼저 사이트의 IUnknown 포인터를 전달하여 호출SetSite합니다. 이 포인터는 개체 내에 저장되며 나중에 호출 GetSite을 통해 검색할 수 있습니다.

일반적으로 컨트롤이 아닌 개체를 만들 때 클래스 IObjectWithSiteImpl 를 파생합니다. 컨트롤의 경우 사이트 포인터를 제공하는 IOleObjectImpl에서 클래스를 파생합니다. 둘 다 IObjectWithSiteImpl 에서 클래스를 파생하지 마세요.IOleObjectImpl

상속 계층 구조

IObjectWithSite

IObjectWithSiteImpl

요구 사항

헤더: atlcom.h

IObjectWithSiteImpl::GetSite

사이트에서 식별된 인터페이스에 대한 포인터를 쿼리합니다 riid.

STDMETHOD(GetSite)(
    REFIID riid,
    void** ppvSite);

설명

사이트에서 이 인터페이스를 지원하는 경우 포인터는 .를 통해 ppvSite반환됩니다. 그렇지 않으면 ppvSite NULL로 설정됩니다.

Windows SDK에서 IObjectWithSite::GetSite를 참조하세요.

IObjectWithSiteImpl::m_spUnkSite

사이트의 IUnknown 포인터를 관리합니다.

CComPtr<IUnknown> m_spUnkSite;

설명

m_spUnkSite는 SetSite에 대한 호출을 통해 이 포인터를 처음에 받습니다.

IObjectWithSiteImpl::SetChildSite

개체에 사이트의 IUnknown 포인터를 제공합니다.

HRESULT SetChildSite(IUnknown* pUnkSite);

매개 변수

pUnkSite
[in] 이 개체를 IUnknown 관리하는 사이트의 인터페이스 포인터에 대한 포인터입니다. NULL이면 개체가 해당 사이트를 더 이상 알지 못하는 기존 사이트에서 개체를 호출 IUnknown::Release 해야 합니다.

Return Value

S_OK 반환합니다.

IObjectWithSiteImpl::SetSite

개체에 사이트의 IUnknown 포인터를 제공합니다.

STDMETHOD(SetSite)(IUnknown* pUnkSite);

설명

Windows SDK에서 IObjectWithSite::SetSite를 참조하세요.

참고 항목

클래스 개요