IRP_MJ_CREATE 共用体の FLT_PARAMETERS
次の共用体コンポーネントは、操作における FLT_IO_PARAMETER_BLOCK 構造体の MajorFunction フィールドが IRP_MJ_CREATE であるときに使用されます。
構文
typedef union _FLT_PARAMETERS {
... ;
struct {
PIO_SECURITY_CONTEXT SecurityContext;
ULONG Options;
USHORT POINTER_ALIGNMENT FileAttributes;
USHORT ShareAccess;
USHORT POINTER_ALIGNMENT EaLength;
PVOID EaBuffer;
LARGE_INTEGER AllocationSize;
} Create;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
メンバー
FLT_PARAMETERS の Create 構造体には、次のメンバーが含まれています。
SecurityContext: IRP_MJ_CREATE 要求のセキュリティ コンテキストを表す IO_SECURITY_CONTEXT 構造体へのポインター。ここで、
SecurityContext->AccessState は、オブジェクトのサブジェクト コンテキスト、付与されているアクセスの種類、残りの必要なアクセスの種類を含む ACCESS_STATE 構造体へのポインターです。
SecurityContext->DesiredAccess は、ファイルに対して要求されたアクセス権を指定する ACCESS_MASK 構造体です。 詳細については、FltCreateFile の DesiredAccess パラメーターを参照してください。
オプション: ファイルを作成または開くときに適用するオプションと、ファイルが既に存在する場合に実行されるアクションを指定するフラグのビットマスク。 このメンバーの下位 24 ビットは、FltCreateFile の CreateOptions パラメーターに対応します。 上位 8 ビットは、FltCreateFile の CreateDisposition パラメーターに対応します。
FileAttributes: ファイルを作成または開くときに適用される属性のビットマスク。 詳細については、FltCreateFile の FileAttributes パラメーターを参照してください。
ShareAccess: ファイルに対して要求された共有アクセス権のビットマスク。 このパラメーターが 0 の場合、排他アクセスが要求されています。 詳細については、FltCreateFile の ShareAccess パラメーターを参照してください。
EaLength: EaBuffer メンバーが指すバッファーの長さ (バイト単位)。 詳細については、FltCreateFile の EaLength パラメーターを参照してください。
EaBuffer: ファイルに適用される拡張属性 (EA) 情報を含む、呼び出し元が指定した FILE_FULL_EA_INFORMATION 構造化バッファーへのポインター。 詳細については、FltCreateFile の EaBuffer パラメーターを参照してください。
AllocationSize: 必要に応じて、ファイルの初期割り当てサイズをバイト単位で指定します。 0 以外の値は、ファイルが作成、上書き、または置き換えられている場合を除き、効果はありません。 詳細については、FltCreateFile の AllocationSize パラメーターを参照してください。
解説
IRP_MJ_CREATE 操作における FLT_PARAMETERS 構造体には、コールバックデータ (FLT_CALLBACK_DATA) 構造体が表す IRP ベースの Create 操作用のパラメーターが含まれます。 これは、FLT_IO_PARAMETER_BLOCK 構造体に含まれています。
IRP_MJ_CREATE は IRP ベースの操作です。
要件
要件タイプ | 要件 |
---|---|
ヘッダー | Fltkernel.h (Fltkernel.h を含む) |