FltQuerySecurityObject 関数 (fltkernel.h)

FltQuerySecurityObject は、 オブジェクトのセキュリティ記述子のコピーを取得します。

構文

NTSTATUS FLTAPI FltQuerySecurityObject(
  [in]            PFLT_INSTANCE        Instance,
  [in]            PFILE_OBJECT         FileObject,
  [in]            SECURITY_INFORMATION SecurityInformation,
  [in, out]       PSECURITY_DESCRIPTOR SecurityDescriptor,
  [in]            ULONG                Length,
  [out, optional] PULONG               LengthNeeded
);

パラメーター

[in] Instance

呼び出し元の不透明なインスタンス ポインター。 このパラメーターは必須であり、 NULL にすることはできません。

[in] FileObject

セキュリティ記述子のクエリを実行するオブジェクトのファイル オブジェクト ポインター。 このパラメーターは必須であり、 NULL にすることはできません。

[in] 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アクセスが必要です。

[in, out] SecurityDescriptor

指定されたオブジェクトのセキュリティ記述子のコピーを受け取る呼び出し元が指定した出力バッファーへのポインター。 SECURITY_DESCRIPTOR構造体は自己相対形式で返されます。 このパラメーターは省略可能であり、 NULL にすることができます。

[in] Length

SecurityDescriptor バッファーのサイズ (バイト単位)。

[out, optional] LengthNeeded

SecurityDescriptor パラメーターによって指されるバッファーに返されるコピーされたセキュリティ記述子を格納するために必要なバイト数を受け取る呼び出し元によって割り当てられた変数へのポインター。 このパラメーターは省略可能であり、 NULL にすることができます。

戻り値

FltQuerySecurityObject は、次のいずれかのSTATUS_SUCCESSまたは適切な NTSTATUS 値を返します。

リターン コード 説明
STATUS_ACCESS_DENIED
呼び出し元に必要なアクセス権がありませんでした。 これはエラー コードです。
STATUS_BUFFER_TOO_SMALL
バッファーが小さすぎてセキュリティ記述子を含められません。 どのセキュリティ情報もバッファーにコピーされませんでした。 これはエラー コードです。

注釈

セキュリティ記述子は、絶対形式または自己相対形式にすることができます。 自己相対形式では、構造体のすべてのメンバーがメモリ内で連続して配置されます。 絶対形式では、構造体にはそのメンバーへのポインターのみが含まれます。

NTFS ファイル システムでは、ファイルのディスクに書き込まれるセキュリティ記述子のサイズに 64 KB の制限があります。 (FAT ファイル システムでは、ファイルのセキュリティ記述子はサポートされていません)。したがって、 SecurityDescriptor パラメーターが指す 64 KB のバッファーは、返される SECURITY_DESCRIPTOR 構造体を保持するのに十分な大きさであることが保証されます。

FileObject パラメーターが指すオブジェクトは、名前付きデータ ストリームを表すことができます。 名前付きデータ ストリームの詳細については、「 FILE_STREAM_INFORMATION」を参照してください。

セキュリティとアクセス制御の詳細については、Microsoft Windows SDKドキュメントを参照してください。

要件

要件
対象プラットフォーム ユニバーサル
Header fltkernel.h (Fltkernel.h を含む)
Library FltMgr.lib
[DLL] Fltmgr.sys
IRQL PASSIVE_LEVEL

こちらもご覧ください

FILE_STREAM_INFORMATION

SECURITY_DESCRIPTOR

SECURITY_INFORMATION