Función ImpersonateAnonymousToken (securitybaseapi.h)
La función ImpersonateAnonymousToken permite al subproceso especificado suplantar el token de inicio de sesión anónimo del sistema. Para asegurarse de que un token coincide con el concepto de acceso anónimo del sistema operativo, se debe llamar a esta función antes de intentar el acceso a la red para generar un token anónimo en el servidor remoto.
Sintaxis
BOOL ImpersonateAnonymousToken(
[in] HANDLE ThreadHandle
);
Parámetros
[in] ThreadHandle
Identificador del subproceso para suplantar el token de inicio de sesión anónimo del sistema. El identificador de subproceso debe tener el derecho de acceso THREAD_IMPERSONATE para que el subproceso suplantar el token de inicio de sesión anónimo del sistema.
Para conceder este acceso, el subproceso debe abrirse llamando a OpenThread con el derecho de acceso deseado a THREAD_IMPERSONATE.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es distinto de cero.
Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Un error de ACCESS_DENIED podría indicar que el token es para un proceso restringido. Use OpenProcessToken e IsTokenRestricted para comprobar si el proceso está restringido. ACCESS_DENIED también se devuelve si el identificador del subproceso carece de acceso adecuado a THREAD_IMPERSONATE.
Comentarios
Los tokens anónimos no incluyen el SID de grupo "Todos", a menos que el valor predeterminado del sistema se haya invalidado estableciendo el valor del Registro de HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\EveryoneIncludesAnonymous en DWORD=1.
Para cancelar la suplantación, llame a RevertToSelf.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | securitybaseapi.h (incluya Windows.h) |
Library | Advapi32.lib |
Archivo DLL | Advapi32.dll |