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 列挙型の値の 1 つです。
値 | 意味 |
---|---|
|
データは 、WIN32_FIND_STREAM_DATA 構造体で返されます。 |
[out] lpFindStreamData
ファイル データを受け取るバッファーへのポインター。 このデータの形式は 、InfoLevel パラメーターの値によって異なります。
dwFlags
将来利用するために予約されています。 このパラメーターは 0 である必要があります。
[in] hTransaction
トランザクションのハンドル。 このハンドルは、 CreateTransaction 関数によって返されます。
戻り値
関数が成功した場合、戻り値は FindNextStreamW 関数の後続の呼び出しで使用できる検索ハンドルです。
失敗した場合の戻り値は、INVALID_HANDLE_VALUE です。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
すべてのファイルに既定のデータ ストリームが含まれています。 NTFS では、ファイルに 1 つ以上の名前付きデータ ストリームを含めることもできます。 FAT ファイル システムでは、ファイルに既定のデータ ストリームを含めることはできません。そのため、FAT ファイルシステム ファイルで使用した場合、この関数は有効な結果を返しません。 この関数は、ハード リンクをサポートするすべてのファイル システムで機能します。それ以外の場合、関数は ERROR_STATUS_NOT_IMPLEMENTED (6805) を返します。
FindFirstStreamTransactedW 関数は、検索ハンドルを開き、指定したファイルまたはディレクトリ内の最初のストリームに関する情報を返します。 ファイルの場合、これは常に既定のデータ ストリームである ::$DATAです。 検索ハンドルが確立されたら、 FindNextStreamW 関数でそれを使用して、指定したファイルまたはディレクトリ内の他のストリームを検索します。 検索ハンドルが不要になったら、 FindClose 関数を使用して閉じる必要があります。
Windows 8 と Windows Server 2012 では、この関数は、次のテクノロジによってサポートされています。
テクノロジ | サポートされています |
---|---|
サーバー メッセージ ブロック (SMB) 3.0 プロトコル | いいえ |
SMB 3.0 Transparent Failover (TFO) | いいえ |
スケールアウト ファイル共有 (SO) を使う SMB 3.0 | いいえ |
クラスターの共有ボリューム ファイル システム (CsvFS) | いいえ |
Resilient File System (ReFS) | いいえ |
SMB 3.0 は TxF をサポートしていません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winbase.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |