Freigeben über


SaferComputeTokenFromLevel-Funktion (winsafer.h)

Die SaferComputeTokenFromLevel--Funktion schränkt ein Token mithilfe von Einschränkungen ein, die durch eine SAFER_LEVEL_HANDLE angegeben werden.

Syntax

BOOL SaferComputeTokenFromLevel(
  [in]                SAFER_LEVEL_HANDLE LevelHandle,
  [in, optional]      HANDLE             InAccessToken,
  [out]               PHANDLE            OutAccessToken,
  [in]                DWORD              dwFlags,
  [in, out, optional] LPVOID             lpReserved
);

Parameter

[in] LevelHandle

SAFER_LEVEL_HANDLE, die die Einschränkungen für das Eingabetoken enthält. Übergeben Sie keine Handles mit einer LevelId von SAFER_LEVELID_FULLYTRUSTED oder SAFER_LEVELID_DISALLOWED an diese Funktion. Dies liegt daran, dass SAFER_LEVELID_FULLYTRUSTED uneingeschränkt ist und SAFER_LEVELID_DISALLOWED kein Token enthält.

[in, optional] InAccessToken

Token, das eingeschränkt werden soll. Wenn dieser Parameter NULL-ist, wird das Token des aktuellen Threads verwendet. Wenn der aktuelle Thread kein Token enthält, wird das Token des aktuellen Prozesses verwendet.

[out] OutAccessToken

Das resultierende eingeschränkte Token.

[in] dwFlags

Gibt das Verhalten der Methode an. Der Wert kann NULL- oder einen oder mehrere der folgenden Werte kombiniert werden, indem ein bitweiserODER--Vorgang verwendet wird.

Wert Bedeutung
SAFER_TOKEN_NULL_IF_EQUAL
1 (0x1)
Wenn der parameter OutAccessToken nicht restriktiver als der InAccessToken Parameter ist, gibt der OutAccessToken Parameter NULLzurück.
SAFER_TOKEN_COMPARE_ONLY
2 (0x2)
Das vom InAccessToken Parameter angegebene Token wird mit dem Token verglichen, das erstellt werden würde, wenn die vom LevelHandle Parameter angegebenen Einschränkungen angewendet wurden. Das eingeschränkte Token wird nicht tatsächlich erstellt.

Bei der Ausgabe gibt der Wert des lpReserved Parameter das Ergebnis des Vergleichs an.

SAFER_TOKEN_MAKE_INERT
4 (0x4)
Wenn dieses Kennzeichen festgelegt ist, überprüft das System AppLocker- Regeln nicht oder wendet Richtlinien für Softwareeinschränkungan. Bei AppLocker-deaktiviert dieses Flag Die Überprüfungen auf alle vier Regelsammlungen: Ausführbare Datei, Windows Installer, Skript und DLL.

Legen Sie dieses Kennzeichen fest, wenn Sie ein Setupprogramm erstellen, das extrahierte DLLs während der Installation ausführen muss.

Ein Token kann mithilfe von GetTokenInformationnach dem Vorhandensein dieses Flags abgefragt werden.

Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: AppLocker wird nicht unterstützt.

SAFER_TOKEN_WANT_FLAGS
8 (0x8)
Bei der Ausgabe gibt der Wert des lpReserved-Parameters den Satz von Flags an, die zum Erstellen des eingeschränkten Tokens verwendet werden.

[in, out, optional] lpReserved

Wenn das SAFER_TOKEN_COMPARE_ONLY Flag festgelegt ist, gibt dieser Parameter bei der Ausgabe das Ergebnis des Tokenvergleichs an. Der Ausgabewert ist ein LPDWORD-. Ein Wert von –1 gibt an, dass das resultierende Token weniger privilegierte als das vom InAccessToken Parameter angegebene Token wäre.

Wenn das SAFER_TOKEN_WANT_FLAGS Flag festgelegt ist und das SAFER_TOKEN_COMPARE_ONLY Flag nicht festgelegt ist, ist dieser Parameter ein LPDWORD Wert, der die Flags angibt, die zum Erstellen des eingeschränkten Tokens verwendet werden.

Rückgabewert

TRUE, wenn die Funktion erfolgreich ist; andernfalls FALSE. Rufen Sie für erweiterte Informationen GetLastError-auf.

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- winsafer.h
Library Advapi32.lib
DLL- Advapi32.dll
API-Satz ext-ms-win-advapi32-safer-l1-1-0 (eingeführt in Windows 8)