Funzione DuplicateToken (securitybaseapi.h)
La funzione DuplicateToken crea un nuovo token di accesso che duplica già esistente.
Sintassi
BOOL DuplicateToken(
[in] HANDLE ExistingTokenHandle,
[in] SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
[out] PHANDLE DuplicateTokenHandle
);
Parametri
[in] ExistingTokenHandle
Handle a un token di accesso aperto con l'accesso TOKEN_DUPLICATE.
[in] ImpersonationLevel
Specifica un tipo SECURITY_IMPERSONATION_LEVEL enumerato che fornisce il livello di rappresentazione del nuovo token.
[out] DuplicateTokenHandle
Puntatore a una variabile che riceve un handle per il token duplicato. Questo handle ha TOKEN_IMPERSONATE e TOKEN_QUERY accesso al nuovo token.
Al termine dell'uso del nuovo token, chiamare la funzione CloseHandle per chiudere l'handle del token.
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
La funzione DuplicateToken crea un token di rappresentazione, che è possibile usare in funzioni come SetThreadToken e ImpersonateLoggedOnUser. Il token creato da DuplicateToken non può essere usato nella funzione CreateProcessAsUser , che richiede un token primario. Per creare un token che è possibile passare a CreateProcessAsUser, usare la funzione DuplicateTokenEx .
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 | securitybaseapi.h (include Windows.h) |
Libreria | Advapi32.lib |
DLL | Advapi32.dll |
Vedi anche
Panoramica Controllo di accesso
Funzioni di base Controllo di accesso