次の共用体コンポーネントは、操作の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 ベースの作成操作のパラメーターが含まれています。 これは、 FLT_IO_PARAMETER_BLOCK 構造体に含まれています。
IRP_MJ_CREATEは IRP ベースの操作です。
必要条件
| 要件タイプ | 要件 |
|---|---|
| ヘッダ | Fltkernel.h ( Fltkernel.h を含む) |
こちらもご覧ください
FltCreateFileの