Форум программистов, компьютерный форум, киберфорум
Программирование драйверов
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 19.03.2016
Сообщений: 6

Тестовый деплоймент драйвера

19.03.2016, 15:16. Показов 1409. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, я только начал знакомство с системным программированием.

После прочтения этих статей:

http://www.codeproject.com/Art... l-Mode-Dri

https://msdn.microsoft.com/en-... s.85).aspx

и установки необходимого окружения я столкнулся с проблемой - я не могу задеплоить драйвер.

Код драйвера это стандартный сэмпл из Visual Studio 2015:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <ntddk.h>
#include <wdf.h>
DRIVER_INITIALIZE DriverEntry;
EVT_WDF_DRIVER_DEVICE_ADD KmdfHelloWorldEvtDeviceAdd;
 
NTSTATUS DriverEntry(_In_ PDRIVER_OBJECT  DriverObject, _In_ PUNICODE_STRING RegistryPath)
{
    NTSTATUS status;
    WDF_DRIVER_CONFIG config;
 
    KdPrintEx((DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "KmdfHelloWorld: DriverEntry\n"));
    WDF_DRIVER_CONFIG_INIT(&config, KmdfHelloWorldEvtDeviceAdd);
    status = WdfDriverCreate(DriverObject, RegistryPath, WDF_NO_OBJECT_ATTRIBUTES, &config, WDF_NO_HANDLE);
    return status;
}
 
NTSTATUS KmdfHelloWorldEvtDeviceAdd(_In_ WDFDRIVER Driver, _Inout_ PWDFDEVICE_INIT DeviceInit)
{
    NTSTATUS status;
    WDFDEVICE hDevice;
    UNREFERENCED_PARAMETER(Driver);
 
    KdPrintEx((DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "KmdfHelloWorld: KmdfHelloWorldEvtDeviceAdd\n"));
    status = WdfDeviceCreate(&DeviceInit, WDF_NO_OBJECT_ATTRIBUTES, &hDevice);
    return status;
}
в настройка Visual Studio указано Target OS Version - Windows 7 и Target Platform - Desktop

Хост машина - Windows 10, таргет машина Windows 7

Драйвер пытаюсь установить с помощью OSRLoader'a

Зарегистрировать сервис получается, а запустить нет, сообщением - "The servcie cannot be started either because it is disabled or because it has no enabled devices associated with it".

пытался гуглить, но безуспешно.

Если кто знает в чем может быть проблема пожалуйста помогите!
Заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.03.2016, 15:16
Ответы с готовыми решениями:

Деплоймент на BES 5.0.2
Народ, подключайтесь. Пролема с BES 5.0.2. Задеплоил бин. Пусть его name -- Project, а local-jndi-name -- ejb/errata/Project: ...

Деплоймент на JBoss - подскажите пожалуйста
Пытаюсь перейти на JBoss. Вопросы: - вендор дескрипторы обязательны, или только если что-то уточнить нужно? Если обязательны, то какие? ...

Деплоймент, docker. Что это и как загрузить сайт?
Сделал сайт на вордпрессе. Сейчас он находится на моем сервере. Я его должен передать клиенту. Обычно мне давли подключения к базе данных и...

9
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
19.03.2016, 16:16
Проблема в том, что если у тебя PnP-драйвер, то запускать его будет
система при подключении соответствующего устройства, а не всякие
там OSRLoader-ы и KMDManager-ы.

Это во-первых. А во-вторых, я не советую пока деплоить драйверы
из VS2012-15, так как поделие это пока глючное, работает не везде и
то и дело всплывают различные баги.

Трушный способ - WDK 7.1 плюс виртуальные машины и подключенный WinDBG.
Деплой делается с помощью .kdfiles или обмена файлами через сетевую папку
(Shared Folders в VMware, например), debug-транспорт через COM-порт в пайп.
Да, может быть оно выглядит немного старомодно, зато никаких проблем и
не нужно даже Visual Studio тащить...
0
0 / 0 / 0
Регистрация: 19.03.2016
Сообщений: 6
19.03.2016, 19:43  [ТС]
Убежденный, о, большое спасибо за ответ! не про все я понял, но надеюсь на гугл) про VS согласен, до этого пробовал деплоить с помощью 2013 по msdn-руководствам и это сплошные ошибки и боль.

