指定したファイルまたはディレクトリ、およびその更新シーケンス番号 (USN) 変更履歴レコードに変更に関するデータをマークするために使用される情報が含まれます。 これは 64 ビット コードに対してのみ定義され、32 ビット コードによって送信 MARK_HANDLE_INFO構造体 を解釈するために存在します。 これは、 FSCTL_MARK_HANDLE IOCTL 制御コードによって使用されます。
構文
typedef struct _MARK_HANDLE_INFO32 {
union {
DWORD UsnSourceInfo;
DWORD CopyNumber;
} DUMMYUNIONNAME;
DWORD UsnSourceInfo;
UINT32 VolumeHandle;
DWORD HandleInfo;
} MARK_HANDLE_INFO32, *PMARK_HANDLE_INFO32;
メンバー
DUMMYUNIONNAME
DUMMYUNIONNAME.UsnSourceInfo
DUMMYUNIONNAME.CopyNumber
UsnSourceInfo
行われる変更の種類。
この操作では、ファイルまたはディレクトリを作成したアプリケーションの観点から外部から変更されることはありません。
スレッドが新しい USN レコードを書き込むとき、前のレコードのソース情報フラグは、スレッドもそれらのフラグを設定した場合にのみ存在し続けます。 したがって、ソース情報構造を使用すると、アプリケーションは、ウイルス対策フィルターなど、既知のソースによってのみ設定された USN レコードを除外できます。
次の値が定義されています。
| 値 | 意味 |
|---|---|
|
この操作は、オペレーティング システムによって行われたファイルまたはディレクトリの変更に関する情報を提供します。
一般的な用途は、リモート ストレージが外部ストレージからローカル ストレージにデータを移動する場合です。 リモート ストレージは、階層型ストレージ管理ソフトウェアです。 通常、このような移動では、USN レコードに USN_REASON_DATA_OVERWRITE フラグが追加されます。 ただし、データはユーザーの観点から変更されていません。 レコードを保持する USN_RECORD 構造体の SourceInfo メンバーに USN_SOURCE_DATA_MANAGEMENT を記録すると、書き込み操作はアイテムに対して実行されますが、データは変更されていないことを確認できます。 |
|
この操作により、プライベート データ ストリームがファイルまたはディレクトリに追加されます。
たとえば、チェックサム情報を追加するウイルス検出機能があります。 ウイルス検出機能が項目を変更すると、システムによって USN レコードが生成されます。 USN_SOURCE_AUXILIARY_DATA は、変更によってアプリケーション データが変更されなかったことを示します。 |
|
この操作により、レプリケートされたファイルの内容が作成または更新されます。
たとえば、ファイル レプリケーション サービスは、レプリケートされたディレクトリ内のファイルを作成または更新するときに、このフラグを設定します。 |
VolumeHandle
ファイルまたはディレクトリが存在するボリュームへのボリューム ハンドル。 ボリューム ハンドルの取得の詳細については、「解説」セクションを参照してください。
この操作の特権を確認するには、このハンドルが必要です。
呼び出し元には 、SE_MANAGE_VOLUME_NAME 特権が必要です。 詳細については、「 特権」を参照してください。
HandleInfo
VolumeHandle メンバーのハンドル値によって識別されるファイルまたはディレクトリに関する追加情報を指定するフラグ。
| 値 | 意味 |
|---|---|
|
ファイルは、ハンドルが閉じられるまでデフラグできないとマークされます。 |
|
ファイルは、ハンドルが閉じられるまでデフラグできないとマークされます。 |
|
ファイルは、ハンドルが閉じられるまでデフラグできないとマークされます。 |
|
ファイルは、実際のファイルの種類に関係なく、リアルタイムの読み取り動作としてマークされます。 このフラグでマークされたファイルは、 バッファーされていない I/O 用に開く必要があります。 |
|
以前に MARK_HANDLE_REALTIME フラグを使用してリアルタイム読み取り動作としてマークされたファイルは、このフラグを使用してマークを解除でき、リアルタイムの動作は削除されます。 このフラグでマークされたファイルは、 バッファーされていない I/O 用に開く必要があります。 |
要件
| サポートされている最小のクライアント | Windows 8 (64 ビットのみ) [デスクトップ アプリのみ] |
| サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
| ヘッダー | winioctl.h (Windows.h を含む) |