Funzione OpenProcessToken (processthreadsapi.h)
La funzione OpenProcessToken apre il token di accesso associato a un processo.
Sintassi
BOOL OpenProcessToken(
[in] HANDLE ProcessHandle,
[in] DWORD DesiredAccess,
[out] PHANDLE TokenHandle
);
Parametri
[in] ProcessHandle
Handle per il processo il cui token di accesso viene aperto. Il processo deve disporre dell'autorizzazione di accesso PROCESS_QUERY_LIMITED_INFORMATION. Per altre informazioni, vedere Process Security and Access Rights .See Process Security and Access Rights for more info.
[in] DesiredAccess
Specifica una maschera di accesso che specifica i tipi richiesti di accesso al token di accesso. Questi tipi di accesso richiesti vengono confrontati con l'elenco DACL ( Discretionary Access Control List ) del token per determinare quali accessi vengono concessi o negati.
Per un elenco dei diritti di accesso per i token di accesso, vedere Diritti di accesso per gli oggetti Access-Token.
[out] TokenHandle
Puntatore a un handle che identifica il token di accesso appena aperto quando la funzione viene restituita.
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
Per ottenere un handle per un processo con privilegi elevati dall'interno di un processo non con privilegi elevati, entrambi i processi devono essere avviati dallo stesso account.
Se il processo controllato è stato avviato da un account diverso, il processo di controllo deve avere il privilegio di SE_DEBUG_NAME abilitato. Per altre informazioni, vedi Costanti dei privilegi (autorizzazione).
Per chiudere l'handle del token di accesso restituito tramite il parametro TokenHandle , chiamare CloseHandle.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [app desktop | App UWP] |
Server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | processthreadsapi.h (include Windows.h) |
Libreria | Advapi32.lib |
DLL | Advapi32.dll |
Vedi anche
Funzioni Controllo di accesso di base