(wdm.h) RtlSetDaclSecurityDescriptor 函式
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 可以傳回下列其中一個狀態值。
傳回碼 | Description |
---|---|
|
呼叫已順利完成。 |
|
安全性描述元的修訂未知。 |
|
安全性描述元不是絕對格式的安全性描述元。 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 2000 開始提供。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe (核心模式) ;Ntdll.dll (使用者模式) |
IRQL | PASSIVE_LEVEL |