次の方法で共有


IRP_MJ_QUERY_QUOTA 共用体の FLT_PARAMETERS

操作における FLT_IO_PARAMETER_BLOCK 構造体の MajorFunction フィールドが IRP_MJ_QUERY_QUOTA であるときに使用される共用体コンポーネント。

構文

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    ULONG                       Length;
    PSID                        StartSid;
    PFILE_GET_QUOTA_INFORMATION SidList;
    ULONG                       SidListLength;
    PVOID                       QuotaBuffer;
    PMLD                        MdlAddress;
  } QueryQuota;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

メンバー

  • QueryQuota: 次のメンバーが含まれる構造体。

  • Length: QuotaBuffer が指すバッファーの長さ (バイト単位)。

  • StartSid: クォータ リストのスキャンを開始するエントリのセキュリティ識別子 (SID) へのオプションのポインター。 操作の FLT_IO_PARAMETER_BLOCK 構造体で SL_INDEX_SPECIFIED フラグが設定されていない場合、または SidList が空でないリストを指している場合、このパラメーターは無視されます。

  • SidList: クォータ情報を照会する SID を指定する、呼び出し元が指定した FILE_GET_QUOTA_INFORMATION 構造化入力バッファーへのポインター。

  • SidListLength: SidList が指すバッファーの長さ (バイト単位)。

  • QuotaBuffer: クォータ情報が返される、呼び出し元が指定した FILE_QUOTA_INFORMATION 構造化出力バッファーへのポインター。 このメンバーは省略可能であり、MdlAddress で MDL が指定されている場合は NULL にすることができます。 「解説」を参照してください。

  • MdlAddress: QuotaBuffer が指すバッファーを記述するメモリ記述子リスト (MDL) のアドレス。 このメンバーは省略可能であり、QuotaBuffer でバッファーが指定されている場合は NULL にすることができます。 「解説」を参照してください。

解説

IRP_MJ_QUERY_QUOTA 操作の FLT_PARAMETERS 構造体には、コールバック データ (FLT_CALLBACK_DATA) 構造体が表す IRP ベースのクエリ クォータ情報操作のパラメーターが含まれます。 これは、FLT_IO_PARAMETER_BLOCK 構造体に含まれています。

QuotaBuffer バッファーと MdlAddress バッファーの両方が指定されている場合は、ミニフィルターで MDL を使用することをお勧めします。 QuotaBuffer が指すメモリは、呼び出し元プロセスのコンテキスト内でアクセスされるユーザー モード アドレスである場合、またはカーネル モード アドレスである場合に有効です。

ミニフィルターが MdlAddress の値を変更した場合、操作後のコールバックの後、フィルター マネージャーは現在 MdlAddress に格納されている MDL を解放し、MdlAddress の以前の値を復元します。

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

要件

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

関連項目

FILE_QUOTA_INFORMATION

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

IoCheckQuotaBufferValidity

IRP_MJ_QUERY_QUOTA

SID