RtlSetDaclSecurityDescriptor 関数 (wdm.h)
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 ルーチンを呼び出して構造体を初期化できます。
[in, optional] DaclDefaulted
DACL が既定のメカニズムによって提供されたか、呼び出し元によって明示的に指定されたか。 このパラメーターが TRUE の場合、DACL は既定のメカニズムによって提供されました。 DaclDefaulted が FALSE の場合、呼び出し元は DACL を明示的に指定しました。 RtlSetDaclSecurityDescriptor は、このパラメーターに指定された値をセキュリティ記述子のSE_DACL_DEFAULTED制御フラグにコピーします。 SE_DACL_DEFAULTED フラグの詳細については、「 SECURITY_DESCRIPTOR_CONTROL」を参照してください。
戻り値
RtlSetDaclSecurityDescriptor は、次のいずれかの状態値を返すことができます。
リターン コード | 説明 |
---|---|
|
呼び出しは、正常に完了しました。 |
|
セキュリティ記述子のリビジョンは不明です。 |
|
セキュリティ記述子は、絶対形式のセキュリティ記述子ではありません。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe (カーネル モード);Ntdll.dll (ユーザー モード) |
IRQL | PASSIVE_LEVEL |