次の方法で共有


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 バージョンを取得するには、管理者アクセス権を持つコマンド プロンプトを開き、次のコマンドを実行します ( X はボリュームのドライブ文字です)。 fsutil fsinfo ntfsinfo X:

Irp->IoStatus.Status は、要求が成功した場合にSTATUS_SUCCESSに設定されます。 それ以外の場合、状態は NTSTATUS コードとして適切なエラー条件に設定されます。 詳細については、「 NTSTATUS 値」を参照してください。

必要条件

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

関連項目