(ntifs.h) RtlGetDaclSecurityDescriptor 函式
RtlGetDaclSecurityDescriptor 例程會傳回安全性描述元的任意 ACL (DACL) 指標。
語法
NTSYSAPI NTSTATUS RtlGetDaclSecurityDescriptor(
[in] PSECURITY_DESCRIPTOR SecurityDescriptor,
[out] PBOOLEAN DaclPresent,
[out] PACL *Dacl,
[out] PBOOLEAN DaclDefaulted
);
參數
[in] SecurityDescriptor
要傳回其 DACL 之SECURITY_DESCRIPTOR 指標。
[out] DaclPresent
布爾變數的指標,指出指定之安全性描述項中是否有 DACL。 如果這個變數收到 TRUE,則安全性描述項會包含 DACL,而其餘的輸出參數則會收到有效的值。 如果這個變數收到 FALSE,則安全性描述元不包含 DACL,而其餘的輸出參數則不會接收有效的值。
[out] Dacl
接收安全描述元之 DACL 位址之變數的指標。 如果安全性描述項沒有 DACL,則此變數不會收到值。 如果安全性描述項具有 NULL DACL,則此變數會收到 NULL。 NULL DACL 會隱含地允許存取物件。
[out] DaclDefaulted
布爾變數的指標,這個變數會接收安全性描述元SECURITY_DESCRIPTOR_CONTROL結構中SE_DACL_DEFAULTED旗標的值。 如果此旗標為 TRUE,則會以默認機制擷取 DACL。 如果為 FALSE,則 DACL 是由使用者明確指定。 只有在 *Dacl 收到非 NULL 值時,這個值才有效。
傳回值
RtlGetDaclSecurityDescriptor 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,如下所示:
傳回碼 | Description |
---|---|
|
安全性描述項的修訂層級未知或不受支援。 這是錯誤碼。 |
備註
*DaclPresent 的 TRUE 值並不表示 *Dacl 不是 NULL。 也就是說, *DaclPresent 可以是 TRUE ,而 *Dacl 為 NULL,這表示 NULL DACL 有效。 NULL DACL 會隱含地允許對物件的所有存取,而且與空的 DACL 不同。 空的 DACL 不允許存取物件。
如需安全性和訪問控制的詳細資訊,請參閱 適用於驅動程序開發人員的 Windows 安全性模型 ,以及 Windows SDK 中這些主題的相關文件。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Server 2003 SP1 |
目標平台 | Universal |
標頭 | ntifs.h (包含 Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | <= APC_LEVEL |