Funzione PrivilegeCheck (securitybaseapi.h)

La funzione PrivilegeCheck determina se un set specificato di privilegi è abilitato in un token di accesso. La funzione PrivilegeCheck viene in genere chiamata da un'applicazione server per controllare i privilegi del token di accesso di un client.

Sintassi

BOOL PrivilegeCheck(
  [in]      HANDLE         ClientToken,
  [in, out] PPRIVILEGE_SET RequiredPrivileges,
  [out]     LPBOOL         pfResult
);

Parametri

[in] ClientToken

Handle di un token di accesso che rappresenta un processo client. Questo handle deve essere stato ottenuto aprendo il token di un thread che rappresenta il client. Il token deve essere aperto per l'accesso TOKEN_QUERY.

[in, out] RequiredPrivileges

Puntatore a una struttura PRIVILEGE_SET . Il membro Privilege di questa struttura è una matrice di strutture LUID_AND_ATTRIBUTES . Prima di chiamare PrivilegeCheck, usare la matrice Privilege per indicare il set di privilegi da controllare. Impostare il membro Control su PRIVILEGE_SET_ALL_NECESSARY se è necessario abilitare tutti i privilegi; o impostarlo su zero se è sufficiente abilitare uno dei privilegi.

Quando PrivilegeCheck viene restituito, il membro Attributes di ogni struttura LUID_AND_ATTRIBUTES viene impostato su SE_PRIVILEGE_USED_FOR_ACCESS se il privilegio corrispondente è abilitato.

[out] pfResult

Puntatore a un valore impostato dalla funzione per indicare se uno o tutti i privilegi specificati sono abilitati nel token di accesso. Se il membro Control della struttura PRIVILEGE_SET specifica PRIVILEGE_SET_ALL_NECESSARY, questo valore è TRUE solo se tutti i privilegi sono abilitati; in caso contrario, questo valore è TRUE se uno dei privilegi è abilitato.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

Un token di accesso contiene un elenco dei privilegi mantenuti dall'account associato al token. Questi privilegi possono essere abilitati o disabilitati; la maggior parte è disabilitata per impostazione predefinita. La funzione PrivilegeCheck controlla solo i privilegi abilitati. Per ottenere un elenco di tutti i privilegi abilitati e disabilitati detenuti da un token di accesso, chiamare la funzione GetTokenInformation . Per abilitare o disabilitare un set di privilegi in un token di accesso, chiamare la funzione AdjustTokenPrivileges .

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 securitybaseapi.h (include Windows.h)
Libreria Advapi32.lib
DLL Advapi32.dll

Vedi anche

AdjustTokenPrivileges

Funzioni di Controllo di accesso client/server

Panoramica del Controllo di accesso client/server

GetTokenInformation

LUID_AND_ATTRIBUTES

LookupPrivilegeValue

ObjectPrivilegeAuditAlarm

PRIVILEGE_SET

PrivilegedServiceAuditAlarm