IPersistFile::GetCurFile 方法 (objidl.h)
擷取與 對象相關聯的檔案目前名稱。 如果沒有目前的工作檔案,這個方法會擷取對象的默認儲存提示。
語法
HRESULT GetCurFile(
[out] LPOLESTR *ppszFileName
);
參數
[out] ppszFileName
目前檔案的路徑或預設檔名提示 (,例如 *.txt) 。 如果發生錯誤, ppszFileName 會設定為 NULL。
傳回值
這個方法可以傳回下列值。
傳回碼 | 描述 |
---|---|
|
已成功傳回有效的絕對路徑。 |
|
默認儲存提示已傳回。 |
|
作業因為記憶體不足而失敗。 |
|
作業因記憶體不足以外的一些原因而失敗。 |
備註
這個方法會使用 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 |