FSCTL_WRITE_USN_CLOSE_RECORD IOCTL (winioctl.h)
入力ファイルの更新シーケンス番号 (USN) 変更ジャーナル ストリームにレコードを生成します。 このレコードには、USN_REASON_CLOSE フラグが設定されます。
この操作を実行するには、次のパラメーターを使用して DeviceIoControl 関数を呼び出します。
C++ |
---|
BOOL WINAPI DeviceIoControl( (HANDLE) hDevice, // handle to volume FSCTL_WRITE_USN_CLOSE_RECORD, // dwIoControlCodeNULL, // lpInBuffer0, // nInBufferSize(LPVOID) lpOutBuffer, // output buffer (DWORD) nOutBufferSize, // size of output buffer (LPDWORD) lpBytesReturned, // number of bytes returned (LPOVERLAPPED) lpOverlapped ); // OVERLAPPED structure |
備考
この操作での重複 I/O の影響については、DeviceIoControlの「解説」セクション
FSCTL_WRITE_USN_CLOSE_RECORD を使用して、入力ハンドルの変更履歴にクローズ レコードを強制的に取り込むことができます。 クローズ レコードには、このファイルの現在の USN の理由も含まれます。 出力バッファーは、この操作に関連付けられている USN 値を返します。
詳細については、「変更履歴の作成、変更、および削除の
ボリュームへのハンドルを取得するには、
\\.\X:
上記の文字列では、X は、ボリュームが表示されるドライブを識別する文字です。 ボリュームは NTFS 3.0 以降である必要があります。 ボリュームの NTFS バージョンを取得するには、管理者アクセス権を持つコマンド プロンプトを開き、次のコマンドを実行します。
fsutil fsinfo ntfsinfo X:
ここで、X はボリュームのドライブ文字です。
Windows 8 および Windows Server 2012 では、このコードは次のテクノロジでサポートされています。
テクノロジー | サポート |
---|---|
サーバー メッセージ ブロック (SMB) 3.0 プロトコル | いいえ |
SMB 3.0 透過的フェールオーバー (TFO) | いいえ |
SMB 3.0 とスケールアウト ファイル共有 (SO) | いいえ |
クラスター共有ボリューム ファイル システム (CsvFS) | はい |
トランザクション操作の
トランザクションによってロックされているハンドルを使用して FSCTL_WRITE_USN_CLOSE_RECORD が呼び出されると、常に失敗します。必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ヘッダー | winioctl.h (Windows.h を含む) |
関連項目
CreateFile の
DeviceIoControl の
重複する を
ボリューム管理コントロール コード を