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 |