GetInheritanceSourceA-Funktion (aclapi.h)
Diese Version dieser Funktion wird nicht unterstützt. Die breite Zeichenversion 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 pObjectNameangegeben ist. Die möglichen Werte sind SE_FILE_OBJECT, SE_REGISTRY_KEY, SE_DS_OBJECT und SE_DS_OBJECT_ALL.
[in] SecurityInfo
Der Typ der mit dem Objekt verwendeten ACL. Die möglichen Werte sind DACL_SECURITY_INFORMATION oder SACL_SECURITY_INFORMATION.
[in] Container
TRUE, wenn es sich bei dem Objekt um ein Containerobjekt oder FALSE handelt, wenn es sich bei dem Objekt 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
Die Anzahl der GUIDs, auf die durch pObjectClassGuidsverwiesen 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 ausfüllt. Der Aufrufer muss genügend Arbeitsspeicher für einen Eintrag für jede ACE in der ACL zuweisen.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion ERROR_SUCCESS zurück.
Wenn die Funktion fehlschlägt, wird ein nichtzero-Fehlercode zurückgegeben, der in WinError.h definiert ist.
Bemerkungen
Die GetInheritanceSource--Funktion weist Speicher für die in der INHERITED_FROM Struktur zurückgegebenen Namen zu. Wenn die Funktion diesen Speicher verwendet hat, muss das aufrufende Programm sie durch Aufrufen von FreeInheritedFromArrayfreigeben. Beachten Sie, dass der Aufrufer Speicher für das Array selbst bereitstellen muss. Wenn der Anrufer den Speicher zugewiesen hat, muss der Aufrufer diesen Speicher nach dem Aufruf FreeInheritedFromArrayfreigeben.
Diese Funktion behandelt keine Rennbedingungen. Wenn Ihr Thread diese Funktion zum ungefähren Zeitpunkt aufruft, zu dem ein anderer Thread die Sicherheitsbeschreibung des Objektsändert, kann diese Funktion fehlschlagen.
Anmerkung
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 |
---|---|
mindestens unterstützte Client- | Windows XP [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2003 [Nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | aclapi.h |
Library | Advapi32.lib |
DLL- | Advapi32.dll |