次の方法で共有


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 フィールドにボリュームの値を指定する必要があります。 次の値の組み合わせを指定できます。

意味
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 Journal のページング書き込み時に、指定された 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 通常、ボリューム ハンドルの最初の読み取り/書き込み操作 (書き込みモード) では、ファイル システムによってボリュームがフラッシュされます。 これにより、特定のシナリオでパフォーマンスが低下する可能性があります。 このフラグがボリューム ハンドルに設定されている場合は、最初の IO でそのフラッシュが抑制されます。 Windows 11 以降で使用できます。

備考

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

必要条件

要件 価値
サポートされる最小クライアント Windows XP
ヘッダー ntifs.h

関連項目

FSCTL_MARK_HANDLE