FindFirstStreamTransactedW 函式 (winbase.h)

[Microsoft 強烈建議開發人員利用替代方法來達成應用程式的需求。 許多針對 TxF 開發的案例,都可以透過更簡單且更容易取得的技術來達成。 此外,未來版本的 Microsoft Windows 可能無法使用 TxF。 如需詳細資訊,以及 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 列舉類型中的其中一個值。

意義
FindStreamInfoStandard
0
數據會以 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 通訊協定 No
SMB 3.0 透明故障轉移 (TFO) No
具有向外延展檔案共用的SMB 3.0 (SO) No
叢集共用磁碟區文件系統 (CsvFS) No
彈性檔案系統 (ReFS) No
 

SMB 3.0 不支援 TxF。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 winbase.h (包含 Windows.h)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

檔案管理功能

FindClose

FindNextStreamW

STREAM_INFO_LEVELS

交易式 NTFS

WIN32_FIND_STREAM_DATA