FSCTL_READ_FILE_USN_DATA IOCTL (winioctl.h)

指定したファイルまたはディレクトリの更新シーケンス番号 (USN) 変更ジャーナル情報を取得します。

この操作を実行するには、次のパラメーターを使用して DeviceIoControl 関数を呼び出します。

C++
BOOL 
WINAPI 
DeviceIoControl( (HANDLE)       hDevice,         // handle to device
                 (DWORD) FSCTL_READ_FILE_USN_DATA, // dwIoControlCode(LPVOID)       lpInBuffer,      // input buffer
                 (DWORD)        nInBufferSize,   // size of input buffer
                 (LPVOID)       lpOutBuffer,     // output buffer
                 (DWORD)        nOutBufferSize,  // size of output buffer
                 (LPDWORD)      lpBytesReturned, // number of bytes returned
                 (LPOVERLAPPED) lpOverlapped );  // OVERLAPPED structure

注釈

呼び出しが成功した場合、返された USN_RECORD_V2 または USN_RECORD_V3 構造体のメンバーは、 TimeStampReasonSourceInfo の各メンバーを除いて有効です。 Usn メンバーは、このファイルまたはディレクトリのジャーナルに最後に書き込まれた USN を表します。

詳細については、「変更ジャーナルの作成、変更、および削除」を参照してください。

ボリュームへのハンドルを取得するには、 lpFileName パラメーターを次の形式の文字列に設定して CreateFile を呼び出します。

\.\X:

前の文字列では、 X はボリュームが表示されるドライブを識別する文字です。 ボリュームは ReFS または NTFS 3.0 以降である必要があります。 ボリュームの NTFS バージョンを取得するには、管理者アクセス権限でコマンド プロンプトを開いて、次のコマンドを実行します。

FSUtil.exe FSInfo NTFSInfo X:

ここで X は、ボリュームのドライブ文字です。

Windows 8とWindows Server 2012では、このコードは次のテクノロジでサポートされています。

テクノロジ サポートされています
サーバー メッセージ ブロック (SMB) 3.0 プロトコル いいえ
SMB 3.0 Transparent Failover (TFO) いいえ
スケールアウト ファイル共有 (SO) を使う SMB 3.0 いいえ
クラスターの共有ボリューム ファイル システム (CsvFS) はい

必要条件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header winioctl.h (Windows.h を含む)

こちらもご覧ください

CreateFile

DeviceIoControl

USN_RECORD

ボリューム管理の制御コード