Взаимодействие Win32 с использованием PowerAPI - PowerIsSettingRangeDefined () - неопределенная / отсутствующая функция - PullRequest
0 голосов
/ 04 июня 2018

В настоящее время я использую взаимодействие C # и Win32 для регистрации уведомлений о настройке электропитания, перечисления руководств по настройке электропитания и т. Д. В процессе этого я обнаружил в документации MSDN функцию под названием " PowerIsSettingRangeDefined "это выглядело полезным.Когда я импортировал функцию и попытался проверить ее, компилятор выдал исключение «System.EntryPointNotFound».Очевидно, я дважды проверил орфографию и т. Д., Но безрезультатно.Поэтому я искал файл заголовка на своем компьютере и обнаружил функцию, указанную в заголовке «powrprof.h» для 8.0 SDK, однако у меня нет копии 7.0 или 7.0A SDK на этом компьютере.Но согласно документации, это должно было быть реализовано начиная с Windows 7. Так что это должно было сработать ...

Затем я использовал ProcessHacker для проверки таблицы экспорта модуля 'powrprof.dll' вмой процесс.Функция НЕ была там!Чтобы сделать еще один шаг вперед, я использовал PE Explorer для фактического файла «powrprof.dll», расположенного в «C: \ Windows \ SysWOW64 \», и ​​рассматриваемая точка входа, опять же, НЕ была в списке имен.Таким образом, официальные заголовочные файлы включают эту функцию с «#if (NTDDI_VERSION> = NTDDI_WIN7)» выше, и документация показывает, что функция существует, начиная с Win7, однако, похоже, что команда MS не включила ее при компиляции «powrprof.dll»для Windows 7.

Может быть, кто-то может проверить свою копию в Windows 8.1 / 10, чтобы увидеть, если эта проблема только в Windows 7?У меня нет другой версии Windows в этом здании, или я бы сам ее протестировал.И я хотел сначала обратить на это внимание, прежде чем пытаться сообщить об этом в Microsoft, на случай, если я что-то упустил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...