MARK_HANDLE_INFO 構造体 (ntifs.h)

MARK_HANDLE_INFO構造体は、FSCTL_MARK_HANDLE制御コード要求中に入力バッファーとして渡されます。

構文

typedef struct _MARK_HANDLE_INFO {
  union {
    ULONG UsnSourceInfo;
    ULONG CopyNumber;
  } DUMMYUNIONNAME;
  ULONG  UsnSourceInfo;
  HANDLE VolumeHandle;
  ULONG  HandleInfo;
} MARK_HANDLE_INFO, *PMARK_HANDLE_INFO;

メンバー

DUMMYUNIONNAME

DUMMYUNIONNAME.UsnSourceInfo

以下 の UsnSourceInfo を 参照してください。

DUMMYUNIONNAME.CopyNumber

冗長メディア上にあるファイルから読み取るときに、読み取るファイルのコピーを識別します。

UsnSourceInfo

オプションの更新シーケンス番号 (USN) ソース情報フラグ。 これらの値のいずれかを設定するには、 VolumeHandle フィールドにボリュームの DASD ハンドルを指定する必要があります。 次の値の組み合わせを指定できます。

フラグ 説明
USN_SOURCE_DATA_MANAGEMENT サービスは、ファイルのどの部分の外部ビューも変更していません。 一般的なケースは、HSM が外部ストレージとの間でデータを移動することです。
USN_SOURCE_AUXILIARY_DATA サービスは、このファイルを作成したアプリケーションに関して、ファイルの外部ビューを変更していません。 プライベート データ ストリームをファイルに追加するために使用できます。
USN_SOURCE_REPLICATION_MANAGEMENT サービスは、レプリカ セットの別のメンバーに存在する同じファイルの内容と一致するようにファイルを変更しています。
USN_SOURCE_CLIENT_REPLICATION_MANAGEMENT レプリケーションは、クラウドまたはサーバーからクライアント システムで実行されています。 この値を設定するためにボリューム ハンドルは必要ありません

VolumeHandle

この操作のボリューム ハンドル。

HandleInfo

要求を識別するためのフラグが含まれています。 このフィールドには、次のいずれかの値を指定できます。

フラグ 説明
MARK_HANDLE_PROTECT_CLUSTERS ハンドルが閉じられるまで、デフラグ (FSCTL_MOVE_FILE) は許可しないでください。
MARK_HANDLE_TXF_SYSTEM_LOG このストリームは、ボリューム上のリソース マネージャーの Txf ログとして使用されています。 IRP_MN_KERNEL_CALLを使用してカーネルで呼び出す必要があります。 Windows Vista 以降で使用できます。
MARK_HANDLE_NOT_TXF_SYSTEM_LOG このコンポーネントは、このオブジェクトを TxF ログ ファイルとして使用しなくなりました。 Windows Vista 以降で使用できます。
MARK_HANDLE_REALTIME UDFS ファイル システムでのみサポートされます。 ビデオのリアルタイム ストリーミングを実行するデバイスをマークします。 Windows 7 以降で使用できます。
MARK_HANDLE_NOT_REALTIME UDFS ファイル システムでのみサポートされます。 デバイスがビデオのリアルタイム ストリーミングを実行しないようにマークします。 Windows 7 以降で使用できます。
MARK_HANDLE_CLOUD_SYNC 廃止;このフラグは使用しないでください。
MARK_HANDLE_READ_COPY データは、指定されたデータのコピーから読み取る必要があります。 記憶域スペース冗長ボリュームでのみサポートされます。 Windows 8 以降で使用できます。
MARK_HANDLE_NOT_READ_COPY データは、特定のコピーから読み取られるようになりました。 記憶域スペース冗長ボリュームでのみサポートされます。 Windows 8 以降で使用できます。
MARK_HANDLE_FILTER_METADATA Microsoft の内部使用専用に予約されています。
MARK_HANDLE_RETURN_PURGE_FAILURE キャッシュされていない IO とマップされたメモリまたはキャッシュされた IO を混在させ、キャッシュされていない IO が発行されると、システムはキャッシュされていない IO の範囲のメモリ マッピングを消去しようとします。 これらの消去が失敗した場合、システムは通常、エラーを呼び出し元に返しません。これにより、状態が破損する可能性があります。 このフラグは、アプリケーションがこの状況をより適切に処理できるように、指定されたハンドルの消去エラーを返すようにシステムに指示します。 Windows 8.1 以降で使用できます。
MARK_HANDLE_DISABLE_FILE_METADATA_OPTIMIZATION 指定されたファイルのファイル レプリケーション サービス (FRS) 圧縮機能を無効にします。 Windows 10 バージョン 1507 以降で使用できます。
MARK_HANDLE_ENABLE_USN_SOURCE_ON_PAGING_IO USN ジャーナルのページング書き込み時に指定された UsnSourceInfo 値を設定するように NTFS に指示します。 指定された変更を行ったスレッドがわからないため、従来、これはページング書き込みでは行われませんでした。 これはオーバーライドです。 これは、メモリ マネージャーが保持している FileObject にこの状態が関連付けられている場合にのみ機能します。 Windows 10 バージョン 1507 以降で使用できます。
MARK_HANDLE_SKIP_COHERENCY_SYNC_DISALLOW_WRITES このファイルに対して書き込みが許可されていないことをシステムに指示します。 誰かが書き込みアクセスのためにファイルを開こうとすると、操作はSTATUS_ACCESS_DENIEDで失敗します。 書き込みが見られた場合、操作は STATUS_MARKED_TO_DISALLOW_WRITES で失敗します。 Windows 10 バージョン 1507 以降で使用できます。
MARK_HANDLE_ENABLE_CPU_CACHE Microsoft の内部使用専用に予約されています。
MARK_HANDLE_SUPPRESS_VOLUME_OPEN_FLUSH 通常、ボリューム・ハンドルに対する最初の読み取り/書き込み操作 (DASD オープン) では、ファイル・システムはボリュームをフラッシュします。 これにより、特定のシナリオでパフォーマンスが低下する可能性があります。 このフラグがボリューム ハンドルに設定されている場合、最初の IO でのフラッシュは抑制されます。 Windows 11 以降で使用できます。

注釈

MARK_HANDLE_INFO には、指定されたファイルまたはディレクトリのマークに使用される情報と、その更新シーケンス番号 (USN) 変更履歴レコードに変更に関するデータが含まれます。

要件

要件
サポートされている最小のクライアント Windows XP
Header ntifs.h

こちらもご覧ください

FSCTL_MARK_HANDLE