Freigeben über


SeAccessCheckFromStateEx-Funktion (ntifs.h)

SeAccessCheckFromStateEx überprüft, ob den angeforderten Zugriffsrechten ein Objekt gewährt werden kann, das durch einen Sicherheitsdeskriptor und einen optionalen Objektbesitzer geschützt ist.

Syntax

BOOLEAN SeAccessCheckFromStateEx(
  PSECURITY_DESCRIPTOR SecurityDescriptor,
  PACCESS_TOKEN        PrimaryToken,
  PACCESS_TOKEN        ClientToken,
  ACCESS_MASK          DesiredAccess,
  ACCESS_MASK          PreviouslyGrantedAccess,
  PPRIVILEGE_SET       *Privileges,
  PGENERIC_MAPPING     GenericMapping,
  KPROCESSOR_MODE      AccessMode,
  PACCESS_MASK         GrantedAccess,
  PNTSTATUS            AccessStatus
);

Parameter

SecurityDescriptor

[in] Zeiger auf eine SECURITY_DESCRIPTOR Struktur, die die Sicherheitsinformationen enthält, die das Objekt schützen, auf das zugegriffen wird.

PrimaryToken

[in] Zeigen Sie auf eine undurchsichtige ACCESS_TOKEN Struktur für das primäre Token. Diese Struktur stellt die Informationen des Tokens bereit, die zum Durchführen einer Zugriffsüberprüfung erforderlich sind.

ClientToken

[in_opt] Optionaler Zeiger auf eine undurchsichtige ACCESS_TOKEN Struktur für das Clienttoken.

DesiredAccess

[in] Ein ACCESS_MASK Wert, der die gewünschten Zugriffsrechte angibt, die überprüft werden sollen.

PreviouslyGrantedAccess

[in] Ein ACCESS_MASK Wert, der alle Zugriffe angibt, denen der Benutzer bereits gewährt wurde; Beispielsweise als Ergebnis der Berechtigungserhaltung.

Privileges

[out] Zeigen Sie auf eine PRIVILEGE_SET Struktur, in der ein Berechtigungssatz zurückgegeben wird, um alle Berechtigungen anzugeben, die als Teil der Zugriffsüberprüfung verwendet wurden.

GenericMapping

[in] Zeiger auf die GENERIC_MAPPING Struktur, die diesem Objekttyp zugeordnet ist.

AccessMode

[in] Ein KPROCESSOR_MODE Wert, der den Prozessormodus angibt, der in der Überprüfung verwendet werden soll. AccessMode- kann entweder KernelMode- oder UserMode-sein. Treiber auf niedrigerer Ebene sollten KernelMode-angeben.

GrantedAccess

[out] Zeiger auf einen zurückgegebenen ACCESS_MASK Wert, der den gewährten Zugriff angibt.

AccessStatus

[out] Zeiger auf einen NT-Statuswert, der zurückgegeben werden kann, um anzugeben, warum der Zugriff verweigert wurde. Siehe Anmerkungen.

Rückgabewert

SeAccessCheckFromStateEx true zurück, wenn der Zugriff zulässig ist; es gibt FALSE zurück, wenn der Zugriff nicht zulässig ist.

Bemerkungen

SeAccessCheckFromStateEx möglicherweise Tests für die folgenden Berechtigungen durchführen, je nachdem, welche Zugriffe angefordert werden:

  • SeTakeOwnershipPrivilege
  • SeSecurityPrivilege

Diese Routine kann auch überprüfen, ob der Aufrufer der Besitzer des Objekts ist, um WRITE_DAC oder READ_CONTROL Zugriff zu gewähren.

Wenn diese Routine FALSE zurückgibt, sollte der Aufrufer die zurückgegebene AccessStatus- als Rückgabewert verwenden. Das heißt, der Aufrufer sollte vermeiden, dass ein Rückgabewert von STATUS_ACCESS_DENIED oder einem anderen spezifischen STATUS_XXX--Wert hartcodiert wird.

Diese Routine kann von der DPC-Ebene aufgerufen werden, daher darf sie nicht seitenfähig sein.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000
Header- ntifs.h
Library NtosKrnl.lib
DLL- NtosKrnl.exe

Siehe auch

SeAccessCheck-

SeAccessCheckFromState-