Funzione GetCurrentProcess (processthreadsapi.h)

Recupera uno pseudo handle per il processo corrente.

Sintassi

HANDLE GetCurrentProcess();

Valore restituito

Il valore restituito è uno pseudo handle per il processo corrente.

Commenti

Uno pseudo handle è una costante speciale, attualmente (HANDLE)-1, interpretata come handle di processo corrente. Per compatibilità con i sistemi operativi futuri, è consigliabile chiamare GetCurrentProcess invece di impostare come hardcoded questo valore costante. Il processo chiamante può usare uno pseudo handle per specificare il proprio processo ogni volta che è necessario un handle di processo. Gli pseudo handle non vengono ereditati dai processi figlio.

Questo handle ha il diritto di accesso PROCESS_ALL_ACCESS all'oggetto processo. Per altre informazioni, vedere Sicurezza dei processi e diritti di accesso.

Windows Server 2003 e Windows XP: Questo handle ha l'accesso massimo consentito dal descrittore di sicurezza del processo al token primario del processo.

Un processo può creare un handle "reale" a se stesso valido nel contesto di altri processi o che può essere ereditato da altri processi, specificando lo pseudo handle come handle di origine in una chiamata alla funzione DuplicateHandle . Un processo può anche usare la funzione OpenProcess per aprire un handle reale a se stesso.

Lo pseudo handle non deve essere chiuso quando non è più necessario. La chiamata alla funzione CloseHandle con uno pseudo handle non ha alcun effetto. Se lo pseudo handle viene duplicato da DuplicateHandle, l'handle duplicato deve essere chiuso.

Esempio

Per un esempio, vedere Creazione di un processo figlio con input e output reindirizzati.

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 in Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

Closehandle

DuplicateHandle

GetCurrentProcessId

GetCurrentThread

OpenProcess

Funzioni di processi e thread

Processi

API Vertdll disponibili nelle enclave VBS