Re: динамическая загрузка драйвера

From
Genadi Zawidowski (2:5020/175.2)
To
Kirill Neznamov
Date
2002-01-14T03:04:21Z
Area
SU.WINDOWS.NT.PROG
From: "Genadi Zawidowski" <dolphin@infopro.spb.su>

Wed Jan 13 2010 19:57, Kirill Neznamov wrote to Genadi Zawidowski:

 KN> Доброе время суток Genadi!
 KN>> могло открыть мой драйвер по CreateFile()?(например как ком порт?)Здесь
 KN>> что-то не работает..
 KN>> После CreateFile() GetLastError() возвращает ERROR_INVALID_FUNCTION.Где
 KN>> предположительно могут быть грабли?

 KN> А если то что изложено ниже содержится в DriverEntry() будет все
 KN> работать?
 KN> Или надо это все производить в обработчике IRP_MJ_CREATE?

создать линк на себя лучше до того, как по этому линку попытаются
открыть драйвер - то есть, надо в DriverEntry, или, для WDM драйверов,
в обработчике PnP AddDevice.

GZ> _snwprintf(win32namebuf, arraysize(win32namebuf), 
GZ>  L"\\DosDevices\\SEND4M%ld", 

 KN> А что должен содержать win32namebuf и должно ли это быть в реестре?
win32namebuf содержит (после предидущей строки) имя вида
  L"\\DosDevices\\yourwin32devicename"

Очень неплохая книга на эти темы - 
Walter Oney
Programming the Microsoft Windows Driver Model

Ну и естественно, Art Baker, The Windows NT Device Driver Book.

Да, к Walter Oney есть Wriver Wizard - генерилка шаблонов драйверов.
Правда, как раз открытие WDM драйверов по обычному win32 имени
там не приветствуется, так что это ручками добавлять.

Генка, mgs2001[at]pocthtamt.ru

--- ifmail v.2.15
 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)