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 値を返します。
リターン コード | 形容 |
---|---|
|
呼び出し元に必要なアクセス権がありませんでした。 これはエラー コードです。 |
|
バッファーが小さすぎてセキュリティ記述子を格納できません。 セキュリティ情報がバッファーにコピーされませんでした。 これはエラー コードです。 |
備考
セキュリティ記述子は、絶対形式でも自己相対形式でもかまいません。 自己相対形式では、構造体のすべてのメンバーが連続してメモリ内に配置されます。 絶対形式では、構造体にはメンバーへのポインターのみが含まれます。
NTFS ファイル システムでは、ファイルのディスクに書き込まれるセキュリティ記述子のサイズに 64 KB の制限が適用されます。 (FAT ファイル システムは、ファイルのセキュリティ記述子をサポートしていません)。したがって、SecurityDescriptor パラメーターが指す 64 KB のバッファーは、返された SECURITY_DESCRIPTOR 構造体を保持するのに十分な大きさであることが保証されます。
FileObject パラメーターが指すオブジェクトは、名前付きデータ ストリームを表すことができます。 名前付きデータ ストリームの詳細については、「FILE_STREAM_INFORMATION」を参照してください。
セキュリティとアクセス制御の詳細については、Microsoft Windows SDK のドキュメントを参照してください。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
ヘッダー | fltkernel.h (Fltkernel.h を含む) |
ライブラリ | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |