共用方式為


IPersistFile::GetCurFile 方法 (objidl.h)

擷取與 對象相關聯的檔案目前名稱。 如果沒有目前的工作檔案,這個方法會擷取對象的默認儲存提示。

語法

HRESULT GetCurFile(
  [out] LPOLESTR *ppszFileName
);

參數

[out] ppszFileName

目前檔案的路徑或預設檔名提示 (,例如 *.txt) 。 如果發生錯誤, ppszFileName 會設定為 NULL

傳回值

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

傳回碼 描述
S_OK
已成功傳回有效的絕對路徑。
S_FALSE
默認儲存提示已傳回。
E_OUTOFMEMORY
作業因為記憶體不足而失敗。
E_FAIL
作業因記憶體不足以外的一些原因而失敗。

備註

這個方法會使用 IMalloc::Alloc 方法,為 ppszFileName 參數中傳回的字串配置記憶體。 呼叫端負責呼叫 IMalloc::Free 方法來釋放字串。 呼叫端和這個方法都會使用 呼叫 CoGetMalloc 所提供的 OLE 工作配置器。

ppszFileName 中傳回的檔名是在載入檔時呼叫 IPersistFile::Load 中指定的名稱;或在 IPersistFile::SaveCompleted 中,如果文件儲存至不同的檔案。

如果對象沒有目前的工作檔案,它應該會提供預設提示,指出它會顯示在 [ 另存新 檔] 對話框中。 例如,文字處理器對象的預設儲存提示可能是

“*.txt”。

來電者的附註

OLE 不會呼叫 GetCurFile 方法。 除非應用程式也會呼叫這個介面的save方法,否則不會呼叫此方法。

在儲存物件時,您可以在呼叫 IPersistFile::Save 之前呼叫此方法,以判斷物件是否有相關聯的檔案。 如果這個方法傳回S_OK,您可以接著使用 NULL 檔名呼叫 IPersistFile::Save,並使用 fRemember 參數的 TRUE 值來告訴物件將本身儲存到目前的檔案。 如果此方法傳回S_FALSE,您可以使用 ppszFileName 參數中傳回的儲存提示來要求終端使用者提供檔名。 然後,您可以使用使用者輸入的檔名呼叫 IPersistFile::Save 來執行 存新檔作業。

規格需求

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

另請參閱

IPersistFile