Funzione SaferComputeTokenFromLevel (winsafer.h)

La funzione SaferComputeTokenFromLevel limita un token usando le restrizioni specificate da un SAFER_LEVEL_HANDLE.

Sintassi

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

Parametri

[in] LevelHandle

SAFER_LEVEL_HANDLE che contiene le restrizioni da inserire nel token di input. Non passare handle con levelid di SAFER_LEVELID_FULLYTRUSTED o SAFER_LEVELID_DISALLOWED a questa funzione. Ciò è dovuto al fatto che SAFER_LEVELID_FULLYTRUSTED è senza restrizioni e SAFER_LEVELID_DISALLOWED non contiene un token.

[in, optional] InAccessToken

Token da limitare. Se questo parametro è NULL, verrà usato il token del thread corrente. Se il thread corrente non contiene un token, viene usato il token del processo corrente.

[out] OutAccessToken

Token con restrizioni risultante.

[in] dwFlags

Specifica il comportamento del metodo . Il valore può essere NULL o uno o più dei valori seguenti combinati usando un'operazione OR bit per bit.

Valore Significato
SAFER_TOKEN_NULL_IF_EQUAL
1 (0x1)
Se il parametro OutAccessToken non è più restrittivo del parametro InAccessToken , il parametro OutAccessToken restituisce NULL.
SAFER_TOKEN_COMPARE_ONLY
2 (0x2)
Il token specificato dal parametro InAccessToken viene confrontato con il token che verrebbe creato se sono state applicate le restrizioni specificate dal parametro LevelHandle . Il token con restrizioni non viene effettivamente creato.

Nell'output il valore del parametro lpReserved specifica il risultato del confronto.

SAFER_TOKEN_MAKE_INERT
4 (0x4)
Se questo flag è impostato, il sistema non controlla le regole di AppLocker o applica i criteri di restrizione software. Per AppLocker, questo flag disabilita i controlli per tutte e quattro le raccolte di regole: Eseguibile, Windows Installer, Script e DLL.

Impostare questo flag durante la creazione di un programma di installazione che deve eseguire DLL estratte durante l'installazione.

È possibile eseguire una query su un token per verificare l'esistenza di questo flag usando GetTokenInformation.

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: AppLocker non è supportato.

SAFER_TOKEN_WANT_FLAGS
8 (0x8)
Nell'output il valore del parametro lpReserved specifica il set di flag usati per creare il token con restrizioni.

[in, out, optional] lpReserved

Se il flag SAFER_TOKEN_COMPARE_ONLY è impostato, questo parametro, nell'output, specifica il risultato del confronto dei token. Il valore di output è un LPDWORD. Il valore –1 indica che il token risultante sarebbe meno privilegiato del token specificato dal parametro InAccessToken .

Se il flag SAFER_TOKEN_WANT_FLAGS è impostato e il flag SAFER_TOKEN_COMPARE_ONLY non è impostato, questo parametro è un valore LPDWORD che specifica i flag usati per creare il token con restrizioni.

Valore restituito

TRUE se la funzione ha esito positivo; in caso contrario, FALSE. Per informazioni estese, chiamare GetLastError.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winsafer.h
Libreria Advapi32.lib
DLL Advapi32.dll
Set di API ext-ms-win-advapi32-safer-l1-1-0 (introdotto in Windows 8)