FLT_RELATED_OBJECTS 構造体 (fltkernel.h)

FLT_RELATED_OBJECTS構造体には、操作に関連付けられているオブジェクトの不透明なポインターが含まれています。

構文

typedef struct _FLT_RELATED_OBJECTS {
  USHORT        Size;
  USHORT        TransactionContext;
  PFLT_FILTER   Filter;
  PFLT_VOLUME   Volume;
  PFLT_INSTANCE Instance;
  PFILE_OBJECT  FileObject;
  PKTRANSACTION Transaction;
} FLT_RELATED_OBJECTS, *PFLT_RELATED_OBJECTS;

メンバー

Size

FLT_RELATED_OBJECTS構造体のサイズ (バイト単位)。

TransactionContext

Transaction メンバーが NULL でない場合、トランザクションミニバージョン ID 値を含む不透明なメンバー。 TransactionNULL の場合、TransactionContext の値は未定義です。

Filter

操作に対してコールバック ルーチンが呼び出されているミニフィルター ドライバーの不透明なフィルター ポインター。 このポインターはミニフィルター ドライバーを一意に識別し、ミニフィルター ドライバーが読み込まれる限り一定のままになります。

Volume

操作に関連付けられているボリュームの不透明なボリューム ポインター。 このポインターはボリュームを一意に識別し、ボリューム デバイス スタックの有効期間にわたって一定のままになります。

Instance

操作に関連付けられているミニフィルター ドライバー インスタンスの不透明なインスタンス ポインター。 このポインターはインスタンスを一意に識別し、インスタンスがボリュームにアタッチされている限り一定のままになります。

FileObject

操作のファイル オブジェクト (存在する場合) へのポインター。

Transaction

Windows Vista 以降では、このメンバーは、操作に関連付けられているトランザクションへの不透明なトランザクション ポインターです。 このメンバーの値が NULL でない場合、操作はトランザクションの一部になります。 このメンバーの値が NULL の場合、操作はトランザクションに含まれません。 Windows Vista より前の Windows オペレーティング システムでは、このメンバーの値は常に NULL になります

注釈

FLT_RELATED_OBJECTS構造体はフィルター マネージャーによって割り当てられ、I/O 操作またはインスタンスのセットアップまたは破棄操作に関連付けられているオブジェクトの不透明なポインターが含まれています。

FLT_RELATED_OBJECTS構造体の内容は、フィルター マネージャーによって設定されます。 ミニフィルター ドライバーは、この構造体の内容を直接変更できません。 ただし、ミニフィルター ドライバーが、操作の FLT_IO_PARAMETER_BLOCK 構造体の I/O 操作のターゲット インスタンスまたはターゲット ファイル オブジェクトを変更する場合、フィルター マネージャーは、下位ミニフィルター ドライバーに渡されるFLT_RELATED_OBJECTS構造体の対応する Instance または FileObject メンバーの値を変更します。 詳細については、「 I/O 操作のパラメーターの変更」を参照してください。

ミニフィルター ドライバーは、 FltObjects 入力パラメーターとして、次のコールバック ルーチン型へのFLT_RELATED_OBJECTS構造体へのポインターを受け取ります。

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

FLT_RELATED_OBJECTS構造体内のオブジェクトのミニフィルター ドライバーのコンテキストへのポインターを取得するには、 FltGetContexts を呼び出します。

typedef CONST struct _FLT_RELATED_OBJECTS *PCFLT_RELATED_OBJECTS;
 

要件

要件
Header fltkernel.h (Fltkernel.h を含む)

こちらもご覧ください

FLT_IO_PARAMETER_BLOCK

FLT_RELATED_CONTEXTS

FltDoCompletionProcessingWhenSafe

FltGetContexts

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK