Использование мьютекса в драйвере устройства Windows 10, в результате код 39 - PullRequest
0 голосов
/ 19 декабря 2018

Я разрабатываю драйвер устройства Windows 10 для виртуальной камеры на основе примера avstream / avscamera в репозитории примеров драйверов Windows.Драйвер получает свои кадры из отдельно запускаемого приложения Windows через общую память, синхронизированную Mutex.

Я могу собрать драйвер без ошибок, но когда я пытаюсь установить его с помощью Hdwwiz.exe, я получаю следующееошибка:

Windows не может загрузить драйвер устройства для этого оборудования.Драйвер может быть поврежден или отсутствует (Код 39).

Любые идеи / предложения?

Если я закомментирую все методы Mutex и Shared memory, проблем с установкой нетводитель.Если я раскомментирую только строку, вызывающую вызов CreateMutexA, она будет выглядеть следующим образом:

void myinitfunction () {
mutex = CreateMutexA (& securityAttributes, false, "mymutexname");}

Я снова получаю ошибку Code 39.

Это говорит о том, что я неправильно связываю среду выполнения.

Возможно, важная информация: Я пытаюсьустановить 64-разрядную версию драйвера на ноутбуке с 64-разрядной версией сборки 17134.rs4_release.180410-1804 У меня установлена ​​версия Windows SDK 10.0.17763.0.(сборка не удалась, когда для версии SDK было установлено значение 17134, поскольку каталог Windows Kits / 10 / bin / 10.0.17134.0 не содержал экземпляр файла stampinf.exe).

Мои каталоги библиотеки:

C: \ Program Files% 28x86% 29 \ Windows Kits \ 10 \ Lib \ 10.0.17763.0 \ um \ x64;C: \ Program Files% 28x86% 29 \ Microsoft Visual Studio \ 2017 \ Community \ VC \ Tools \ MSVC \ 14.16.27023 \ lib \ x64 \ store;$ (LibraryPath)

Файл Windows / inf / setupapi.dev.log не говорит мне намного больше.Он имеет текст:

Состояние устройства: 0x01802001, Проблема: 0x0 (0x00000000) dvi: {Перезапуск устройств} 11: 09: 38.030 dvi: Запуск: ROOT \ AVSCAMERA \ 0000 !!!DVI: устройство не запущено: устройство имеет проблему: 0x27 (CM_PROB_DRIVER_FAILED_LOAD), состояние проблемы: 0xc0000034.dvi: {выход перезапуска устройств} 11: 09: 38.064 dvi: {настройка устройства - выход (0x00000000)} 11: 09: 38.065 dvi: состояние устройства: 0x01802401, проблема: 0x27 Состояние устройства: 0x01802001, проблема: 0x0 (0x00000000) dvi: {Перезапуск устройств} 11: 09: 38.030 dvi: Запуск: ROOT \ AVSCAMERA \ 0000 !!!DVI: устройство не запущено: устройство имеет проблему: 0x27 (CM_PROB_DRIVER_FAILED_LOAD), состояние проблемы: 0xc0000034.dvi: {выход из перезапуска устройств} 11: 09: 38.064 dvi: {настройка устройства - выход (0x00000000)} 11: 09: 38.065 dvi: состояние устройства: 0x01802401, проблема: 0x27

...