システム定義の ECP
[!注意]
一部の情報はリリース前の製品に関する事項であり、正式版がリリースされるまでに大幅に変更される可能性があります。 Microsoft はここに示されている情報について、明示か黙示かを問わず、一切保証しません。
このページでは、システム定義の追加作成パラメーター (ECP) について一覧を表示し、説明します。 オペレーティング システムは、Ntifs.h ヘッダー ファイル内でこれらの ECP を定義します。
これらのシステム定義の ECP により、指定された追加情報がファイルの IRP_MJ_CREATE 操作に添付されます。 ファイル システム スタックの要素は、追加情報に対して ECP のクエリを実行できます。
通常、ファイルの IRP_MJ_CREATE 操作を処理してから、その下にあるフィルターにファイルを渡すフィルターは、システム定義の ECP をファイルの IRP_MJ_CREATE 操作に添付したり、スプーフィングしたりしてはなりません。
同様に、ファイルの IRP_MJ_CREATE 操作を処理および発行するカーネルモード ドライバーは、ファイルの IRP_MJ_CREATE 操作にシステム定義の ECP を添付したり、スプーフィングしたりしてはなりません。
フィルター ドライバーでは、システム定義の ECP を読み取り専用と見なす必要があります。 情報の取得にのみ使用する必要があります。
フィルター ドライバーが次のシステム定義の ECP のいずれかを添付することを制限する 1 つの例外が、フィルター ドライバーで階層化ファイル システムを実装する場合です。 これを実行するために、ファイル オブジェクトを所有したり、フィルター ドライバーが独自のファイル オブジェクトでサービスを提供するファイルの IRP_MJ_CREATE 操作に応答して、そのフィルターの下にあるファイルで独自の IRP_MJ_CREATE 操作を発行したりします。 このようなフィルター ドライバーは、ファイルの元の IRP_MJ_CREATE 操作から、その下でフィルター ドライバーによって発行される IRP_MJ_CREATE 操作に、ECP_LIST コンテキスト構造体リストを伝達する必要があります。 これらの ECP リストを伝達することで、フィルター ドライバーは、IRP_MJ_CREATE 操作を発行するフィルターの下にあるフィルターが、元の IRP_MJ_CREATE 操作のコンテキストを認識できるようにします。
ECP GUID | ECP コンテキスト構造体と意味 |
---|---|
ECP_TYPE_CLFS_CREATE_CONTAINER | CREATE_REDIRECTION_ECP_CONTEXT ECP コンテキスト構造体を識別するために使用される GUID。 この ECP を NTFS に送信すると、ボリューム マウント中に新しい共通ログ ファイル システム (CLFS) コンテナーを挿入できます。 |
ECP_TYPE_IO_STOP_ON_SYMLINK_FILTER_GUID | IO_STOP_ON_SYMLINK_FILTER_ECP_v0 ECP コンテキスト構造体を識別する GUID。 この ECP は、指定された再解析タグでのみ動作するように IO_STOP_ON_SYMLINK の動作を制限します。 |
ECP_TYPE_OPEN_REPARSE_GUID | OPEN_REPARSE_LIST ECP コンテキスト構造体を識別する GUID。 この ECP は、再解析ポイントのすべてのクラスの再解析動作を抑制することなく、固有の再解析ポイントを開く呼び出し元をサポートします。 |
GUID_ECP_ATOMIC_CREATE | ATOMIC_CREATE_ECP_CONTEXT ECP コンテキスト構造体を識別する GUID。 この ECP を使用すると、作成時に特定の補足操作をファイルに対して原子的に実行できます。 |
GUID_ECP_CLOUDFILES_ATTRIBUTION | クラウド ファイル属性の ECP を識別する GUID。 |
GUID_ECP_CREATE_REDIRECTION | 特定の作成操作に対してファイルのリダイレクト状態のクエリを実行するために送信可能な ECP を識別するために使用される GUID。 |
GUID_ECP_CSV_DOWN_LEVEL_OPEN | CSV_DOWN_LEVEL_OPEN_ECP_CONTEXT ECP コンテキスト構造体を識別する GUID。 クラスター共有ボリューム ファイル システム (CSVFS) は、この ECP をメタデータ ノード (MDS) に送信するもので、作成の種類に関する情報を含みます。 |
GUID_ECP_CSV_QUERY_FILE_REVISION | CSV_QUERY_FILE_REVISION_ECP_CONTEXT ECP コンテキスト構造体を識別する GUID。 この ECP を CSVFS に送信すると、ファイルのリビジョン番号を要求できます。 |
GUID_ECP_CSV_QUERY_FILE_REVISION_FILE_ID_128 | CSV_QUERY_FILE_REVISION_ECP_CONTEXT_FILE_ID_128 ECP コンテキスト構造体を識別する GUID。 この ECP を CSVFS に送信すると、ファイルのリビジョン番号を要求できます。 |
GUID_ECP_CSV_SET_HANDLE_PROPERTIES | CSV_SET_HANDLE_PROPERTIES_ECP_CONTEXT ECP コンテキスト構造体を識別する GUID。 この ECP を CSVFS に送信すると、このオープン時に到着する IO を処理する方法についてプロパティを設定できます。 |
GUID_ECP_DUAL_OPLOCK_KEY | DUAL OPLOCK_KEY_ECP_CONTEXT ECP コンテキスト構造体を識別する GUID。 OPLOCK_KEY_ECP_CONTEXT 構造体と同様、DUAL OPLOCK_KEY_ECP_CONTEXT は、オープン ファイル要求に oplock キーを添付するために使用されます。 DUAL OPLOCK_KEY_ECP_CONTEXT を使用すると、親キーを設定して、ターゲット ファイルのディレクトリで oplock を提供することもできます。 |
GUID_ECP_IO_DEVICE_HINT | IO_DEVICE_HINT_ECP_CONTEXT 構造体を識別する GUID。 デバイス ヒントは、名前プロバイダーのミニフィルター ドライバーが新しいデバイスの再解析ターゲットを追跡できるよう補助するために使用されます。 |
GUID_ECP_NETWORK_APP_INSTANCE | NETWORK_APP_INSTANCE_ECP_CONTEXT ECP コンテキスト構造体を識別する GUID。 フェールオーバー クラスター内のクライアント アプリケーションでは、クラスター内のノードで一連のファイルが開かれている可能性があります。 ファイル オブジェクトは、NETWORK_APP_INSTANCE_ECP_CONTEXT 構造体のインスタンス識別子によってアプリケーションにタグ付けされます。 フェールオーバー時に、セカンダリ ノードでは、以前キャッシュしたアプリケーション インスタンス識別子を使用して、開いているファイルへのクライアント アプリケーションによるアクセスを検証できます。 |
GUID_ECP_NETWORK_APP_INSTANCE_VERSION | NETWORK_APP_INSTANCE_VERSION_ECP_CONTEXT 構造体を識別する GUID で、アプリケーションがインスタンス ID を提供するための ECP コンテキストです。 この ECP を有効にするには、NETWORK_APP_INSTANCE_ECP_CONTEXT (GUID_ECP_NETWORK_APP_INSTANCE) を加える必要があります。 |
GUID_ECP_NETWORK_OPEN_CONTEXT | NETWORK_OPEN_ECP_CONTEXT ECP コンテキスト構造体を識別し、ネットワーク リダイレクターの追加情報を添付するために使用される GUID。 この GUID は、Windows 7 以降のバージョンの Windows で実行されるドライバー、および Windows Vista 上に常駐するファイルのネットワーク ECP コンテキストを解釈する必要があるドライバーの NETWORK_OPEN_ECP_CONTEXT_V0 構造体も識別します。 |
GUID_ECP_NFS_OPEN | NFS_OPEN_ECP_CONTEXT 構造体を識別する GUID。 ネットワーク ファイル システム (NFS) サーバーは、NFS_OPEN_ECP_CONTEXT 構造体をオープン ファイル要求に添付します。 NFS サーバーは、NFS サーバーがクライアント要求を満たすために行うオープン ファイル要求でこの GUID を使用します。 そうすれば、ファイル システム スタックで、NFS_OPEN_ECP_CONTEXT がオープン ファイル要求に添付されているかどうかを判断できます。 NFS_OPEN_ECP_CONTEXT の情報に基づいて、ファイル システム スタックはファイルを開くよう要求したクライアントとその理由を確認できます。 |
GUID_ECP_OPEN_PARAMETERS | ECP_OPEN_PARAMETERS ECP コンテキスト構造体を識別する GUID。 呼び出し元はこの ECP を使用すると、ファイルの既存のハンドルや便宜的ロック (oplock) を妨げることなく、ファイルを開く目的を指定できます。 |
GUID_ECP_OPLOCK_KEY | OPLOCK_KEY_ECP_CONTEXT ECP コンテキスト構造体を識別し、オープン ファイル要求に oplock キーを添付するために使用される GUID。 oplock キーを使用すると、アプリケーションはアプリケーション独自の oplock を中断することなく、同じストリームに対して複数のハンドルを開くことができます。 oplock と oplock キーの詳細については、「Oplock セマンティクスの概要」を参照してください。 |
GUID_ECP_PREFETCH_OPEN | PREFETCH_OPEN_ECP_CONTEXT ECP コンテキスト構造体を識別する GUID。 プリフェッチャーは、キャッシュ マネージャーとメモリ マネージャーと緊密に統合された OS コンポーネントで、ディスク アクセスの効率を高めてパフォーマンスを向上させます。 他のコンポーネントがプリフェッチャーに干渉すると、システムのパフォーマンスが低下し、デッドロックが発生する可能性があります。 そこで、プリフェッチャーで PREFETCH_OPEN_ECP_CONTEXT 構造体をファイルに添付し、プリフェッチャーがファイルに対してオープン要求を実行することを通知します。 このオープン要求は、PREFETCH_OPEN_ECP_CONTEXTの Context メンバーによって指定されます。 ファイル システム フィルター ドライバーなどのその他のコンポーネントは、PREFETCH_OPEN_ECP_CONTEXT がファイルに添付されているかどうかを判断したうえで、適切なアクションを実行できます。 |
GUID_ECP_QUERY_ON_CREATE | 作成時のクエリ ファイル情報に対して ECP を識別する GUID。 |
GUID_ECP_RKF_BYPASS | RKF_BYPASS_ECP_CONTEXT ECP コンテキスト構造体を識別する GUID。 |
GUID_ECP_SRV_OPEN | SRV_OPEN_ECP_CONTEXT ECP コンテキスト構造体を識別する GUID。 サーバーは、SRV_OPEN_ECP_CONTEXT 構造体をオープン ファイル要求に添付します。 サーバーは、サーバーが条件付きのクライアント要求を満たすために行うオープン ファイル要求でこの GUID を使用します。 そうすれば、ファイル システム スタックで、SRV_OPEN_ECP_CONTEXT がオープン ファイル要求に添付されているかどうかを判断できます。 SRV_OPEN_ECP_CONTEXT の情報に基づいて、ファイル システム スタックはファイルを開くよう要求したクライアントとその理由を確認できます。 すべてのサーバーからの作成でこの ECP が実行されるわけではありません。 |
GUID_ECP_TYPE_VETO_BINDING | VETO_BINDING_ECP_CONTEXT ECP コンテキスト構造体を識別します。 この ECP を使用して、システムのブート パーティション上のバインド リンクを拒否できます。 Windows 11、バージョン 24H2 以降で使用できます。 |