Função SaferComputeTokenFromLevel (winsafer.h)
A função SaferComputeTokenFromLevel restringe um token usando restrições especificadas por um SAFER_LEVEL_HANDLE.
Sintaxe
BOOL SaferComputeTokenFromLevel(
[in] SAFER_LEVEL_HANDLE LevelHandle,
[in, optional] HANDLE InAccessToken,
[out] PHANDLE OutAccessToken,
[in] DWORD dwFlags,
[in, out, optional] LPVOID lpReserved
);
Parâmetros
[in] LevelHandle
SAFER_LEVEL_HANDLE que contém as restrições a serem colocadas no token de entrada. Não passe identificadores com um LevelId de SAFER_LEVELID_FULLYTRUSTED ou SAFER_LEVELID_DISALLOWED para essa função. Isso ocorre porque SAFER_LEVELID_FULLYTRUSTED é irrestrito e SAFER_LEVELID_DISALLOWED não contém um token.
[in, optional] InAccessToken
Token a ser restrito. Se esse parâmetro for NULL, o token do thread atual será usado. Se o thread atual não contiver um token, o token do processo atual será usado.
[out] OutAccessToken
O token restrito resultante.
[in] dwFlags
Especifica o comportamento do método . O valor pode ser NULL ou um ou mais dos valores a seguir combinados usando uma operação OR bit a bit.
Valor | Significado |
---|---|
|
Se o parâmetro OutAccessToken não for mais restritivo que o parâmetro InAccessToken , o parâmetro OutAccessToken retornará NULL. |
|
O token especificado pelo parâmetro InAccessToken é comparado com o token que seria criado se as restrições especificadas pelo parâmetro LevelHandle fossem aplicadas. O token restrito não é realmente criado.
Na saída, o valor do parâmetro lpReserved especifica o resultado da comparação. |
|
Se esse sinalizador estiver definido, o sistema não marcar regras do AppLocker nem aplicará políticas de restrição de software. Para o AppLocker, esse sinalizador desabilita as verificações de todas as quatro coleções de regras: Executável, Windows Installer, Script e DLL.
Defina esse sinalizador ao criar um programa de instalação que deve executar DLLs extraídas durante a instalação. Um token pode ser consultado quanto à existência desse sinalizador usando GetTokenInformation. Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Não há suporte para AppLocker. |
|
Na saída, o valor do parâmetro lpReserved especifica o conjunto de sinalizadores usados para criar o token restrito. |
[in, out, optional] lpReserved
Se o sinalizador SAFER_TOKEN_COMPARE_ONLY estiver definido, esse parâmetro, na saída, especificará o resultado da comparação de tokens. O valor de saída é um LPDWORD. Um valor de –1 indica que o token resultante seria menos privilegiado do que o token especificado pelo parâmetro InAccessToken .
Se o sinalizador SAFER_TOKEN_WANT_FLAGS estiver definido e o sinalizador SAFER_TOKEN_COMPARE_ONLY não estiver definido, esse parâmetro será um valor LPDWORD que especifica os sinalizadores usados para criar o token restrito.
Retornar valor
TRUE se a função for bem-sucedida; caso contrário, FALSE. Para obter informações estendidas, chame GetLastError.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winsafer.h |
Biblioteca | Advapi32.lib |
DLL | Advapi32.dll |
Conjunto de APIs | ext-ms-win-advapi32-safer-l1-1-0 (introduzido no Windows 8) |