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 値を含む不透明なメンバー。 Transaction が NULL の場合、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_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 を含む) |
こちらもご覧ください
FltDoCompletionProcessingWhenSafe
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK