NtSetSecurityObject 関数 (ntifs.h)
NtSetSecurityObject ルーチンは、オブジェクトのセキュリティ状態を設定します。
構文
__kernel_entry NTSYSCALLAPI NTSTATUS NtSetSecurityObject(
[in] HANDLE Handle,
[in] SECURITY_INFORMATION SecurityInformation,
[in] PSECURITY_DESCRIPTOR SecurityDescriptor
);
パラメーター
[in] Handle
セキュリティ状態が設定されるオブジェクトのハンドル。 このハンドルには、SecurityInformation パラメーターの説明に示されているテーブルの [意味] 列に指定されたアクセス権が必要です。
[in] SecurityInformation
SECURITY_INFORMATION 次の 1 つ以上の組み合わせとして設定する情報を指定する値です。
価値 | 意味 |
---|---|
OWNER_SECURITY_INFORMATION | オブジェクトの所有者識別子を設定することを示します。 WRITE_OWNERアクセスが必要です。 |
GROUP_SECURITY_INFORMATION | オブジェクトのプライマリ グループ識別子を設定することを示します。 WRITE_OWNERアクセスが必要です。 |
SACL_SECURITY_INFORMATION | オブジェクトのシステム ACL (SACL) を設定することを示します。 ACCESS_SYSTEM_SECURITYアクセスが必要です。 |
DACL_SECURITY_INFORMATION | オブジェクトの随意アクセス制御リスト (DACL) を設定することを示します。 WRITE_DACアクセスが必要です。 |
[in] SecurityDescriptor
オブジェクトに設定するセキュリティ記述子へのポインター。
戻り値
NtSetSecurityObject
リターン コード | 形容 |
---|---|
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 | オブジェクトのセキュリティ記述子のリビジョン レベルが不明であるか、サポートされていませんでした。 |
備考
セキュリティ記述子は、絶対形式でも自己相対形式でもかまいません。 自己相対形式では、構造体のすべてのメンバーが連続してメモリ内に配置されます。 絶対形式では、構造体にはメンバーへのポインターのみが含まれます。 詳細については、「セキュリティ記述子の絶対 Self-Relative」を参照してください。
セキュリティとアクセス制御の詳細については、ドライバー開発者向けの Windows セキュリティ モデルの と、Windows SDK のこれらのトピックに関するドキュメントを参照してください。
ミニフィルターでは、NtSetSecurityObjectではなく、FltSetSecurityObject
NtSetSecurityObject の呼び出し元は、IRQL = PASSIVE_LEVEL で実行され、特殊なカーネル API が有効になっている 必要があります。
手記
カーネル モード ドライバーからの呼び出しの場合、Windows ネイティブ システム サービス ルーチンの NtXxx および ZwXxx バージョンは、入力パラメーターを処理および解釈する方法で動作が異なる場合があります。 ルーチンの NtXxx と ZwXxx バージョンの間の関係の詳細については、「ネイティブ システム サービス ルーチンの Nt および Zw バージョンの使用 を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP |
ターゲット プラットフォーム の |
万国 |
ヘッダー | ntifs.h (Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (「解説」セクションを参照) |
DDI コンプライアンス規則 を |
HwStorPortProhibitedDIs、PowerIrpDDis |
関連項目
FltSetSecurityObject の
ネイティブ システム サービス ルーチンの Nt バージョンと Zw バージョンを使用した
NtQuerySecurityObject の