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 |