shCreateStreamOnFileEx 函数 (shlwapi.h)
打开或创建文件,并检索要读取或写入该文件的流。
语法
LWSTDAPI SHCreateStreamOnFileEx(
[in] LPCWSTR pszFile,
[in] DWORD grfMode,
[in] DWORD dwAttributes,
[in] BOOL fCreate,
[in, optional] IStream *pstmTemplate,
[out] IStream **ppstm
);
参数
[in] pszFile
类型: LPCWSTR
指向以 null 结尾的字符串的指针,该字符串指定文件名。
[in] grfMode
类型:DWORD
用于指定文件访问模式以及如何创建和删除公开流的对象的一个或多个 STGM 值。
[in] dwAttributes
类型:DWORD
一个或多个标志值,用于在创建新文件时指定文件属性。 有关可能值的完整列表,请参阅 CreateFile 函数的 dwFlagsAndAttributes 参数。
[in] fCreate
类型: BOOL
一个 BOOL 值,可帮助与 grfMode 一起指定在创建流时应如何处理现有文件。 有关详细信息,请参阅“备注”。
[in, optional] pstmTemplate
类型: IStream*
保留。
[out] ppstm
类型: IStream**
接收与文件关联的流的 IStream 接口指针。
返回值
类型: HRESULT
如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
SHCreateStreamOnFileEx 函数扩展 STGM 标志的语义,并产生与调用 CreateFile 函数相同的效果。
grfMode 和 fCreate 参数协同工作,以指定函数相对于现有文件的行为方式。
grfMode | fCreate | 文件是否存在? | 行为 |
---|---|---|---|
STGM_CREATE | 忽略 | 是 | 重新创建文件。 |
STGM_CREATE | 忽略 | 否 | 此时将创建文件。 |
STGM_FAILIFTHERE | FALSE | 是 | 文件已打开。 |
STGM_FAILIFTHERE | FALSE | 否 | 调用失败。 |
STGM_FAILIFTHERE | TRUE | 是 | 调用失败。 |
STGM_FAILIFTHERE | TRUE | 否 | 此时将创建文件。 |
要求
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | shlwapi.h |
Library | Shlwapi.lib |
DLL | Shlwapi.dll (6.0 或更高版本) |