IOleObject::Close 方法 (oleidl.h)

將內嵌物件從執行變更為載入狀態。 中斷連結物件與其連結來源的連接。

語法

HRESULT Close(
  [in] DWORD dwSaveOption
);

參數

[in] dwSaveOption

指出物件是否要儲存為轉換至載入狀態的一部分。 有效值取自列舉 OLECLOSE

注意 OLE 2 使用者模型建議物件應用程式不會在儲存連結或內嵌物件之前提示使用者,包括就地啟動的物件。 此原則代表 OLE 1 使用者模型的變更,其中物件應用程式一律會提示用戶決定是否要儲存變更。
 

傳回值

此方法會在成功時傳回S_OK。 其他可能的傳回值包括下列專案。

傳回碼 Description
OLE_E_PROMPTSAVECANCELLED
系統提示使用者儲存,但從提示消息框中選擇 [ 取消] 按鈕。

備註

來電者附註

當容器應用程式想要將對象從執行中移至載入狀態時,會呼叫 IOleObject::Close 。 在這類呼叫之後,物件仍會顯示在其容器中,但尚未開啟以供編輯。 在載入但未執行的物件上呼叫 IOleObject::Close 沒有任何作用。 關閉連結的物件只是表示中斷連接。

實作者的注意事項

收到 對 IOleObject::Close 的呼叫時,執行中的 對象應該執行下列動作: 如果物件應用程式是執行中的本地伺服器, (EXE 而非 DLL) ,除非後者支援其他執行中物件,或有另一個理由維持在執行中狀態,否則關閉物件也應該關閉物件應用程式。 這類原因可能包括 IClassFactory::LockServer 鎖定、應用程式的終端使用者控制,或需要存取應用程式的其他開啟檔存在。

在連結的物件上呼叫 IOleObject::Close 會中斷連線,但不會關閉其來源應用程式。 關閉物件時,使用者可以看到的來源應用程式,會在中斷連線后保持可見且執行中,且不會將 IAdviseSink::OnClose 通知傳送至連結容器。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 oleidl.h

另請參閱

CoDisconnectObject

IAdviseSink::OnClose

IClassFactory::LockServer

IDataObject::D Advise

IOleClientSite::OnShowWindow

IOleClientSite::SaveObject

IOleObject

OLECLOSE

OleFlushClipboard