¿Hay una llamada API para solicitar al usuario la elevación de UAC?

Mi aplicación necesita escribir en un archivo en \ ProgramData que pueda estar protegido. Esto solo ocurre una vez después de la instalación.

¿Existe una función API que tomaría información de ACL y solicitaría al usuario que autorice a la aplicación a acceder al archivo? En otras palabras, la aplicación le pediría a Windows que solicite al usuario confirmación y autorización. Esto debería suceder interactivamente y permitir que la aplicación reanude la ejecución después de que se haya autorizado el acceso al archivo. La aplicación se ejecuta como Usuario estándar, no requiere privilegio de administrador.

El archivo se abre con CreateFile ().

Editar: Hay una sutil diferencia entre mi consulta y las otras que se dice que son duplicadas. Estoy pidiendo permiso para acceder a un objeto específico, un archivo. Los otros están pidiendo elevar los privilegios de todo el proceso. De todos modos, estoy agradecido por todas las respuestas que incluyen una solución.

Respuestas a la pregunta(3)

Su respuesta a la pregunta