IPersistFile::Load 方法 (objidl.h)

開啟指定的檔案,並從檔案連接初始化物件。

語法

HRESULT Load(
  [in] LPCOLESTR pszFileName,
  [in] DWORD     dwMode
);

參數

[in] pszFileName

要開啟之檔案的絕對路徑。

[in] dwMode

開啟檔案時要使用的存取模式。 可能的值取自 STGM 列舉。 方法可以將此值視為建議,視需要新增更嚴格的許可權。 如果 dwMode 為 0,則實作應該使用使用者開啟檔案時使用任何預設許可權來開啟檔案。

傳回值

這個方法可以傳回下列值。

傳回碼 描述
S_OK
已成功完成命令。
E_OUTOFMEMORY
因為記憶體不足,所以無法載入物件。
E_FAIL
由於記憶體不足以外的某些原因,無法載入物件。

備註

IPersistFile::Load 會從指定的檔案載入物件。 這個方法僅適用於初始化,而且不會向用戶顯示 物件。 這與使用者選取 [ 檔案開啟 ] 命令時所發生的情況不相等。

來電者的附註

檔案Monikers中的 BindToObject 方法會呼叫此方法,以在執行連結) 物件時,在moniker系結作業期間載入物件 (。 一般而言,應用程式不會直接呼叫此方法。

實作者的注意事項

因為開啟檔案所需的資訊會從一個應用程式到另一個應用程式而有所不同,所以實作這個方法的對象也必須開啟 pszFileName 參數所指定的檔案。 這與 IPersistStorage::LoadIPersistStream::Load 不同,在此呼叫端會開啟記憶體或數據流,然後將開啟的記憶體或數據流指標傳遞至載入的物件。

對於通常使用 OLE 複合檔案的應用程式,您的 IPersistFile::Load 實作可以直接呼叫 StgOpenStorage 函式,以在指定的檔案中開啟記憶體物件。 然後,您可以繼續進行一般初始化。 不使用記憶體物件的應用程式可以執行一般檔案開啟程式。

載入物件之後,您的實作應該會在執行中的對象數據表中註冊物件, (請參閱 IRunningObjectTable::Register) 。

規格需求

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

另請參閱

IPersistFile