共用方式為


GetFileSecurityW 函式 (securitybaseapi.h)

GetFileSecurity 函式會取得檔案或目錄安全性的指定資訊。 取得的資訊受限於呼叫者的訪問許可權和 許可權

GetNamedSecurityInfo 函式提供類似檔案的 GetFileSecurity 功能,以及其他類型的物件。

語法

BOOL GetFileSecurityW(
  [in]            LPCWSTR              lpFileName,
  [in]            SECURITY_INFORMATION RequestedInformation,
  [out, optional] PSECURITY_DESCRIPTOR pSecurityDescriptor,
  [in]            DWORD                nLength,
  [out]           LPDWORD              lpnLengthNeeded
);

參數

[in] lpFileName

Null 終止字串的指標,指定擷取安全性資訊的檔案或目錄。

[in] RequestedInformation

識別所要求安全性資訊的 SECURITY_INFORMATION 值。

[out, optional] pSecurityDescriptor

緩衝區的指標,這個緩衝區會接收 lpFileName 參數所指定之物件之安全性描述元的複本。 呼叫 進程 必須具有許可權,才能檢視物件安全性狀態的指定層面。 SECURITY_DESCRIPTOR結構會以自我相對安全性描述元格式傳回。

[in] nLength

指定 pSecurityDescriptor 參數所指向之緩衝區的大小,以位元組為單位。

[out] lpnLengthNeeded

變數的指標,可接收儲存完整 安全性描述元所需的位元組數目。 如果傳回的位元組數目小於或等於 nLength,則會在輸出緩衝區中傳回整個安全性描述元;否則,不會傳回任何描述項。

傳回值

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

若要從指定檔案或目錄的安全性描述元讀取擁有者、群組或 DACL ,檔案或目錄的 DACL 必須授與呼叫端的存取權READ_CONTROL,或者呼叫端必須是檔案或目錄的擁有者。

若要讀取檔案或目錄的 SACL ,必須啟用呼叫程式的SE_SECURITY_NAME許可權。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 securitybaseapi.h (包括 Windows.h)
程式庫 Advapi32.lib
Dll Advapi32.dll

另請參閱

GetKernelObjectSecurity
GetNamedSecurityInfo
GetPrivateObjectSecurity
GetUserObjectSecurity
低階 存取控制
低階 存取控制 函式
SECURITY_DESCRIPTOR
SECURITY_INFORMATION
SetFileSecurity