2011-10-16 11 views
10

Me estoy cansando de esperar a que HP arregle el controlador de gráficos intercambiables para mi computadora portátil, pero creo que puedo cambiar las GPUs yo mismo llamando a los métodos ACPI. El cambio funciona usando vga_switcheroo en Linux, que es de código abierto, así que sé qué métodos necesito llamar, pero no cómo llamarlos.¿Cómo llamo a los métodos de control ACPI desde C++ o C# en Windows?

Los dos métodos que necesito llamar están en el espacio de nombres SSDT, si eso es importante, y también necesito pasar argumentos enteros.

Respuesta

3

Algunos enlaces en problemas similares (For example) dicen que esto es posible solo desde el controlador kernel-mode en Windows. Así que para lograr esto sólo puedo pensar de las siguientes opciones:

  1. escribir toda videodriver por sí mismo - Dudo que ir por este camino ...

  2. hallar la documentación o ingeniería inversa existente videodriver para su GPU y emitir los comandos necesarios a través de IOCTL utilizando la función DeviceIoControl (MSDN). Además, no es muy confiable: el controlador existente podría no contener las funciones/IOCTL necesarias, pero I creo que será mucho más fácil que la primera opción.

Cuestiones relacionadas