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 方法。 应用程序不会调用此方法,除非它们也调用此接口的保存方法。在保存对象时,可以在调用 IPersistFile::Save 之前调用此方法,以确定对象是否具有关联的文件。 如果此方法返回S_OK,则可以使用 fRemember 参数的 NULL 文件名和 TRUE 值调用 IPersistFile::Save,以告知对象将自身保存到其当前文件。 如果此方法返回S_FALSE,则可以使用 ppszFileName 参数中返回的保存提示要求最终用户提供文件名。 然后,可以使用用户为执行“另存为”操作输入的文件名调用 IPersistFile::Save。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | objidl.h |