IOleDocumentView::SetInPlaceSite 메서드(docobj.h)
컨테이너의 문서 보기 사이트를 문서의 뷰 개체와 연결합니다.
구문
HRESULT SetInPlaceSite(
[in] IOleInPlaceSite *pIPSite
);
매개 변수
[in] pIPSite
문서 보기 사이트의 IOleInPlaceSite 인터페이스에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다. 이 경우 문서 뷰 개체는 컨테이너와 함께 모든 asociation을 잃게 됩니다.
반환 값
이 메서드는 문서 보기 사이트가 문서 보기 개체와 성공적으로 연결되었거나 pIPSite 가 NULL인 경우 연결이 해제된 경우 S_OK 반환합니다. 다른 가능한 반환 값은 다음과 같습니다.
반환 코드 | 설명 |
---|---|
|
작업이 실패했습니다. |
설명
문서 개체 활성화의 일환으로 컨테이너는 IOleInPlaceSite 컨테이너 구현에 대한 포인터를 개체에 전달해야 합니다. 이 포인터는 이 메서드가 호출되는 뷰와 연결할 문서 보기 사이트를 지정합니다.
컨테이너는 일반적으로 문서의 활성화 요청에 대한 응답으로 이 포인터를 전달합니다. 문서에서는 IOleDocumentSite::ActivateMe 를 호출하고 컨테이너에 활성화할 뷰에 대한 포인터를 전달하여 이러한 요청을 수행합니다. 컨테이너는 이 포인터를 사용하여 IOleDocumentView::SetInPlaceSite를 호출합니다.
발신자에게 참고 사항
컨테이너가 문서 개체의 로드된 instance 활성화하는 것이 아니라 문서 개체의 새 instance 만들고 활성화할 것을 요청하는 경우 보기 사이트는 IOleDocument::CreateView의 pIPSite 인수에 전달됩니다. 따라서 IOleDocumentView::SetInPlaceSite 에 대한 명시적 호출은 필요하지 않습니다.구현자에 대한 참고 사항
보기 사이트와 이미 연결된 보기에서 이 메서드를 호출하는 경우 뷰는 새 사이트에서 자체 활성화를 준비하기 위해 일부 하우스키핑을 수행해야 합니다. 먼저 보기는 현재 사이트에서 자신을 비활성화하고 해당 사이트에 대한 포인터를 해제해야 합니다. 다음으로, 새 IOleInPlaceSite 포인터가 NULL이 아닌 경우 뷰는 포인터를 저장하고 해당 포인터에서 IUnknown::AddRef 를 호출해야 합니다. 그런 다음, 뷰는 컨테이너가 새 보기 사이트에서 활성화할 시기를 알려줄 때까지 기다려야 합니다.문서 보기는 이 메서드를 완전히 구현해야 합니다. E_NOTIMPL 허용되는 반환 값이 아닙니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | docobj.h |