FindFirstStreamTransactedW 函数 (winbase.h)
[Microsoft 强烈建议开发人员利用替代方法来实现应用程序的需求。 TxF 致力于实现的许多方案都可以通过更简单、更易用的技术来实现。 此外,TxF 在 Microsoft Windows 的将来版本中可能不可用。 有关详细信息,以及 TxF 的替代方法,请参阅事务性 NTFS 的替代方法。]
以事务处理操作的形式枚举指定文件或目录中的第一个流。
语法
HANDLE FindFirstStreamTransactedW(
[in] LPCWSTR lpFileName,
[in] STREAM_INFO_LEVELS InfoLevel,
[out] LPVOID lpFindStreamData,
DWORD dwFlags,
[in] HANDLE hTransaction
);
参数
[in] lpFileName
完全限定的文件名。
文件必须驻留在本地计算机上;否则,函数将失败,并将最后一个错误代码设置为 ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE (6805) 。
[in] InfoLevel
返回的数据的信息级别。 此参数是 STREAM_INFO_LEVELS 枚举类型中的值之一。
值 | 含义 |
---|---|
|
数据以 WIN32_FIND_STREAM_DATA 结构返回。 |
[out] lpFindStreamData
指向接收文件数据的缓冲区的指针。 此数据的格式取决于 InfoLevel 参数的值。
dwFlags
保留供将来使用。 此参数必须为零。
[in] hTransaction
事务的句柄。 此句柄由 CreateTransaction 函数返回。
返回值
如果函数成功,则返回值为搜索句柄,可用于 对 FindNextStreamW 函数的后续调用。
如果函数失败,则返回值为 INVALID_HANDLE_VALUE。 要获得更多的错误信息,请调用 GetLastError。
注解
所有文件都包含默认数据流。 在 NTFS 上,文件还可以包含一个或多个命名数据流。 在 FAT 文件系统上,文件的数据流不能超过默认数据流,因此,在 FAT 文件系统文件上使用时,此函数不会返回有效结果。 此函数适用于支持硬链接的所有文件系统;否则,函数将返回 ERROR_STATUS_NOT_IMPLEMENTED (6805) 。
FindFirstStreamTransactedW 函数打开搜索句柄,并返回有关指定文件或目录中第一个流的信息。 对于文件,这始终是默认数据流::$DATA。 建立搜索句柄后,在 FindNextStreamW 函数中使用它来搜索指定文件或目录中的其他流。 当不再需要搜索句柄时,应使用 FindClose 函数将其关闭。
在 Windows 8 和 Windows Server 2012 中,此函数由以下技术支持。
技术 | 支持 |
---|---|
服务器消息块 (SMB) 3.0 协议 | 否 |
SMB 3.0 透明故障转移 (TFO) | 否 |
具有横向扩展文件共享的 SMB 3.0 (SO) | 否 |
群集共享卷文件系统 (CSV) | 否 |
弹性文件系统 (ReFS) | 否 |
SMB 3.0 不支持 TxF。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | winbase.h (包括 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |