FSCTL_USN_TRACK_MODIFIED_RANGES IOCTL (winioctl.h)

ターゲット ボリュームの更新シーケンス番号 (USN) 変更ジャーナル ストリームの範囲追跡機能を有効にするか、既に有効になっている範囲追跡パラメーターを変更します。

BOOL DeviceIoControl(
  (HANDLE) hDevice,                 // handle to volume
  FSCTL_USN_TRACK_MODIFIED_RANGES,  // dwIoControlCode
  (LPDWORD) lpInBuffer,             // input buffer
  (DWORD) nInBufferSize,            // size of input buffer
  (LPDWORD) lpOutBuffer,            // lpOutbuffer
  (DWORD) nOutBufferSize,           // size of output buffer
  (LPDWORD) lpBytesReturned,        // number of bytes returned
  (LPOVERLAPPED) lpOverlapped       // OVERLAPPED structure
);

注釈

この操作に対する重複した I/O の影響については、 DeviceIoControl トピックの「解説」セクションを参照してください。

FSCTL_USN_TRACK_MODIFIED_RANGESを使用して、ボリュームの範囲追跡を初めて有効にすることができます。 範囲追跡を有効にすると、そのボリュームの状態とパラメーターが永続化され、次回の再起動時に、永続化されたパラメーターから読み取られた範囲追跡が初期化されます。

FSCTL_USN_TRACK_MODIFIED_RANGESを使用して、既存の変更ジャーナル ストリーム範囲トラック パラメーターを変更することもできます。 範囲追跡が既に存在する場合は、 FSCTL_USN_TRACK_MODIFIED_RANGESUSN_TRACK_MODIFIED_RANGES構造体で 指定されたパラメーターに設定されます。 チャンク サイズまたはファイル サイズのしきい値は、前の値からのみ下げることができます。 有効にすると、履歴が削除されない限り、範囲追跡機能を無効にすることはできません。

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

\\。\X:

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

fsutil fsinfo ntfsinfoX:

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

要件

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

こちらもご覧ください