Funzione ImpersonateAnonymousToken (securitybaseapi.h)

La funzione ImpersonateAnonymousToken consente al thread specificato di rappresentare il token di accesso anonimo del sistema. Per assicurarsi che un token corrisponda al concetto di accesso anonimo del sistema operativo, questa funzione deve essere chiamata prima di tentare l'accesso alla rete per generare un token anonimo nel server remoto.

Sintassi

BOOL ImpersonateAnonymousToken(
  [in] HANDLE ThreadHandle
);

Parametri

[in] ThreadHandle

Handle al thread per rappresentare il token di accesso anonimo del sistema. L'handle del thread deve avere il diritto di accesso THREAD_IMPERSONATE per rappresentare il token di accesso anonimo del sistema.

Per concedere tale accesso, il thread deve essere aperto chiamando OpenThread con il diritto di accesso desiderato per THREAD_IMPERSONATE.

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.

Un errore di ACCESS_DENIED potrebbe indicare che il token è per un processo con restrizioni. Usare OpenProcessToken e IsTokenRestricted per verificare se il processo è limitato. ACCESS_DENIED viene restituito anche se l'handle del thread non ha accesso corretto a THREAD_IMPERSONATE.

Commenti

I token anonimi non includono il SID del gruppo "Tutti" a meno che il valore predefinito del sistema non sia stato sottoposto a override impostando il valore del Registro di sistema HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\EveryoneIncludesAnonymous su DWORD=1.

Per annullare la rappresentazione, chiamare RevertToSelf.

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