информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыАтака на InternetПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Docker Hub закрыл доступ из России 
 Google заблокировала 2 с лишним... 
 Бэкдор в xz/liblzma, предназначенный... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / operating systems
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Учусь писать под WDM 22.01.03 23:49  Число просмотров: 6901
Автор: amirul <Serge> Статус: The Elderman
Отредактировано 23.01.03 00:48  Количество правок: 1
<"чистая" ссылка>
Пишу первый в жизни WDM-драйвер. И уже задолбался искать откуда ноги у одного глюка.

Короче, когда FDO (bus enumerator) сообщает системе о новом PDO на шине, винда почему-то вызывает AddDevice этого же драйвера с этим PDO. После чего все-таки выдает Add/Remove Hardware и в списке совместимых устройств находит и нормально ставит function driver, который мне нужен.

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

HardwareID и DeviceID для FDO: Root\SYSTEM для PDOs: Root\VSBUS
После чтения MSDN-а мне казалось что именно по DeviceID pnp manager ищет драйвер для устройства.

Вот кусок логи (пишу под чистым DDK, но лога из DriverStudio-ного DriverMonitor-а):
897.335340  	Default  	  	vsbus.sys FDO: Entering VSBCreatePdo
897.335448  	Default  	  	vsbus.sys FDO: Entering VSBCreatePdo
897.335525  	Default  	  	vsbus.sys FDO: FDO IRP_MN_QUERY_DEVICE_RELATIONS IRP:0x81dde1e8
897.335541  	Default  	  		QueryDeviceRelation Type: BusRelations
897.335555  	Default  	  		#PDOS present = 2
897.335555  	Default  	  		#PDOs reported = 2
897.335700  	Default  	  	vsbus.sys PDO0: PDO IRP_MN_QUERY_ID IRP: 0x81db9a38
897.335712  	Default  	  		QueryId Type: BusQueryDeviceID
897.335771  	Default  	  	vsbus.sys PDO0: PDO IRP_MN_QUERY_CAPABILITIES IRP: 0x81db9a38
897.335799  	Default  	  	vsbus.sys FDO: FDO IRP_MN_QUERY_CAPABILITIES IRP:0x81dde1e8
897.335922  	Default  	  	vsbus.sys PDO0: PDO IRP_MN_QUERY_DEVICE_TEXT IRP: 0x81db9a38
897.335944  	Default  	  		DeviceTextDescription :vsbpdo_00
897.335973  	Default  	  	vsbus.sys PDO0: PDO IRP_MN_QUERY_DEVICE_TEXT IRP: 0x81db9a38
897.335987  	Default  	  		DeviceTextLocationInformation : Unknown
897.336015  	Default  	  	vsbus.sys PDO0: PDO IRP_MN_QUERY_ID IRP: 0x81db9a38
897.336026  	Default  	  		QueryId Type: BusQueryInstanceID
897.336040  	Default  	  		InstanceID: 00000000
897.339549  	Default  	  	vsbus.sys PDO0: PDO IRP_MN_QUERY_ID IRP: 0x81db9a38
897.339562  	Default  	  		QueryId Type: BusQueryHardwareIDs
897.339592  	Default  	  	vsbus.sys PDO0: PDO IRP_MN_QUERY_ID IRP: 0x81db9a38
897.339603  	Default  	  		QueryId Type: BusQueryCompatibleIDs
897.339658  	Default  	  	vsbus.sys PDO0: PDO IRP_MN_QUERY_RESOURCE_REQUIREMENTS IRP: 0x81db9a38
897.340592  	Default  	  	vsbus.sys PDO0: PDO IRP_MN_QUERY_BUS_INFORMATION IRP: 0x81db9a38
897.342064  	Default  	  	vsbus.sys PDO0: PDO IRP_MN_QUERY_RESOURCES IRP: 0x81db9a38
897.342577  	Default  	  	vsbus.sys: Add Device: 0x81e09258
897.342652  	Default  	  	vsbus.sys PDO1: PDO IRP_MN_QUERY_ID IRP: 0x81db9a38
897.342663  	Default  	  		QueryId Type: BusQueryDeviceID
897.342715  	Default  	  	vsbus.sys PDO1: PDO IRP_MN_QUERY_CAPABILITIES IRP: 0x81db9a38
897.342744  	Default  	  	vsbus.sys FDO: FDO IRP_MN_QUERY_CAPABILITIES IRP:0x81dde1e8
897.342861  	Default  	  	vsbus.sys PDO1: PDO IRP_MN_QUERY_DEVICE_TEXT IRP: 0x81db9a38
897.342884  	Default  	  		DeviceTextDescription :vsbpdo_01
897.342913  	Default  	  	vsbus.sys PDO1: PDO IRP_MN_QUERY_DEVICE_TEXT IRP: 0x81db9a38
897.342928  	Default  	  		DeviceTextLocationInformation : Unknown
897.342955  	Default  	  	vsbus.sys PDO1: PDO IRP_MN_QUERY_ID IRP: 0x81db9a38
897.342966  	Default  	  		QueryId Type: BusQueryInstanceID
897.342980  	Default  	  		InstanceID: 00000001
897.345309  	Default  	  	vsbus.sys PDO1: PDO IRP_MN_QUERY_ID IRP: 0x81db9a38
897.345320  	Default  	  		QueryId Type: BusQueryHardwareIDs
897.345351  	Default  	  	vsbus.sys PDO1: PDO IRP_MN_QUERY_ID IRP: 0x81db9a38
897.345361  	Default  	  		QueryId Type: BusQueryCompatibleIDs
897.345388  	Default  	  	vsbus.sys PDO1: PDO IRP_MN_QUERY_RESOURCE_REQUIREMENTS IRP: 0x81db9a38
897.346302  	Default  	  	vsbus.sys PDO1: PDO IRP_MN_QUERY_BUS_INFORMATION IRP: 0x81db9a38
897.347747  	Default  	  	vsbus.sys PDO1: PDO IRP_MN_QUERY_RESOURCES IRP: 0x81db9a38
897.348243  	Default  	  	vsbus.sys: Add Device: 0x81a354c8
897.414357  	Default  	  	vsbus.sys PDO0: PDO IRP_MN_REMOVE_DEVICE IRP: 0x81db9a38
897.419126  	Default  	  	vsbus.sys PDO1: PDO IRP_MN_REMOVE_DEVICE IRP: 0x81db9a38

---
Видно, что после всех нужных опросов винда пытается засунуть на стек FDO из того же драйвера. Если для понимания (и разъяснения мне неразумному) ситуации требуется еще какая-нибудь инфа - спрашивайте, буду рад любому сотрудничеству.
<operating systems> Поиск 






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach