다음을 통해 공유


IOleDocumentView::SetInPlaceSite 메서드(docobj.h)

컨테이너의 문서 보기 사이트를 문서의 뷰 개체와 연결합니다.

구문

HRESULT SetInPlaceSite(
  [in] IOleInPlaceSite *pIPSite
);

매개 변수

[in] pIPSite

문서 보기 사이트의 IOleInPlaceSite 인터페이스에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다. 이 경우 문서 뷰 개체는 컨테이너와 함께 모든 asociation을 잃게 됩니다.

반환 값

이 메서드는 문서 보기 사이트가 문서 보기 개체와 성공적으로 연결되었거나 pIPSiteNULL인 경우 연결이 해제된 경우 S_OK 반환합니다. 다른 가능한 반환 값은 다음과 같습니다.

반환 코드 설명
E_FAIL
작업이 실패했습니다.

설명

문서 개체 활성화의 일환으로 컨테이너는 IOleInPlaceSite 컨테이너 구현에 대한 포인터를 개체에 전달해야 합니다. 이 포인터는 이 메서드가 호출되는 뷰와 연결할 문서 보기 사이트를 지정합니다.

컨테이너는 일반적으로 문서의 활성화 요청에 대한 응답으로 이 포인터를 전달합니다. 문서에서는 IOleDocumentSite::ActivateMe 를 호출하고 컨테이너에 활성화할 뷰에 대한 포인터를 전달하여 이러한 요청을 수행합니다. 컨테이너는 이 포인터를 사용하여 IOleDocumentView::SetInPlaceSite를 호출합니다.

발신자에게 참고 사항

컨테이너가 문서 개체의 로드된 instance 활성화하는 것이 아니라 문서 개체의 새 instance 만들고 활성화할 것을 요청하는 경우 보기 사이트는 IOleDocument::CreateViewpIPSite 인수에 전달됩니다. 따라서 IOleDocumentView::SetInPlaceSite 에 대한 명시적 호출은 필요하지 않습니다.

구현자에 대한 참고 사항

보기 사이트와 이미 연결된 보기에서 이 메서드를 호출하는 경우 뷰는 새 사이트에서 자체 활성화를 준비하기 위해 일부 하우스키핑을 수행해야 합니다. 먼저 보기는 현재 사이트에서 자신을 비활성화하고 해당 사이트에 대한 포인터를 해제해야 합니다. 다음으로, 새 IOleInPlaceSite 포인터가 NULL이 아닌 경우 뷰는 포인터를 저장하고 해당 포인터에서 IUnknown::AddRef 를 호출해야 합니다. 그런 다음, 뷰는 컨테이너가 새 보기 사이트에서 활성화할 시기를 알려줄 때까지 기다려야 합니다.

문서 보기는 이 메서드를 완전히 구현해야 합니다. E_NOTIMPL 허용되는 반환 값이 아닙니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 docobj.h

추가 정보

IOleDocumentView

IOleDocumentView::SetInPlaceSite