LookupSecurityDescriptorPartsA 函式 (aclapi.h)

LookupSecurityDescriptorParts 函式會從自我相對安全性描述元擷取安全性資訊。

語法

DWORD LookupSecurityDescriptorPartsA(
  [out, optional] PTRUSTEE_A           *ppOwner,
  [out, optional] PTRUSTEE_A           *ppGroup,
  [out, optional] PULONG               pcCountOfAccessEntries,
  [out, optional] PEXPLICIT_ACCESS_A   *ppListOfAccessEntries,
  [out, optional] PULONG               pcCountOfAuditEntries,
  [out, optional] PEXPLICIT_ACCESS_A   *ppListOfAuditEntries,
  [in]            PSECURITY_DESCRIPTOR pSD
);

參數

[out, optional] ppOwner

變數的指標,可接收 對 TRUSTEE 結構的指標。 函式會在 pSD 安全性描述元中查閱與擁有者安全性標識符相關聯的名稱, (SID) ,並傳回在 TRUSTEE 結構的 ptstrName 成員中名稱的指標。 函式會將 TrusteeForm 成員設定為 TRUSTEE_IS_NAME。

如果您對擁有者的名稱不感興趣,此參數可以是 NULL

[out, optional] ppGroup

變數的指標,可接收 對 TRUSTEE 結構的指標。 此函式會查閱與安全描述元之主要群組 SID 相關聯的名稱,並傳回在 TRUSTEE 結構之 ptstrName 成員中名稱的指標。 函式會將 TrusteeForm 成員設定為 TRUSTEE_IS_NAME。

如果您對組名不感興趣,這個參數可以是 NULL

[out, optional] pcCountOfAccessEntries

ULONG 的指標,接收 pListOfAccessEntries 陣列中傳回的EXPLICIT_ACCESS結構數目。 只有當pListOfAccessEntries 參數也是 NULL 時,此參數才能是 NULL

[out, optional] ppListOfAccessEntries

變數的指標,該變數會接收EXPLICIT_ACCESS結構的指標,該陣列描述安全性描述元 (DACL) 之選擇性存取控制清單中的存取控制專案 (ACE) 。 這些EXPLICIT_ACCESS結構中的TRUSTEE結構會使用TRUSTEE_IS_NAME形式。 如需 EXPLICIT_ACCESS 結構的數位如何描述 訪問控制清單中的 ACE (ACL) ,請參閱 GetExplicitEntriesFromAcl 函式。 如果此參數為 NULL,cCountOfAccessEntries 參數也必須是 NULL。

[out, optional] pcCountOfAuditEntries

ULONG 的指標,可接收 pListOfAuditEntries 陣列中傳回的EXPLICIT_ACCESS結構數目。 只有當pListOfAuditEntries 參數也是 NULL 時,此參數才能是 NULL

[out, optional] ppListOfAuditEntries

變數的指標,接收 EXPLICIT_ACCESS 結構數位的指標,這些結構描述 系統訪問控制清單中的 ACE (SACL) 安全性描述元。 這些EXPLICIT_ACCESS結構中的TRUSTEE結構會使用TRUSTEE_IS_NAME形式。 如果此參數為 NULL,cCountOfAuditEntries 參數也必須是 NULL。

[in] pSD

函式從中擷取安全性資訊的現有 自我相對安全性描述元 指標。

傳回值

如果函式成功,函式會傳回ERROR_SUCCESS。

如果函式失敗,它會傳回 WinError.h 中定義的非零錯誤碼。

備註

LookupSecurityDescriptorParts 函式會擷取安全性描述元的擁有者和主要群組的名稱。 此函式也會傳回 DACL 中 ACE 的描述,以及安全性描述元之 SACL 中的稽核控制專案描述。

如果您對資訊不感興趣, pSD 以外的參數可以是 NULL 。 如果您不想要 DACL 的相關信息, pListOfAccessEntriescCountOfAuditEntries 都必須是 NULL。 如果您不想要 SACL 的相關信息, pListOfAuditEntriescCountOfAuditEntries 都必須是 NULL。 同樣地,如果您想要 DACL 或 SACL 資訊,則兩個對應的參數不得為 NULL

當您完成使用 pOwnerpGrouppListOfAccessEntriespListOfAuditEntries 參數傳回的任何緩衝區時,請呼叫 LocalFree 函式來釋放這些緩衝區。

LookupSecurityDescriptorParts 函式適用於在自己的對象上實作或公開安全性的信任伺服器。 函式適用於自我相對安全性描述元,適合串行化為數據流並儲存至磁碟,因為信任的伺服器可能需要。

注意

aclapi.h 標頭會將 LookupSecurityDescriptorParts 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

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

另請參閱

Ace

ACL

用戶端/伺服器 存取控制 函式

用戶端/伺服器 存取控制 概觀

EXPLICIT_ACCESS

GetExplicitEntriesFromAcl

LocalFree

SECURITY_DESCRIPTOR

SID

受託 人