SeAccessCheckFromStateEx-Funktion (ntifs.h)
SeAccessCheckFromStateEx überprüft, ob die angeforderten Zugriffsrechte für ein Objekt gewährt werden können, 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] Zeiger auf eine undurchsichtige ACCESS_TOKEN Struktur für das primäre Token. Diese Struktur stellt die Informationen des Tokens bereit, die für die Durchführung 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, die dem Benutzer bereits gewährt wurden; z. B. aufgrund des Haltens einer Berechtigung.
Privileges
[out] Zeiger auf eine PRIVILEGE_SET-Struktur , in der ein Berechtigungssatz zurückgegeben wird, um alle Berechtigungen anzugeben, die im Rahmen 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 bei 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-status Wert, der zurückgegeben werden kann, um anzugeben, warum der Zugriff verweigert wurde. Siehe Hinweise.
Rückgabewert
SeAccessCheckFromStateEx gibt TRUE zurück, wenn der Zugriff zulässig ist. Es gibt FALSE zurück, wenn der Zugriff nicht zulässig ist.
Hinweise
SeAccessCheckFromStateEx führt möglicherweise Tests für die folgenden Berechtigungen aus, abhängig von den angeforderten Zugriffen:
- 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 den zurückgegebenen AccessStatus als Rückgabewert verwenden. Das heißt, der Aufrufer sollte die Hardcodierung eines Rückgabewerts von STATUS_ACCESS_DENIED oder einem anderen spezifischen STATUS_XXX-Wert vermeiden.
Diese Routine kann von der DPC-Ebene aufgerufen werden und darf daher nicht ausserstellbar sein.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 |
Kopfzeile | ntifs.h |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |