Freigeben über


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

Siehe auch

FreeInheritedFromArray