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

另請參閱

GetFileSecurity

GetPrivateObjectSecurity

GetUserObjectSecurity

低階 存取控制

低階 存取控制 函式

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

SetKernelObjectSecurity