идея использовать OSRLoader появилась после прочтения статьи http://blogs.microsoft.co.il/s... ld-driver/. я сделал все как там сказано и это сработало, это было видно в DebugView.
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
19.03.2016, 20:13
Цитата Сообщение от daniil_a Посмотреть сообщение
не про все я понял, но надеюсь на гугл)
Если что непонятно - спрашивай. Cyberforum - тоже гугл, только маленький

Цитата Сообщение от daniil_a Посмотреть сообщение
идея использовать OSRLoader появилась после прочтения статьи
Для не-PnP драйверов проще sc create/sc delete/net start/net stop.
0
0 / 0 / 0
Регистрация: 19.03.2016
Сообщений: 6
19.03.2016, 20:22  [ТС]
ок)
0
0 / 0 / 0
Регистрация: 19.03.2016
Сообщений: 6
12.08.2016, 11:18  [ТС]
Прочитал в этой статье https://blogs.msdn.microsoft.c... ick-start/ что можно деплоить драйвера с помощью devcon.exe. Хотелось бы спросить совета хороший ли это способ, плюсы, минусы?
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
12.08.2016, 11:25
Универсального способа, который был бы пригоден и прост в 100% ситуациях, не существует.
Для одних драйверов хорош devcon, для других - SetupCopyOEMInf, для третьих - CreateService.
0
0 / 0 / 0
Регистрация: 19.03.2016
Сообщений: 6
12.08.2016, 17:27  [ТС]
Спасибо)

Добавлено через 4 часа 14 минут
А можете посоветовать ресурс или книгу о том что из себя представляет процесс деплоймента драйвера. Какие куда записи вносятся (например в реестр или подобные структуры), куда помещаются исполняемые файлы. Мб я не там ищу, но пока ищу безуспешно. Например нашел инфу про devcon.exe, а у меня при установке в консоле ошибка "Devcon.exe failed", а я даже не могу предположить из-за чего она могла быть так как не представляю процесс установки драйвера.
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
12.08.2016, 18:34
Цитата Сообщение от daniil_a Посмотреть сообщение
А можете посоветовать ресурс или книгу о том что из себя представляет процесс деплоймента драйвера.
У Уолтера Они в его книге довольно неплохо написано, что происходит
при установке драйвера. А вот знать, куда какие записи в реестре вносятся,
обычно не нужно. Это детали реализации, которые могут меняться от
версии к версии, и знать их "простым смертным" не полагается.

Цитата Сообщение от daniil_a Посмотреть сообщение
у меня при установке в консоле ошибка "Devcon.exe failed", а я даже не могу предположить из-за чего она могла быть так как не представляю процесс установки драйвера.
В этом минус devcon. Если бы ты писал свою систему установки, то обеспечил
ее подробной системой логов и знал бы сразу, из-за чего ошибка.
А так можно в логах системы посмотреть (setupapi.log и другие .log-файлы в папке Windows).
0
0 / 0 / 0
Регистрация: 19.03.2016
Сообщений: 6
13.08.2016, 03:27  [ТС]
Понял, спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.08.2016, 03:27
Помогаю со студенческими работами здесь

Тестовый квест
Если не сложно, киньте пример текстового квеста на php. Или просто код, в котором с клавиатуры вводится какой-либо текст и проверяется...

тестовый бп с плавающими U и I
добрый вечер еще раз предисловие: на днях обнаружил у себя бп от старого компутера, а так как иногда делаю какие нить фенички из...

Тестовый сервер
Здравствуйте подскажите &quot;тестовый сервер&quot; для обучения в создании сайта Dreamweaver cs3 Как настроить соединение. Если что то написал не...

Тестовый пример C++
Как правильно составить тестовый пример для программы, написанной на C++? Что он должен включать в себя и как выглядеть?

тестовый пример!!
здраствуйте форумчани!! помогите написать тестовый пример класса Triangle //triangle.h class Triangle { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru