GetKernelObjectSecurity 函式 (securitybaseapi.h)
GetKernelObjectSecurity 函式會擷取保護核心對象的安全性描述項複本。
語法
BOOL GetKernelObjectSecurity(
[in] HANDLE Handle,
[in] SECURITY_INFORMATION RequestedInformation,
[out, optional] PSECURITY_DESCRIPTOR pSecurityDescriptor,
[in] DWORD nLength,
[out] LPDWORD lpnLengthNeeded
);
參數
[in] Handle
核心物件的句柄。
[in] RequestedInformation
指定 SECURITY_INFORMATION 值,識別所要求的安全性資訊。
[out, optional] pSecurityDescriptor
函式所填入之緩衝區的指標,會填入指定物件之安全描述元的複本。 呼叫 進程 必須具有許可權,才能檢視物件安全性狀態的指定層面。 SECURITY_DESCRIPTOR結構會以自我相對格式傳回。
[in] nLength
指定 pSecurityDescriptor 參數所指向緩衝區的大小,以位元組為單位。
[out] lpnLengthNeeded
變數的指標,接收 pSecurityDescriptor 參數所指向之緩衝區所需的位元組數目。 如果此變數的值大於函式傳回時 nLength 參數的值,則不會將任何安全性描述元複製到緩衝區。
傳回值
如果函式成功,則傳回非零的值。
如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
若要從核心物件的安全性描述項讀取擁有者、群組或 DACL ,呼叫進程必須在開啟句柄時授與READ_CONTROL存取權。 若要取得READ_CONTROL存取權,呼叫端必須是對象的擁有者,或物件的 DACL 必須授與存取權。
若要從安全性描述項讀取 SACL ,呼叫進程必須在開啟句柄時授與ACCESS_SYSTEM_SECURITY存取權。 取得此存取權的適當方式是在呼叫端目前令牌中啟用SE_SECURITY_NAME許可權、開啟ACCESS_SYSTEM_SECURITY存取句柄,然後停用許可權。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | securitybaseapi.h (包含 Windows.h) |
程式庫 | Advapi32.lib |
Dll | Advapi32.dll |