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

Controllo dell’accesso

Funzioni Controllo di accesso di base

AccessCheck

AdjustTokenGroups

AdjustTokenPrivileges

Closehandle

GetCurrentProcessToken

GetCurrentThreadEffectiveToken

GetCurrentThreadToken

GetTokenInformation

OpenThreadToken

SetTokenInformation