Freigeben über


SaferComputeTokenFromLevel-Funktion (winsafer.h)

Die SaferComputeTokenFromLevel-Funktion schränkt ein Token mithilfe von Einschränkungen ein, die von einem 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 , der 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 mindestens einer der folgenden Werte sein, die mithilfe eines bitweisen OR-Vorgangs kombiniert werden.

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

In der Ausgabe gibt der Wert des lpReserved-Parameters das Ergebnis des Vergleichs an.

SAFER_TOKEN_MAKE_INERT
4 (0x4)
Wenn dieses Flag festgelegt ist, überprüft das System weder AppLocker-Regeln noch wendet Softwareeinschränkungsrichtlinien an. Für AppLocker deaktiviert dieses Flag überprüfungen für alle vier Regelsammlungen: Ausführbare Datei, Windows Installer, Skript und DLL.

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

Ein Token kann mithilfe von GetTokenInformation nach 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. Der Wert –1 gibt an, dass das resultierende Token weniger privilegiert ist als das vom InAccessToken-Parameter angegebene Token.

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. Um weitere Informationen zu erhalten, rufen Sie GetLastError auf.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winsafer.h
Bibliothek Advapi32.lib
DLL Advapi32.dll
APIs ext-ms-win-advapi32-safer-l1-1-0 (eingeführt in Windows 8)