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 方法。 应用程序不会调用此方法,除非它们也调用此接口的保存方法。

在保存对象时,可以在调用 IPersistFile::Save 之前调用此方法,以确定对象是否具有关联的文件。 如果此方法返回S_OK,则可以使用 fRemember 参数的 NULL 文件名和 TRUE 值调用 IPersistFile::Save,以告知对象将自身保存到其当前文件。 如果此方法返回S_FALSE,则可以使用 ppszFileName 参数中返回的保存提示要求最终用户提供文件名。 然后,可以使用用户为执行“另存为”操作输入的文件名调用 IPersistFile::Save

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 objidl.h

另请参阅

IPersistFile