ZwQuerySecurityObject 関数 (ntifs.h)
ZwQuerySecurityObject ルーチンは、オブジェクトのセキュリティ記述子のコピーを取得します。
構文
NTSYSAPI NTSTATUS ZwQuerySecurityObject(
[in] HANDLE Handle,
[in] SECURITY_INFORMATION SecurityInformation,
[out] PSECURITY_DESCRIPTOR SecurityDescriptor,
[in] ULONG Length,
[out] PULONG LengthNeeded
);
パラメーター
[in] Handle
セキュリティ記述子を照会するオブジェクトのハンドル。 このハンドルには、SecurityInformation パラメーターの説明に示されているテーブルの [意味] 列に指定されたアクセス権が必要です。
[in] SecurityInformation
次の 1 つ以上の組み合わせとして照会する情報を指定する SECURITY_INFORMATION 値。
価値 | 意味 |
---|---|
OWNER_SECURITY_INFORMATION | オブジェクトの所有者識別子が照会されています。 READ_CONTROLアクセスが必要です。 |
GROUP_SECURITY_INFORMATION | オブジェクトのプライマリ グループ識別子が照会されています。 READ_CONTROLアクセスが必要です。 |
SACL_SECURITY_INFORMATION | オブジェクトのシステム ACL (SACL) が照会されています。 ACCESS_SYSTEM_SECURITYアクセスが必要です。 |
DACL_SECURITY_INFORMATION | オブジェクトの随意アクセス制御リスト (DACL) が照会されています。 READ_CONTROLアクセスが必要です。 |
[out] SecurityDescriptor
ZwQuerySecurityObject
[in] Length
SecurityDescriptorが指すバッファーのサイズ (バイト単位)。
[out] LengthNeeded
コピーされたセキュリティ記述子を格納するために必要なバイト数を受け取る呼び出し元によって割り当てられた変数へのポインター。
戻り値
ZwQuerySecurityObject
リターン コード | 形容 |
---|---|
STATUS_ACCESS_DENIED | ハンドル に必要なアクセス権がありませんでした。 |
STATUS_BUFFER_TOO_SMALL | バッファーがセキュリティ記述子に対して小さすぎます。 セキュリティ情報がバッファーにコピーされませんでした。 |
STATUS_INVALID_HANDLE | ハンドル が有効なハンドルではありません。 |
STATUS_OBJECT_TYPE_MISMATCH | ハンドル は、想定される型のハンドルではありません。 |
備考
セキュリティ記述子は、絶対形式でも自己相対形式でもかまいません。 自己相対形式では、構造体のすべてのメンバーが連続してメモリ内に配置されます。 絶対形式では、構造体にはメンバーへのポインターのみが含まれます。 詳細については、「セキュリティ記述子の絶対 Self-Relative」を参照してください。
NTFS ファイル システムでは、ファイルのディスクに書き込まれるセキュリティ記述子のサイズに 64K の制限が適用されます。 (FAT ファイル システムは、ファイルのセキュリティ記述子をサポートしていません)。したがって、64K SecurityDescriptor バッファーは、返された SECURITY_DESCRIPTOR 構造体を保持するのに十分な大きさであることが保証されます。
セキュリティとアクセス制御の詳細については、ドライバー開発者向けの Windows セキュリティ モデルの と、Windows SDK のこれらのトピックに関するドキュメントを参照してください。
ミニフィルターは、ZwQuerySecurityObjectではなく、FltQuerySecurityObject
手記
ZwQuerySecurityObject 関数の呼び出しがユーザー モードで発生する場合は、"ZwQuerySecurityObject" ではなく"NtQuerySecurityObject" という名前を使用する必要があります。
カーネル モード ドライバーからの呼び出しの場合、Windows ネイティブ システム サービス ルーチンの NtXxx および ZwXxx バージョンは、入力パラメーターを処理および解釈する方法で動作が異なる場合があります。 ルーチンの NtXxx と ZwXxx バージョンの間の関係の詳細については、「ネイティブ システム サービス ルーチンの Nt および Zw バージョンの使用 を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP |
ターゲット プラットフォーム の |
万国 |
ヘッダー | ntifs.h (Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 を |
HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |
関連項目
FltQuerySecurityObject の