¿Cómo llamar a LogonUser () para obtener un token completo no restringido dentro de un Servicio de Windows con UAC habilitado?

Estoy ejecutando un servicio de Windows en Windows Server 2012 y necesita hacerse pasar por un usuario administrador de dominio (que también se agrega al grupo de administradores locales en la máquina).

UAC está habilitado en el sistema y Calling LogonUser usando las credenciales con un LogonType de LOGON32_LOGON_INTERACTIVE, parece devolver un token restringido en lugar de un token completo.

Esto está causando que la tarea administrativa que estoy tratando de hacer falle.

¿Cuál es la forma correcta de llamar a LogonUser en esta situación para que se devuelva un token completo en lugar de un token restringido?

PD: me encontré con una pregunta relacionada aquí¿Cómo puedo obtener permisos elevados (UAC) mediante suplantación bajo un inicio de sesión no interactivo? pero no muestra las llamadas exactas que deben realizarse para obtener el token completo.

Respuestas a la pregunta(1)

Su respuesta a la pregunta