RtlSetDaclSecurityDescriptor ルーチンは、絶対形式のセキュリティ記述子の DACL 情報を設定します。または、セキュリティ記述子に既に DACL が存在する場合は、置き換えられます。
構文
NTSYSAPI NTSTATUS RtlSetDaclSecurityDescriptor(
[in, out] PSECURITY_DESCRIPTOR SecurityDescriptor,
[in] BOOLEAN DaclPresent,
[in, optional] PACL Dacl,
[in, optional] BOOLEAN DaclDefaulted
);
パラメーター
[in, out] SecurityDescriptor
SECURITY_DESCRIPTOR構造体へのポインター。 この構造体は、DACL を適用するセキュリティ記述子です。
[in] DaclPresent
DACL がセキュリティ記述子に存在することを示すかどうか。 このパラメーターが FALSE の場合、 RtlSetDaclSecurityDescriptor はセキュリティ記述子のSE_DACL_PRESENT制御フラグを FALSE に設定します。 この場合、残りの省略可能なパラメーター (Dacl と DaclDefaulted) は無視されます。 DaclPresent が TRUE の場合、セキュリティ記述子のSE_DACL_PRESENT フラグは TRUE に設定され、残りの省略可能なパラメーターは無視されません。 SE_DACL_PRESENT フラグの詳細については、 SECURITY_DESCRIPTOR_CONTROLを参照してください。
[in, optional] Dacl
セキュリティ記述子の DACL へのポインター。 このパラメーターが NULL の場合、セキュリティ記述子の DACL ポインターは NULL に設定されます。 NULL DACL ポインターは、オブジェクトへのすべてのアクセスを無条件に許可し、空の DACL と同じではありません。 空の DACL は、オブジェクトへのすべてのアクセスを拒否します。 Dacl が NULL 以外の場合、呼び出し元によって提供される ACL 構造体は、セキュリティ記述子によって参照されますが、コピーされません。 呼び出し元は、ページングされたシステム メモリから ACL 構造体を割り当てることができ、 RtlCreateAcl ルーチンを呼び出して構造体を初期化できます。
❗警告:❗ NULL DACL を設定すると、オブジェクトに無制限にアクセスできるため、セキュリティ評価でこれが許容可能な結果であることが検証された戦略的なシナリオでのみ使用する必要があります。 既定ですべてのアクセスが拒否される 空 の DACL を使用することを検討してください。
[in, optional] DaclDefaulted
DACL が既定のメカニズムによって提供されたか、呼び出し元によって明示的に指定されたか。 このパラメーターが TRUE の場合、DACL は既定のメカニズムによって提供されました。 DaclDefaulted が FALSE の場合、呼び出し元は DACL を明示的に指定しました。 RtlSetDaclSecurityDescriptor は、このパラメーターに指定された値をセキュリティ記述子のSE_DACL_DEFAULTED制御フラグにコピーします。 SE_DACL_DEFAULTED フラグの詳細については、 SECURITY_DESCRIPTOR_CONTROLを参照してください。
戻り値
RtlSetDaclSecurityDescriptor は、次のいずれかの状態値を返すことができます。
リターン コード | 説明 |
---|---|
|
呼び出しが正常に完了しました。 |
|
セキュリティ記述子のリビジョンは不明です。 |
|
セキュリティ記述子は、絶対形式のセキュリティ記述子ではありません。 |
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 以降で使用できます。 |
ターゲット プラットフォーム の | 普遍 |
ヘッダー | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
図書館 | NtosKrnl.lib |
DLL | NtosKrnl.exe (カーネル モード);Ntdll.dll (ユーザー モード) |
IRQL | PASSIVE_LEVEL |
こちらもご覧ください
RtlCreateAcl を
RtlCreateSecurityDescriptor を
RtlLengthSecurityDescriptor を
RtlValidSecurityDescriptor の