Я пишу приложение WPF, которое использует PINVOKE для вызовов DLL, которую я также пишу. В одной из экспортированных функций в dll вызывается SetupDiGetClassDevs. В этот момент при запуске приложения на XP я получаю сообщение об ошибке, прежде всего диалоговое окно с сообщением:
«Не удалось найти точку входа в процедуру RegOpenKeyExW в библиотеке динамической компоновки KERNAL32.dll».
Нажатие «ОК» приводит меня к диалоговому окну необработанного исключения. И приложение WPP, и dll созданы с помощью VS2010 на машине с Win7, и приложение отлично работает на системах с Win7. Проблема возникает только при запуске приложения на XP. Если я избегаю SetupDiGetClassDevs (и последующих вызовов функции SetUpdi) в dll, тогда ничего не пойдет не так; так что кажется, что механизм PINVOKE работает нормально.
Любые идеи, что происходит не так? Я немного смущен тем, что вижу ссылку на RegOpenKeyExW, поскольку dll не построена с включенным UNICODE.
Спасибо, Том.