Freigeben über


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

Weitere Informationen

FreeInheritedFromArray