共用方式為


GetInheritanceSourceA 函式 (aclapi.h)

不支援此函式的這個版本。 支援此函式的寬字元版本,GetInheritanceSourceW

語法

DWORD GetInheritanceSourceA(
  [in]           LPSTR                 pObjectName,
  [in]           SE_OBJECT_TYPE        ObjectType,
  [in]           SECURITY_INFORMATION  SecurityInfo,
  [in]           BOOL                  Container,
  [in, optional] GUID                  **pObjectClassGuids,
  [in]           DWORD                 GuidCount,
  [in]           PACL                  pAcl,
  [in, optional] PFN_OBJECT_MGR_FUNCTS pfnArray,
  [in]           PGENERIC_MAPPING      pGenericMapping,
  [out]          PINHERITED_FROMA      pInheritArray
);

參數

[in] pObjectName

使用要檢查之 ACL 之物件名稱的指標。

[in] ObjectType

pObjectName 所指示的物件類型。 可能的值為SE_FILE_OBJECT、SE_REGISTRY_KEY、SE_DS_OBJECT和SE_DS_OBJECT_ALL。

[in] SecurityInfo

與物件搭配使用的 ACL 類型。 可能的值為DACL_SECURITY_INFORMATION或SACL_SECURITY_INFORMATION。

[in] Container

如果對像是容器物件,TRUE 如果對像是分葉物件,FALSE。 請注意,唯一的分葉對像是SE_FILE_OBJECT。

[in, optional] pObjectClassGuids

選擇性的 GUID 清單,可識別與 pObjectName 相關聯的物件類型或名稱。 如果物件管理員只支援一個對象類別,或沒有與對象類別相關聯的 GUID,這可能 NULL

[in] GuidCount

pObjectClassGuids 所指向的 GUID 數目

[in] pAcl

物件的 ACL。

[in, optional] pfnArray

保留。 將此參數設定為 NULL

[in] pGenericMapping

將泛型許可權對應至物件的特定許可權。

[out] pInheritArray

GetInheritanceSource 函式填入繼承資訊的 INHERITED_FROM 結構陣列指標。 呼叫端必須為 ACL 中每個 ACE 的專案配置足夠的記憶體。

傳回值

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

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

言論

GetInheritanceSource 函式會配置記憶體給 INHERITED_FROM 結構中傳回的名稱。 當函式使用此記憶體完成時,呼叫程式必須藉由呼叫freeInheritedFromArray 來釋放它。 請注意,呼叫端必須提供數位本身的記憶體。 如果呼叫端配置記憶體,呼叫端必須在呼叫freeInheritedFromArray 後釋放該記憶體。

此函式不會處理競爭條件。 如果您的線程在大約另一個線程變更物件的 安全性描述元時呼叫此函式,則此函式可能會失敗。

注意

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

要求

要求 價值
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平臺 窗戶
標頭 aclapi.h
連結庫 Advapi32.lib
DLL Advapi32.dll

另請參閱

FreeInheritedFromArray