Как вызвать методы управления ACPI из C ++ или C # в Windows?

Я устал ждать, пока HP исправит драйвер переключаемой графики для моего ноутбука, но я думаю, что могу переключить графические процессоры самостоятельно, вызвав методы ACPI. Переключение работает с использованием vga_switcheroo в Linux, который является открытым исходным кодом, поэтому я знаю, какие методы мне нужно вызывать, но не знаю, как их вызывать.

Два метода, которые мне нужно вызвать, находятся в пространстве имен SSDT, если это важно, и мне также нужно передать целочисленные аргументы.


person phpscriptcoder    schedule 16.10.2011    source источник


Ответы (1)


Некоторые ссылки на похожие проблемы (для пример) говорят, что это возможно только из драйвера режима ядра под Windows. Поэтому для этого я могу думать только о следующих вариантах:

  1. Сам писать весь видеодрайвер - сомневаюсь, что вы пойдете этим путем ...

  2. Поиск документации или обратное проектирование существующего видеодрайвера для вашего графического процессора и выдача необходимых команд через IOCTL с помощью функции DeviceIoControl (MSDN). Также не очень надежно - существующий драйвер может не содержать необходимых функций / IOCTL - но я думаю, что это будет намного проще, чем первый вариант.

person Sergey Kudriavtsev    schedule 08.12.2011