IRP_MJ_QUERY_SECURITY 共用体の FLT_PARAMETERS
操作における FLT_IO_PARAMETER_BLOCK 構造体の MajorFunction フィールドが IRP_MJ_QUERY_SECURITY であるときに使用される共用体コンポーネント。
構文
typedef union _FLT_PARAMETERS {
... ;
struct {
SECURITY_INFORMATION SecurityInformation;
ULONG POINTER_ALIGNMENT Length;
PVOID SecurityBuffer;
PDML MdlAddress;
} QuerySecurity;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
メンバー
QuerySecurity: 次のメンバーが含まれる構造体。
SecurityInformation: クエリを実行するセキュリティ情報を指定する、呼び出し元が指定した SECURITY_INFORMATION 値へのポインター。 次のいずれか:
SecurityInformation 値 意味 OWNER_SECURITY_INFORMATION オブジェクトの所有者識別子が照会されています。 READ_CONTROL アクセスが必要です。 GROUP_SECURITY_INFORMATION オブジェクトのプライマリ グループ識別子が照会されています。 READ_CONTROL アクセスが必要です。 DACL_SECURITY_INFORMATION オブジェクトの随意アクセス制御リスト (DACL) が照会されています。 READ_CONTROL アクセスが必要です。 SACL_SECURITY_INFORMATION オブジェクトのシステム ACL (SACL) が照会されています。 ACCESS_SYSTEM_SECURITY アクセスが必要です。 Length: SecurityBuffer が指すバッファーの長さ (バイト単位)。
SecurityBuffer: 指定されたオブジェクトのセキュリティ記述子のコピーを受け取る、呼び出し元が指定した出力バッファーへのポインター。 呼び出し元プロセスには、オブジェクトのセキュリティ状態の指定された側面を表示する権限が必要です。 SECURITY_DESCRIPTOR 構造体は自己相対形式で返されます。 このメンバーは省略可能であり、MdlAddress で MDL が指定されている場合は NULL にすることができます。 「解説」を参照してください。
MdlAddress: SecurityBuffer が指すバッファーを記述するメモリ記述子リスト (MDL) のアドレス。 このメンバーは省略可能であり、SecurityBuffer でバッファーが指定されている場合は NULL にすることができます。 「解説」を参照してください。
解説
IRP_MJ_QUERY_SECURITY 操作の FLT_PARAMETERS 構造体には、コールバック データ (FLT_CALLBACK_DATA) 構造体が表す IRP ベースのクエリ セキュリティ情報操作のパラメーターが含まれます。 これは、FLT_IO_PARAMETER_BLOCK 構造体に含まれています。
SecurityBuffer バッファーと MdlAddress バッファーの両方が指定されている場合は、ミニフィルターで MDL を使用することをお勧めします。 SecurityBuffer が指すメモリは、呼び出し元プロセスのコンテキスト内でアクセスされるユーザー モード アドレスである場合、またはカーネル モード アドレスである場合に有効です。
ミニフィルターが MdlAddress の値を変更した場合、操作後のコールバックの後、フィルター マネージャーは現在 MdlAddress に格納されている MDL を解放し、MdlAddress の以前の値を復元します。
Windows XP 以降では、FLT_IO_PARAMETER_BLOCK 構造体の TargetFileObject メンバーが指すオブジェクトは、名前付きデータ ストリームを表すことができます。 名前付きデータ ストリームの詳細については、「FILE_STREAM_INFORMATION」を参照してください。
IRP_MJ_QUERY_SECURITY は IRP ベースの操作です。
要件
要件タイプ | 要件 |
---|---|
ヘッダー | Fltkernel.h (Fltkernel.h を含む) |