GetInheritanceSourceA-Funktion (aclapi.h)
Diese Version dieser Funktion wird nicht unterstützt. Die Breitzeichenversion dieser Funktion GetInheritanceSourceW wird unterstützt.
Syntax
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
);
Parameter
[in] pObjectName
Ein Zeiger auf den Namen des Objekts, das die zu überprüfende ACL verwendet.
[in] ObjectType
Der Objekttyp, der durch pObjectName angegeben wird. Mögliche Werte sind SE_FILE_OBJECT, SE_REGISTRY_KEY, SE_DS_OBJECT und SE_DS_OBJECT_ALL.
[in] SecurityInfo
Der Typ der ACL, die mit dem -Objekt verwendet wird. Mögliche Werte sind DACL_SECURITY_INFORMATION oder SACL_SECURITY_INFORMATION.
[in] Container
TRUE , wenn das Objekt ein Containerobjekt ist, oder FALSE , wenn es sich um ein Blattobjekt handelt. Beachten Sie, dass das einzige Blattobjekt SE_FILE_OBJECT ist.
[in, optional] pObjectClassGuids
Optionale Liste der GUIDs, die die Objekttypen oder Namen identifizieren, die pObjectName zugeordnet sind. Dies kann NULL sein, wenn der Objekt-Manager nur eine Objektklasse unterstützt oder keine GUID der Objektklasse zugeordnet ist.
[in] GuidCount
Anzahl der GUIDs, auf die von pObjectClassGuids verwiesen wird.
[in] pAcl
Die ACL für das -Objekt.
[in, optional] pfnArray
Reserviert. Legen Sie diesen Parameter auf NULL fest.
[in] pGenericMapping
Die Zuordnung generischer Rechte zu bestimmten Rechten für das Objekt.
[out] pInheritArray
Ein Zeiger auf ein Array von INHERITED_FROM Strukturen, die die GetInheritanceSource-Funktion mit den Vererbungsinformationen auffüllt. Der Aufrufer muss genügend Arbeitsspeicher für einen Eintrag für jeden ACE in der ACL zuweisen.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion ERROR_SUCCESS zurück.
Wenn die Funktion fehlschlägt, gibt sie einen in WinError.h definierten Fehlercode ungleich null zurück.
Hinweise
Die GetInheritanceSource-Funktion ordnet Arbeitsspeicher für die Namen zu, die in der INHERITED_FROM-Struktur zurückgegeben werden. Wenn die Funktion die Verwendung dieses Arbeitsspeichers abgeschlossen hat, muss das aufrufende Programm ihn durch Aufrufen von FreeInheritedFromArray freigeben. Beachten Sie, dass der Aufrufer Arbeitsspeicher für das Array selbst bereitstellen muss. Wenn der Aufrufer den Arbeitsspeicher zugewiesen hat, muss der Aufrufer diesen Arbeitsspeicher nach dem Aufruf von FreeInheritedFromArray freigeben.
Diese Funktion verarbeitet keine Racebedingungen. Wenn Ihr Thread diese Funktion zu dem ungefähren Zeitpunkt aufruft, zu dem ein anderer Thread den Sicherheitsdeskriptor des Objekts ändert, kann diese Funktion fehlschlagen.
Hinweis
Der aclapi.h-Header definiert GetInheritanceSource als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | aclapi.h |
Bibliothek | Advapi32.lib |
DLL | Advapi32.dll |