ZwSetSecurityObject 関数 (ntifs.h)
ZwSetSecurityObject ルーチンは、オブジェクトのセキュリティ状態を設定します。
構文
NTSYSAPI NTSTATUS ZwSetSecurityObject(
[in] HANDLE Handle,
[in] SECURITY_INFORMATION SecurityInformation,
[in] PSECURITY_DESCRIPTOR SecurityDescriptor
);
パラメーター
[in] Handle
セキュリティ状態が設定されるオブジェクトのハンドル。 このハンドルには、SecurityInformation パラメーターの説明に示されているテーブルの [意味] 列に指定されたアクセス権が必要です。
[in] SecurityInformation
設定する情報を指定する SECURITY_INFORMATION値。 次の値の 1 つ以上の組み合わせを指定できます。
価値 | 意味 |
---|---|
DACL_SECURITY_INFORMATION | オブジェクトの随意アクセス制御リスト (DACL) を設定することを示します。 WRITE_DACアクセスが必要です。 |
GROUP_SECURITY_INFORMATION | オブジェクトのプライマリ グループ識別子を設定することを示します。 WRITE_OWNERアクセスが必要です。 |
OWNER_SECURITY_INFORMATION | オブジェクトの所有者識別子を設定することを示します。 WRITE_OWNERアクセスが必要です。 |
SACL_SECURITY_INFORMATION | オブジェクトのシステム ACL (SACL) を設定することを示します。 ACCESS_SYSTEM_SECURITYアクセスが必要です。 |
[in] SecurityDescriptor
オブジェクトに設定するセキュリティ記述子へのポインター。
戻り値
ZwSetSecurityObject
リターン コード | 形容 |
---|---|
STATUS_ACCESS_DENIED | ハンドル には、必要なアクセス権がありません。 |
STATUS_ACCESS_VIOLATION | SecurityDescriptor は、NULL ポインターです。 |
STATUS_INSUFFICIENT_RESOURCES | オブジェクトのセキュリティ記述子をキャプチャできませんでした。 |
STATUS_INVALID_ACL | オブジェクトのセキュリティ記述子に無効な ACL が含まれています。 |
STATUS_INVALID_HANDLE | ハンドル は有効なハンドルではありません。 |
STATUS_INVALID_SECURITY_DESCR | SecurityDescriptor は、有効なセキュリティ記述子を指していません。 |
STATUS_INVALID_SID | オブジェクトのセキュリティ記述子に、無効な SIDが含まれています。 |
STATUS_OBJECT_TYPE_MISMATCH | ハンドル は、想定される型のハンドルではありません。 |
STATUS_UNKNOWN_REVISION | オブジェクトのセキュリティ記述子のリビジョン レベルが不明であるか、サポートされていません。 |
備考
セキュリティ記述子は、絶対形式でも自己相対形式でもかまいません。 自己相対形式では、構造体のすべてのメンバーが連続してメモリ内に配置されます。 絶対形式では、構造体にはメンバーへのポインターのみが含まれます。 詳細については、Windows SDK ドキュメントの「セキュリティ」セクションの「絶対および Self-Relative セキュリティ記述子」を参照してください。
セキュリティとアクセス制御の詳細については、ドライバー開発者向けの Windows セキュリティ モデルの と、Windows SDK のこれらのトピックに関するドキュメントを参照してください。
ミニフィルターでは、ZwSetSecurityObjectではなく、FltSetSecurityObject
ZwSetSecurityObject の呼び出し元は、IRQL = PASSIVE_LEVEL で実行され、特殊なカーネル API が有効になっている 必要があります。
手記
ZwSetSecurityObject 関数の呼び出しがユーザー モードで発生する場合は、"ZwSetSecurityObject" ではなく"NtSetSecurityObject" という名前を使用する必要があります。
カーネル モード ドライバーからの呼び出しの場合、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) |
関連項目
FltSetSecurityObject の