FSCTL_CREATE_USN_JOURNAL IOCTL (winioctl.h)

ターゲット ボリューム上に更新シーケンス番号 (USN) 変更ジャーナル ストリームを作成するか、既存の変更ジャーナル ストリームを変更します。

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

注釈

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

FSCTL_CREATE_USN_JOURNALを使用して、ボリュームの新しい変更ジャーナル ストリームを作成できます。 ストリームの作成後、NTFS ファイル システムはそのボリュームの変更ジャーナルを保持します。

FSCTL_CREATE_USN_JOURNALを使用して、既存の変更ジャーナル ストリームを変更することもできます。 変更ジャーナル・ストリームが既に存在する場合は、 FSCTL_CREATE_USN_JOURNALCREATE_USN_JOURNAL_DATA構造に 指定された特性に設定されます。 変更ジャーナル ストリームは、最終的に大きくなるか、 CREATE_USN_JOURNAL_DATA が課す新しいサイズ制限にトリミングされます。

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

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

\.\X:

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

fsutil fsinfo ntfsinfo X:

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

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 を含む)

こちらもご覧ください

CREATE_USN_JOURNAL_DATA

変更ジャーナル

CreateFile

DeviceIoControl

OVERLAPPED

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