Partager via


Fonction SaferComputeTokenFromLevel (winsafer.h)

La fonction SaferComputeTokenFromLevel restreint un jeton à l’aide de restrictions spécifiées par un SAFER_LEVEL_HANDLE.

Syntaxe

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

Paramètres

[in] LevelHandle

SAFER_LEVEL_HANDLE qui contient les restrictions à placer sur le jeton d’entrée. Ne passez pas de handles avec un LevelId de SAFER_LEVELID_FULLYTRUSTED ou SAFER_LEVELID_DISALLOWED à cette fonction. Cela est dû au fait que SAFER_LEVELID_FULLYTRUSTED est sans restriction et SAFER_LEVELID_DISALLOWED ne contient pas de jeton.

[in, optional] InAccessToken

Jeton à restreindre. Si ce paramètre a la valeur NULL, le jeton du thread actuel est utilisé. Si le thread actuel ne contient pas de jeton, le jeton du processus en cours est utilisé.

[out] OutAccessToken

Jeton restreint résultant.

[in] dwFlags

Spécifie le comportement de la méthode. La valeur peut être NULL ou une ou plusieurs des valeurs suivantes combinées à l’aide d’une opération OR au niveau du bit.

Valeur Signification
SAFER_TOKEN_NULL_IF_EQUAL
1 (0x1)
Si le paramètre OutAccessToken n’est pas plus restrictif que le paramètre InAccessToken , le paramètre OutAccessToken retourne null.
SAFER_TOKEN_COMPARE_ONLY
2 (0x2)
Le jeton spécifié par le paramètre InAccessToken est comparé au jeton qui serait créé si les restrictions spécifiées par le paramètre LevelHandle étaient appliquées. Le jeton restreint n’est pas créé.

À la sortie, la valeur du paramètre lpReserved spécifie le résultat de la comparaison.

SAFER_TOKEN_MAKE_INERT
4 (0x4)
Si cet indicateur est défini, le système ne case activée pas les règles AppLocker ou n’applique pas de stratégies de restriction logicielle. Pour AppLocker, cet indicateur désactive les vérifications pour les quatre collections de règles : Exécutable, Windows Installer, Script et DLL.

Définissez cet indicateur lors de la création d’un programme d’installation qui doit exécuter des DLL extraites pendant l’installation.

Un jeton peut être interrogé pour l’existence de cet indicateur à l’aide de GetTokenInformation.

Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : AppLocker n’est pas pris en charge.

SAFER_TOKEN_WANT_FLAGS
8 (0x8)
Sur la sortie, la valeur du paramètre lpReserved spécifie le jeu d’indicateurs utilisé pour créer le jeton restreint.

[in, out, optional] lpReserved

Si l’indicateur SAFER_TOKEN_COMPARE_ONLY est défini, ce paramètre, sur la sortie, spécifie le résultat de la comparaison de jetons. La valeur de sortie est un LPDWORD. La valeur –1 indique que le jeton résultant est moins privilégié que le jeton spécifié par le paramètre InAccessToken .

Si l’indicateur SAFER_TOKEN_WANT_FLAGS est défini et que l’indicateur SAFER_TOKEN_COMPARE_ONLY n’est pas défini, ce paramètre est une valeur LPDWORD qui spécifie les indicateurs utilisés pour créer le jeton restreint.

Valeur retournée

TRUE si la fonction réussit ; sinon, FALSE. Pour obtenir des informations étendues, appelez GetLastError.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winsafer.h
Bibliothèque Advapi32.lib
DLL Advapi32.dll
Ensemble d’API ext-ms-win-advapi32-safer-l1-1-0 (introduit dans Windows 8)