IOleDocumentView::SetInPlaceSite 方法 (docobj.h)
將容器的文件檢視網站與文件的檢視對象產生關聯。
語法
HRESULT SetInPlaceSite(
[in] IOleInPlaceSite *pIPSite
);
參數
[in] pIPSite
文件檢視網站的 IOleInPlaceSite 介面指標。 此參數可以是 NULL,在此情況下,文件檢視物件會遺失與容器的所有關聯。
傳回值
如果文件檢視網站成功 (關聯或與文件檢視物件) pIPSite 為 NULL ,此方法會傳回S_OK。 其他可能的傳回值包括下列專案。
傳回碼 | Description |
---|---|
|
作業失敗。 |
備註
在啟用檔對象過程中,容器必須將指標傳遞給容器的 IOleInPlaceSite 實作。 這個指標會指定要與呼叫這個方法之檢視相關聯的文件檢視網站。
容器通常會傳遞此指標,以回應要啟動的檔要求。 檔會呼叫 IOleDocumentSite::ActivateMe ,並將指標傳遞給要啟動的檢視,以提出這類要求。 容器接著會使用此指標來呼叫 IOleDocumentView::SetInPlaceSite。
來電者附註
如果容器要求建立和啟用文件物件的新實例,而不只是啟用載入的文件物件實例,則檢視網站會傳入 IOleDocument::CreateView 的 pIPSite 自變數中。 因此,不需要明確呼叫 IOleDocumentView::SetInPlaceSite 。實作者的注意事項
如果在已經與檢視網站相關聯的檢視上呼叫這個方法,則檢視必須進行一些考慮,以準備在新網站中啟用本身。 首先,檢視必須停用目前網站中的本身,並釋放其指向該網站的指標。 接下來,如果新的 IOleInPlaceSite 指標不是 NULL,檢視應該同時儲存指標並呼叫 IUnknown::AddRef 。 然後,檢視應該等候容器在新的檢視網站中啟動自己的時機。文件檢視必須完全實作這個方法;E_NOTIMPL不是可接受的傳回值。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | docobj.h |