DELETE_USN_JOURNAL_DATA 構造体 (winioctl.h)

FSCTL_DELETE_USN_JOURNAL 制御コードを使用した更新シーケンス番号 (USN) 変更ジャーナルの削除に関する情報を格納します。

構文

typedef struct {
  DWORDLONG UsnJournalID;
  DWORD     DeleteFlags;
} DELETE_USN_JOURNAL_DATA, *PDELETE_USN_JOURNAL_DATA;

メンバー

UsnJournalID

削除する変更ジャーナルの ID。

ジャーナルがアクティブで、 DeleteFlags メンバーにUSN_DELETE_FLAG_DELETEフラグを設定して削除が要求された場合、この ID は現行ボリュームの変更ジャーナルを指定する必要があります。 FSCTL_QUERY_USN_JOURNALを使用して、この変更ジャーナルの ID を取得します。 この場合、ID が現行ボリュームの変更ジャーナル用でない場合、 FSCTL_DELETE_USN_JOURNAL は失敗します。

DeleteFlags でUSN_DELETE_FLAG_NOTIFY フラグのみを設定して削除の代わりに通知を要求した場合、UsnJournalID は無視されます。

DeleteFlags

削除または削除に関する通知を実行するか、またはその両方を実行するかを示します。 DeleteFlags メンバーには、次の値のいずれかまたは両方を含める必要があります。

意味
USN_DELETE_FLAG_DELETE
0x00000001
このフラグが設定され、USN_DELETE_FLAG_NOTIFY フラグが設定されていない場合、 FSCTL_DELETE_USN_JOURNAL 操作はジャーナル削除プロセスを開始し、直ちに戻ります。 必要に応じて、システムの再起動を通じてジャーナル削除プロセスが続行されます。

このフラグが設定され、USN_DELETE_FLAG_NOTIFY フラグも設定されている場合は、削除と通知の両方が行われます。 このフラグが設定されていてジャーナルがアクティブな場合は、 UsnJournalID 内の現在のボリュームの変更ジャーナルの ID を指定する必要があります。または操作が失敗します。 ジャーナルがアクティブでない場合、 UsnJournalID は無視され、ジャーナルは削除されます。

USN_DELETE_FLAG_NOTIFY
0x00000002
このフラグが設定されている場合、呼び出しによって、削除が完了したときの通知が設定されます。 ジャーナル削除要求は、ジャーナル削除プロセスが完了すると完了します。 このフラグが設定され、USN_DELETE_FLAG_DELETE フラグが設定されていない場合、呼び出しによって、既に進行中である可能性がある削除の通知が設定されます。 たとえば、アプリケーションの起動時に、このフラグを使用して削除が進行中かどうかを判断できます。

このフラグが設定され、USN_DELETE_FLAG_DELETE フラグも設定されている場合は、削除と通知の両方が行われます。 通知は、I/O 完了ポートまたは非同期イベント通知用の別のメカニズムを使用して実行されます。

注釈

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

要件

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

こちらもご覧ください

FSCTL_DELETE_USN_JOURNAL

FSCTL_QUERY_USN_JOURNAL