次の方法で共有


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 構造体です。 詳細については、FltCreateFileDesiredAccess パラメーターを参照してください。

  • オプション: ファイルを作成または開くときに適用するオプションと、ファイルが既に存在する場合に実行されるアクションを指定するフラグのビットマスク。 このメンバーの下位 24 ビットは、FltCreateFileCreateOptions パラメーターに対応します。 上位 8 ビットは、FltCreateFileCreateDisposition パラメーターに対応します。

  • FileAttributes: ファイルを作成または開くときに適用される属性のビットマスク。 詳細については、FltCreateFileFileAttributes パラメーターを参照してください。

  • ShareAccess: ファイルに対して要求された共有アクセス権のビットマスク。 このパラメーターが 0 の場合、排他アクセスが要求されています。 詳細については、FltCreateFileShareAccess パラメーターを参照してください。

  • EaLength: EaBuffer メンバーが指すバッファーの長さ (バイト単位)。 詳細については、FltCreateFileEaLength パラメーターを参照してください。

  • EaBuffer: ファイルに適用される拡張属性 (EA) 情報を含む、呼び出し元が指定した FILE_FULL_EA_INFORMATION 構造化バッファーへのポインター。 詳細については、FltCreateFileEaBuffer パラメーターを参照してください。

  • AllocationSize: 必要に応じて、ファイルの初期割り当てサイズをバイト単位で指定します。 0 以外の値は、ファイルが作成、上書き、または置き換えられている場合を除き、効果はありません。 詳細については、FltCreateFileAllocationSize パラメーターを参照してください。

解説

IRP_MJ_CREATE 操作における FLT_PARAMETERS 構造体には、コールバックデータ (FLT_CALLBACK_DATA) 構造体が表す IRP ベースの Create 操作用のパラメーターが含まれます。 これは、FLT_IO_PARAMETER_BLOCK 構造体に含まれています。

IRP_MJ_CREATE は IRP ベースの操作です。

要件

要件タイプ 要件
ヘッダー Fltkernel.h (Fltkernel.h を含む)

関連項目

ACCESS_MASK

ACCESS_STATE

FILE_FULL_EA_INFORMATION

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_PARAMETERS

FltCreateFile

IRP_MJ_CREATE