Freigeben über


LookupSecurityDescriptorPartsA-Funktion (aclapi.h)

Die funktion LookupSecurityDescriptorParts ruft Sicherheitsinformationen aus einer selbstrelativen Sicherheitsbeschreibungab.

Syntax

DWORD LookupSecurityDescriptorPartsA(
  [out, optional] PTRUSTEE_A           *ppOwner,
  [out, optional] PTRUSTEE_A           *ppGroup,
  [out, optional] PULONG               pcCountOfAccessEntries,
  [out, optional] PEXPLICIT_ACCESS_A   *ppListOfAccessEntries,
  [out, optional] PULONG               pcCountOfAuditEntries,
  [out, optional] PEXPLICIT_ACCESS_A   *ppListOfAuditEntries,
  [in]            PSECURITY_DESCRIPTOR pSD
);

Parameter

[out, optional] ppOwner

Ein Zeiger auf eine Variable, die einen Zeiger auf eine TRUSTEE--Struktur empfängt. Die Funktion sucht den Namen, der dem Besitzer zugeordnet ist, Sicherheitsbezeichner (SID) im pSD-Sicherheitsdeskriptorzugeordnet ist, und gibt einen Zeiger auf den Namen im ptstrName Member der TRUSTEE- Struktur zurück. Die Funktion legt das TrusteeForm Member auf TRUSTEE_IS_NAME fest.

Dieser Parameter kann NULL- werden, wenn Sie nicht an dem Namen des Besitzers interessiert sind.

[out, optional] ppGroup

Ein Zeiger auf eine Variable, die einen Zeiger auf eine TRUSTEE--Struktur empfängt. Die Funktion sucht nach dem Namen, der der primären Gruppen-SID des Sicherheitsdeskriptors zugeordnet ist, und gibt einen Zeiger auf den Namen im ptstrName Member der TRUSTEE--Struktur zurück. Die Funktion legt das TrusteeForm Member auf TRUSTEE_IS_NAME fest.

Dieser Parameter kann NULL- werden, wenn Sie nicht an dem Namen der Gruppe interessiert sind.

[out, optional] pcCountOfAccessEntries

Ein Zeiger auf eine ULONG-, die die Anzahl der im pListOfAccessEntries Array zurückgegebenen EXPLICIT_ACCESS Strukturen empfängt. Dieser Parameter kann nur NULL- werden, wenn der pListOfAccessEntries-Parameter auch NULL-ist.

[out, optional] ppListOfAccessEntries

Ein Zeiger auf eine Variable, die einen Zeiger auf ein Array von EXPLICIT_ACCESS Strukturen empfängt, die die Zugriffssteuerungseinträge (ACEs) in der diskretionären Zugriffssteuerungsliste (DACL) des Sicherheitsdeskriptors beschreiben. Die TRUSTEE- Struktur in diesen EXPLICIT_ACCESS Strukturen verwenden das TRUSTEE_IS_NAME Formular. Eine Beschreibung, wie ein Array von EXPLICIT_ACCESS Strukturen die ACEs in einer Zugriffssteuerungsliste (Access Control List, ACL) beschreibt, finden Sie unter GetExplicitEntriesFromAcl-Funktion. Wenn dieser Parameter NULL-ist, muss der cCountOfAccessEntries-Parameter auch NULL-sein.

[out, optional] pcCountOfAuditEntries

Ein Zeiger auf eine ULONG-, die die Anzahl der in der pListOfAuditEntries Array zurückgegebenen EXPLICIT_ACCESS Strukturen empfängt. Dieser Parameter kann nur NULL- werden, wenn der pListOfAuditEntries Parameter ebenfalls NULL-ist.

[out, optional] ppListOfAuditEntries

Ein Zeiger auf eine Variable, die einen Zeiger auf ein Array von EXPLICIT_ACCESS Strukturen empfängt, die die ACEs in der Systemzugriffssteuerungsliste (SACL) des Sicherheitsdeskriptors beschreiben. Die TRUSTEE- Struktur in diesen EXPLICIT_ACCESS Strukturen verwendet das TRUSTEE_IS_NAME Formular. Wenn dieser Parameter NULL-ist, muss der cCountOfAuditEntries Parameter auch NULL-sein.

[in] pSD

Ein Zeiger auf einen vorhandenen selbstrelativen Sicherheitsdeskriptor, aus dem die Funktion Sicherheitsinformationen abruft.

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 LookupSecurityDescriptorParts--Funktion ruft die Namen des Besitzers und der primären Gruppe der Sicherheitsbeschreibung ab. Diese Funktion gibt auch Beschreibungen der ACEs in der DACL und Überwachungssteuerungseinträge in der SACL des Sicherheitsdeskriptors zurück.

Die anderen Parameter als pSD- können NULL- sein, wenn Sie nicht an den Informationen interessiert sind. Wenn Sie keine Informationen zur DACL benötigen, müssen sowohl pListOfAccessEntries als auch cCountOfAuditEntriesNULL-sein. Wenn Sie keine Informationen über die SACL wünschen, müssen sowohl pListOfAuditEntries als auch cCountOfAuditEntries nullsein. Wenn Sie DACL- oder SACL-Informationen benötigen, dürfen beide entsprechenden Parameter nicht NULL-werden.

Wenn Sie einen der Puffer verwendet haben, die von den pOwner, pGroup, pListOfAccessEntriesoder pListOfAuditEntries Parametern zurückgegeben werden, geben Sie diese frei, indem Sie die Funktion LocalFree aufrufen.

Die LookupSecurityDescriptorParts--Funktion ist für vertrauenswürdige Server vorgesehen, die Sicherheit auf ihren eigenen Objekten implementieren oder verfügbar machen. Die Funktion funktioniert mit einem selbstrelativen Sicherheitsdeskriptor, der zum Serialisieren in einen Datenstrom und zum Speichern auf einem Datenträger geeignet ist, da ein vertrauenswürdiger Server möglicherweise erforderlich ist.

Anmerkung

Der Header "aclapi.h" definiert LookupSecurityDescriptorParts 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

ACE-

ACL-

Client-/Server-Zugriffssteuerungsfunktionen

übersicht über Client-/Server-Zugriffssteuerung

EXPLICIT_ACCESS

GetExplicitEntriesFromAcl

LocalFree-

SECURITY_DESCRIPTOR

SID-

TRUSTEE-