FindFirstStreamW 函式 (fileapi.h)

列舉指定檔案或目錄中具有 ::$DATA 資料流程類型的第一個資料流程。

若要以交易作業的形式執行此作業,請使用 FindFirstStreamTransactedW 函式。

語法

HANDLE FindFirstStreamW(
  [in]  LPCWSTR            lpFileName,
  [in]  STREAM_INFO_LEVELS InfoLevel,
  [out] LPVOID             lpFindStreamData,
        DWORD              dwFlags
);

參數

[in] lpFileName

完整檔案名。

[in] InfoLevel

傳回資料的資訊層級。 此參數是 STREAM_INFO_LEVELS 列舉類型中的其中一個值。

意義
FindStreamInfoStandard
0
資料會以 WIN32_FIND_STREAM_DATA 結構傳回。

[out] lpFindStreamData

接收檔案資料流程資料的緩衝區指標。 此資料的格式取決於 InfoLevel 參數的值。

dwFlags

保留供未來使用。 此參數必須是零。

傳回值

如果函式成功,傳回值就是搜尋控制碼,可用於 後續對 FindNextStreamW 函式的呼叫。

如果函式失敗,傳回值會 INVALID_HANDLE_VALUE。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

如果找不到任何資料流程,則函式會失敗,而且 GetLastError 會傳回 ERROR_HANDLE_EOF (38) 。

如果檔案系統不支援資料流程,函式會失敗,而且 GetLastError 會傳回 ERROR_INVALID_PARAMETER (87) 。

備註

FindFirstStreamW函式會開啟搜尋控制碼,並傳回指定檔案或目錄中第一個$DATA資料流程的相關資訊。 對於檔案,這一律是預設、未命名的資料流程 「::$DATA」。 目錄預設沒有$DATA資料流程,而且不能有未命名的資料流程,但在建立之後可能會設定具名資料流程。 建立搜尋控制碼之後,請在 呼叫 FindNextStreamW 函式時使用它來搜尋指定檔案或目錄中的其他資料流程。 不再需要搜尋控制碼時,應該使用 FindClose 函式加以關閉。

在 Windows 8 和 Windows Server 2012 中,下列技術支援此函式。

技術 支援
伺服器訊息區 (SMB) 3.0 通訊協定
SMB 3.0 透明容錯移轉 (TFO)
具有向外延展檔案共用的 SMB 3.0 (SO)
叢集共用磁片區檔案系統 (CsvFS)
彈性檔案系統 (ReFS)
 

SMB 3.0 支援小於或等於 64K 的資料流程清單。

需求

   
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 fileapi.h (包括 Windows.h、WinBase.h)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

檔案管理功能

FindClose

FindFirstStreamTransactedW

FindNextStreamW

STREAM_INFO_LEVELS

WIN32_FIND_STREAM_DATA