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
可識別 與 pObjectName 相關聯的物件類型或名稱的選擇性 GUID 清單。 如果物件管理員只支援一個對象類別,或沒有與對象類別相關聯的 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 標頭會將 GetInheritanceSource 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | aclapi.h |
程式庫 | Advapi32.lib |
Dll | Advapi32.dll |