| 
			| 
					
						| Lemberg 
								Участник    Offline | 
								|  | « Ответ #30 : 19-01-2004 11:29 »  |  | 
 
 Blin, da chego-ti zlishs'a.Izwini, esli ja glupie voprosi zadaju.
 
 Ja naschet NDIS pon'al wse. WLAN karti bili kak primer.
 Poskol'ku ja hochu ne tol'ko network kontrollierowat', a eshe IrDA i Bluetooth, mne kak ja pon'al NDIS-driver ne podhodit. Nugen filter driver.
 Poetomu ja sprosil, na kakie drivers ja dolgen w etom filter driver opiratsa.
 
 Sorry, if it was a fool question.
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| SlavaI 
								Главный специалист    Offline | 
								|  | « Ответ #31 : 19-01-2004 11:49 »  |  | 
 
 Poetomu ja sprosil, na kakie drivers ja dolgen w etom filter driver opiratsa.
 
 На верхние драйвера фильтры. Ищи USB sniffer и ему подобные драйвера. Маленькая засада будет в том что Bluetooth драйвера еще не очень стандартизованы и поэтому часто попадаются девайсы, не работающие со стандартным драйвером от MS. Но это проблема разрешима- можно например в юзер моде через SetupDi ф-ции найти все bluetooth устройства и их драйвера. НО ДРАЙВЕР ФИЛЬТР У ВСЕХ У НИХ МОЖНО СДЕЛАТЬ ОДИНАКОВЫМ! То есть достаточно одного драйвер- фильтра, ловящего коды IRP_MJ_READ, IRP_MJ_WRITE, IRP_MJ_DEVICE_CONTROL, IRP_MJ_INTERNAL_DEVICE_CONTROL. Но я еще раз повторю- если нужно контроллировать только сетевые соединения через IrDA, Bluetooth то достаточно NDIS, если нужно контроллировать любые данные- то простой драйвер фильтр, типа usb sniffer вот такой напримерhttp://benoit.papillault.free.fr/usbsnoop/index.en.php |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Lemberg 
								Участник    Offline | 
								|  | « Ответ #32 : 31-01-2004 14:10 »  |  | 
 
 Privet!Mne udalos' s pomosh'ju primera filter driver iz knigi sdelat' swoj. Teper' u men'a takaja problema: moi filter driver dolgen wiset' na neskol'kih ustrojstwah odnowremenno, kak ja mogu razlichat', kogda kakoe ustrojstwo wiziwaetsa - ili po drogomu, komu prednaznachen IRP?
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Lemberg 
								Участник    Offline | 
								|  | « Ответ #33 : 31-01-2004 16:58 »  |  | 
 
 Da i eshe vopros.Moj filter driver, kotorij sidit na LAN card i IrDA, lovit pocemu-to tol'ko IRP_MJ_CREATE, IRP_MJ_DEVICE_CONTROL, IRP_MJ_CLEANUP i IRP_MJ_CLOSE. Prichem imenno w takoj posledowatel'nosti. A pochemu ja ne poluchaju IRP_MJ_READ naprimer?
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| SlavaI 
								Главный специалист    Offline | 
								|  | « Ответ #34 : 02-02-2004 06:26 »  |  | 
 
 kak ja mogu razlichat', kogda kakoe ustrojstwo wiziwaetsa - ili po drogomu
 
 В момент подключения, когда вызывается AddDevice, тебе передается PDO, по нему определи к кому подключают, например при помощи запроса IRP_MN_QUERY_ID, или пройдясь по стеку устройств через указатель AttachedDevice. Полученную инфу сохрани в DeviceExtension и оттуда вынимай при обработке IRP. Также в DeviceExtension можешь сохранить указатель на PDO и все что хочешь. Moj filter driver, kotorij sidit na LAN card i IrDA, lovit pocemu-to tol'ko IRP_MJ_CREATE, IRP_MJ_DEVICE_CONTROL, IRP_MJ_CLEANUP i IRP_MJ_CLOSE. Prichem imenno w takoj posledowatel'nosti. A pochemu ja ne poluchaju IRP_MJ_READ naprimer?
 
 Значит чтение и запись идет через IRP_MJ_DEVICE_CONTROL, также и в USB- IRP_MJ_INTERNAL_DEVICE_CONTROL. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Lemberg 
								Участник    Offline | 
								|  | « Ответ #35 : 02-02-2004 14:34 »  |  | 
 
 В момент подключения, когда вызывается AddDevice, тебе передается PDO, по нему определи к кому подключают,
 
 Da no eto daet men wozmognost' otlichat' pdo drug ot druga. A kak mne uznat', chto pdo=8232E... eto WLAN card , a 82A5... eto IrDA ila LAN card? |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Lemberg 
								Участник    Offline | 
								|  | « Ответ #36 : 02-03-2004 15:42 »  |  | 
 
 Privet.Moj filter driver wipoln'aet trebuemoe, no ja poluchaju inogda BSOD s soobsheniem PAGE_FAULT_IN_NONPAGED_AREA. Prichem eto moget bit' cherez 15 minut posle starta system, a moget cherez 4 chasa. Proweril: wsu memory, kotoruju widel'aju - oswobogdaju, handles - zakriwaju. Gde eshe mogno iskat' oshibku?
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| SlavaI 
								Главный специалист    Offline | 
								|  | « Ответ #37 : 03-03-2004 07:41 »  |  | 
 
 Moj filter driver wipoln'aet trebuemoe, no ja poluchaju inogda BSOD s soobsheniem PAGE_FAULT_IN_NONPAGED_AREA. Prichem eto moget bit' cherez 15 minut posle starta system, a moget cherez 4 chasa. Proweril: wsu memory, kotoruju widel'aju - oswobogdaju, handles - zakriwaju. Gde eshe mogno iskat' oshibku?
 
 Ну ты и спросил- там причин очень много. Следствие их одно- обращение по ошибочному адресу. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Lemberg 
								Участник    Offline | 
								|  | « Ответ #38 : 07-03-2004 23:03 »  |  | 
 
 u menja wse takge pereodicheski pojawl'aetsa BSOD s soobsheniem PAGE_FAULT_IN_NONPAGED_AREA. Posmotrel kernel dump. Tam oshibka wiskakiwaet po adresu  f8a0707b  (Bugcheck 00000050 : e2384000 00000000 f8a0707b 00000001). Ja gl'anul chto tam po etomu adresu: F8A0707B  rep movs    byte ptr [edi],byte ptr[esi]                            F8A0707D  lea             ecx,[ebp-5B8h]                            F8A07083  push           ecx                            F8A07084  lea              edx,[ebp-8]                            F8A07087  push           edx                            F8A07088  call             dword ptr ds:[0F8A08C1Ch]                            F8A0708E  push           0                            F8A07090  mov           eax,dword ptr [ebp-38h]    (Mashinnie koda ja ster    ) Wot. Prichem, chto interesno: kogda u menja driver letit w VMware, to block kommand po adresu sboja totge. Ja ne znaju po etomu kodu mojno chto-to opredelit'?    |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Lemberg 
								Участник    Offline | 
								|  | « Ответ #39 : 14-03-2004 11:39 »  |  | 
 
 U menja wopros:Moj filter driver kontrolieruet na dannij momemt wse devices of Class Network. W tom chisle i FireWire.
 No pochemu-to dage togda, kogda ja obrashajus' k FireWire (naprimer podkluchaju videokameru na nego), ja ne nabludaju nichego w swoem filtre.
 Pochemu? Ja dumal, chto luboj obmen informaziej budet mne widen.
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| SlavaI 
								Главный специалист    Offline | 
								|  | « Ответ #40 : 15-03-2004 06:45 »  |  | 
 
 U menja wopros:
 Moj filter driver kontrolieruet na dannij momemt wse devices of Class Network. W tom chisle i FireWire.
 No pochemu-to dage togda, kogda ja obrashajus' k FireWire (naprimer podkluchaju videokameru na nego), ja ne nabludaju nichego w swoem filtre.
 
 А оно в этом случае не обязательно через сетевой интерфейс работает. Сеть в IEEE1394 это только один из возможных путей работы. Там еще есть способы. Посмотри на Device Object'ы, созданные драйвером IEEE1394, это драйвер обычно ohci1394, а ты контролируешь сидящий над одним из его PDO драйвер NIC1394. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Lemberg 
								Участник    Offline | 
								|  | « Ответ #41 : 15-03-2004 12:29 »  |  | 
 
 A kak s IrDA i Bluetooth? Toge ne ob'azatel'no cheres network? |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Lemberg 
								Участник    Offline | 
								|  | « Ответ #42 : 15-03-2004 21:41 »  |  | 
 
 Посмотри на Device Object'ы, созданные драйвером IEEE1394, это драйвер обычно ohci1394, а ты контролируешь сидящий над одним из его PDO драйвер NIC1394.
 
 Ja posadil filter na ohci1394 i woobshe na wse driveri s okonchaniem 1394   No situaziju eto ne uluchshilo. Kak ge eta zaraza (FireWire) s prologeniem obshaetsa? |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| SlavaI 
								Главный специалист    Offline | 
								|  | « Ответ #43 : 17-03-2004 06:52 »  |  | 
 
 No situaziju eto ne uluchshilo
 
 Значит неправильно посадил или не на все. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| SlavaI 
								Главный специалист    Offline | 
								|  | « Ответ #44 : 17-03-2004 06:52 »  |  | 
 
 A kak s IrDA i Bluetooth? Toge ne ob'azatel'no cheres network?
 
 Тоже и очень часто. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Lemberg 
								Участник    Offline | 
								|  | « Ответ #45 :  17-03-2004 10:58 »   |  | 
 
 Значит неправильно посадил или не на все.
 
 Na wse    Ja poluchaju tol'ko soobshenie ot NIC1394 kogda podkluchaju ustrojstvo (w dannom sluchaje kameru) i kogda otkluchaju.  Moget takoe bit', chto prilogenie obshaetsa s FireWire cheres DMA bez uchastija driver? |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	|  |