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 函数相同的效果。

grfModefCreate 参数协同工作,以指定函数相对于现有文件的行为方式。

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 或更高版本)