IRP_MJ_CREATE_NAMED_PIPE 共用体の FLT_PARAMETERS
FLT_IO_PARAMETER_BLOCK 構造体の MajorFunction フィールドが IRP_MJ_CREATE_NAMED_PIPE である場合、FLT_PARAMETERS 共用体内の次の構造体が使用されます。
構文
typedef union _FLT_PARAMETERS {
... ;
struct {
PIO_SECURITY_CONTEXT SecurityContext;
ULONG Options;
USHORT POINTER_ALIGNMENT Reserved;
USHORT ShareAccess;
PVOID Parameters;
} CreatePipe;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
メンバー
FLT_PARAMETERS の CreatePipe 構造体には、次のメンバーが含まれています。
SecurityContext: IRP_MJ_CREATE_NAMED_PIPE 要求のセキュリティ コンテキストを表す IO_SECURITY_CONTEXT 構造体へのポインター。ここで、
SecurityContext->AccessState は、オブジェクトのサブジェクト コンテキスト、付与されているアクセスの種類、残りの必要なアクセスの種類を含む ACCESS_STATE 構造体へのポインターです。
SecurityContext->DesiredAccess は、名前付きパイプに対して要求されたアクセス権を指定する ACCESS_MASK 構造体です。 詳細については、FltCreateNamedPipeFile の DesiredAccess パラメーターを参照してください。
オプション: 名前付きパイプを作成または開くときに適用するオプションと、パイプが既に存在する場合に実行されるアクションを指定するフラグのビットマスク。 このメンバーの下位 24 ビットは、FltCreateNamedPipeFile の CreateOptions パラメーターに対応します。 上位 8 ビットは、FltCreateNamedPipeFile の CreateDisposition パラメーターに対応します。
Reserved: 予約済み。使用しないでください。
ShareAccess: 名前付きパイプ ファイルに対して要求された共有アクセス権のビットマスク。 このパラメーターが 0 の場合、排他アクセスが要求されています。 詳細については、FltCreateNamedPipeFile の ShareAccess パラメーターを参照してください。
パラメーター: 作成中または開いている名前付きパイプに関する情報を含む NAMED_PIPE_CREATE_PARAMETERS 構造体へのポインター。
解説
FLT_PARAMETERS には、I/O 操作が IRP_MJ_CREATE_NAMED_PIPE の場合、CreatePipe 構造体が含まれます。 I/O 操作は、コールバック データの Iopb パラメーターが指す FLT_IO_PARAMETER_BLOCK 構造体内に含まれる操作パラメーターを使用して、FLT_CALLBACK_DATA 構造体によって表されます。
IRP_MJ_CREATE_NAMED_PIPE 操作のコールバック ルーチンを登録したファイル システム ミニフィルター ドライバーは、必要な処理を実行して返す必要があります。
最後の longword フィールドを除き、CreatePipe 構造体のフィールドは Create 構造体のフィールドと一致する必要があることに注意してください。
IRP_MJ_CREATE_NAMED_PIPE は IRP ベースの操作です。
要件
要件タイプ | 要件 |
---|---|
ヘッダー | Fltkernel.h (Fltkernel.h を含む) |