Prev: WDF Dma Transaction Issue
Next: WinUsb and WHQL signing
From: Don Burn on 9 Nov 2009 08:15 You create a PDO and allocates space for a new list of PDO's then copies the list comming up from the adapter driver to add the one it wants. If free the old list that the lower driver allocated. It then has to be careful for all PNP calls that go to that PDO to act as a bus driver but for all others act as a filter. -- Don Burn (MVP, Windows DKD) Windows Filesystem and Driver Consulting Website: http://www.windrvr.com Blog: http://msmvps.com/blogs/WinDrvr Remove StopSpam to reply "Peter" <peter_hsu(a)vasstek.com.tw> wrote in message news:uxA8zQSYKHA.844(a)TK2MSFTNGP05.phx.gbl... > Hi, > Is it impossible to create a PDO at disk class lower filter? I need a > guide > to create a PDO in my disk lower filter driver. > > In my experiences, a PDO is created by a bus driver, if handling > IRP_MJ_PNP " > IRP_MN_QUERY_DEVICE_RELATIONS" in the bus filter driver, it seems only > can monitor or modify the content of the PDO. How the bus filter driver > creates > another PDO? > > Best Regards, > Peter, > > "Don Burn" <burn(a)stopspam.windrvr.com> �b�l�� > news:%2362uazHXKHA.3364(a)TK2MSFTNGP06.phx.gbl �����g... >> How did you tell the Plug and Play system that the PDO is there and part > of >> the disk stack. If this is not a PDO filtering an existing PDO you need > to >> to act like a bus filter and handle IRP_MJ_PNP calls in particular >> IRP_MN_QUERY_DEVICE_RELATIONS >> >> >> -- >> Don Burn (MVP, Windows DKD) >> Windows Filesystem and Driver Consulting >> Website: http://www.windrvr.com >> Blog: http://msmvps.com/blogs/WinDrvr >> Remove StopSpam to reply >> >> >> >> "Peter" <peter_hsu(a)vasstek.com.tw> wrote in message >> news:eTqy%23%23GXKHA.844(a)TK2MSFTNGP05.phx.gbl... >> > Hi, >> > >> > I refer the following sources in the DDK to develop a disk low >> > filter >> > driver: >> > \src\general\toaster\bus >> > \src\storage\class\disk >> > >> > I would like to create a PDO in my disk low filter driver, and hope > the >> > disk >> > driver can see the PDO, but the result is the PDO does not appear in > disk >> > driver. >> > >> > The following are the main procedure in my disk low filter driver: >> > >> > call IoCreateDevice(), IoInvalidateDeviceRelations(), > then >> > receive >> > IRP_MJ_PNP.IRP_MN_QUERY_DEVICE_RELATIONS.BusRelations, >> > IRP_MJ_PNP.IRP_MN_START_DEVICE >> > >> > Any comment for my problem, thanks. >> > >> > Best Regards, >> > Peter, >> > >> > >> > >> > __________ Information from ESET NOD32 Antivirus, version of virus >> > signature database 4568 (20091103) __________ >> > >> > The message was checked by ESET NOD32 Antivirus. >> > >> > http://www.eset.com >> > >> > >> > >> >> >> >> __________ Information from ESET NOD32 Antivirus, version of virus > signature database 4568 (20091103) __________ >> >> The message was checked by ESET NOD32 Antivirus. >> >> http://www.eset.com >> >> >> >> > > > > __________ Information from ESET NOD32 Antivirus, version of virus > signature database 4587 (20091109) __________ > > The message was checked by ESET NOD32 Antivirus. > > http://www.eset.com > > > __________ Information from ESET NOD32 Antivirus, version of virus signature database 4587 (20091109) __________ The message was checked by ESET NOD32 Antivirus. http://www.eset.com
From: eagersh on 10 Nov 2009 18:16 On Nov 3, 3:23 am, "Peter" <peter_...(a)vasstek.com.tw> wrote: > Hi, > > I refer the following sources in the DDK to develop a disk low filter > driver: > \src\general\toaster\bus > \src\storage\class\disk > > I would like to create a PDO in my disk low filter driver, and hope the > disk > driver can see the PDO, but the result is the PDO does not appear in disk > driver. > > The following are the main procedure in my disk low filter driver: > > call IoCreateDevice(), IoInvalidateDeviceRelations(), then > receive IRP_MJ_PNP.IRP_MN_QUERY_DEVICE_RELATIONS.BusRelations, > IRP_MJ_PNP.IRP_MN_START_DEVICE > > Any comment for my problem, thanks. > > Best Regards, > Peter, Why do you know that AddDevice of disk.sys is not called? You are trying emulate Port driver work, aren't you. It is not easy. If your target is Vista SP1 and up you should better use a Virtual Storport miniport driver. If you may also trace all communications between disk.sys to Port Driver to check if you doing everything correctly. You could do it because you have a lower filter class driver. Another option is to write your own disk class driver. In this case you need a bus driver also. Igor Sharovar
From: Peter on 11 Nov 2009 05:26 Hi, As your comments, I trace all communications between disk.sys and Port driver, the PDO I created in my disk lower filter driver is not passed to function "AddDevice" of disk.sys . Trying to emulate Port driver work in my disk lower filter driver is not easy or impossible ?. How I can accomplish the work? What is the Virtual Storport miniport driver? Best Regards, Peter, eagersh" <eagersh20(a)gmail.com> ??? news:03a4d15d-3376-40fd-ac99-c57d9b3da1f1(a)m33g2000pri.googlegroups.com ???... On Nov 3, 3:23 am, "Peter" <peter_...(a)vasstek.com.tw> wrote: > Hi, > > I refer the following sources in the DDK to develop a disk low filter > driver: > \src\general\toaster\bus > \src\storage\class\disk > > I would like to create a PDO in my disk low filter driver, and hope the > disk > driver can see the PDO, but the result is the PDO does not appear in disk > driver. > > The following are the main procedure in my disk low filter driver: > > call IoCreateDevice(), IoInvalidateDeviceRelations(), then > receive IRP_MJ_PNP.IRP_MN_QUERY_DEVICE_RELATIONS.BusRelations, > IRP_MJ_PNP.IRP_MN_START_DEVICE > > Any comment for my problem, thanks. > > Best Regards, > Peter, Why do you know that AddDevice of disk.sys is not called? You are trying emulate Port driver work, aren't you. It is not easy. If your target is Vista SP1 and up you should better use a Virtual Storport miniport driver. If you may also trace all communications between disk.sys to Port Driver to check if you doing everything correctly. You could do it because you have a lower filter class driver. Another option is to write your own disk class driver. In this case you need a bus driver also. Igor Sharovar
From: eagersh on 11 Nov 2009 14:19 On Nov 11, 3:26 am, "Peter" <peter_...(a)vasstek.com.tw> wrote: > Hi, > > As your comments, I trace all communications between disk.sys and Port > driver, the PDO I created in my disk lower filter driver is not passed to > function > "AddDevice" of disk.sys . > Trying to emulate Port driver work in my disk lower filter driver is not > easy > or impossible ?. How I can accomplish the work? > What is the Virtual Storport miniport driver? > > Best Regards, > Peter, > > eagersh" <eagers...(a)gmail.com> ???news:03a4d15d-3376-40fd-ac99-c57d9b3da1f1(a)m33g2000pri.googlegroups.com > ???... > On Nov 3, 3:23 am, "Peter" <peter_...(a)vasstek.com.tw> wrote: > > > Hi, > > > I refer the following sources in the DDK to develop a disk low filter > > driver: > > \src\general\toaster\bus > > \src\storage\class\disk > > > I would like to create a PDO in my disk low filter driver, and hope the > > disk > > driver can see the PDO, but the result is the PDO does not appear in disk > > driver. > > > The following are the main procedure in my disk low filter driver: > > > call IoCreateDevice(), IoInvalidateDeviceRelations(), then > > receive IRP_MJ_PNP.IRP_MN_QUERY_DEVICE_RELATIONS.BusRelations, > > IRP_MJ_PNP.IRP_MN_START_DEVICE > > > Any comment for my problem, thanks. > > > Best Regards, > > Peter, > > Why do you know that AddDevice of disk.sys is not called? > You are trying emulate Port driver work, aren't you. It is not easy. > If your target is Vista SP1 and up you should better use a Virtual > Storport miniport driver. > If you may also trace all communications between disk.sys to Port > Driver to check if you doing everything correctly. You could do it > because you have a lower filter class driver. > Another option is to write your own disk class driver. In this case > you need a bus driver also. > > Igor Sharovar Try to use Virtual Storport miniport driver. The upper edge interface of this driver is a standard StorPort miniport driver but the low edge could be your own, for example network interface. This is pretty much a new type of driver and available only since Vista SP1 or Windows 2008. You could find some information( not much) in WDK documentation under WDK->Device and Driver Technologies-> Storage Device->Design Guide- >Storage Virtual Miniport Drivers Also OSR starts to publish articles on such topic. http://www.osronline.com/article.cfm?id=538 Igor Sharovar
From: Don Burn on 11 Nov 2009 14:28 It is not impossible, but does require careful work to handle all the PNP calls. -- Don Burn (MVP, Windows DKD) Windows Filesystem and Driver Consulting Website: http://www.windrvr.com Blog: http://msmvps.com/blogs/WinDrvr Remove StopSpam to reply "Peter" <peter_hsu(a)vasstek.com.tw> wrote in message news:%23l2z9lrYKHA.1592(a)TK2MSFTNGP06.phx.gbl... > Hi, > > As your comments, I trace all communications between disk.sys and Port > driver, the PDO I created in my disk lower filter driver is not passed to > function > "AddDevice" of disk.sys . > Trying to emulate Port driver work in my disk lower filter driver is > not > easy > or impossible ?. How I can accomplish the work? > What is the Virtual Storport miniport driver? > > Best Regards, > Peter, > > eagersh" <eagersh20(a)gmail.com> ??? > news:03a4d15d-3376-40fd-ac99-c57d9b3da1f1(a)m33g2000pri.googlegroups.com > ???... > On Nov 3, 3:23 am, "Peter" <peter_...(a)vasstek.com.tw> wrote: >> Hi, >> >> I refer the following sources in the DDK to develop a disk low filter >> driver: >> \src\general\toaster\bus >> \src\storage\class\disk >> >> I would like to create a PDO in my disk low filter driver, and hope the >> disk >> driver can see the PDO, but the result is the PDO does not appear in disk >> driver. >> >> The following are the main procedure in my disk low filter driver: >> >> call IoCreateDevice(), IoInvalidateDeviceRelations(), then >> receive IRP_MJ_PNP.IRP_MN_QUERY_DEVICE_RELATIONS.BusRelations, >> IRP_MJ_PNP.IRP_MN_START_DEVICE >> >> Any comment for my problem, thanks. >> >> Best Regards, >> Peter, > Why do you know that AddDevice of disk.sys is not called? > You are trying emulate Port driver work, aren't you. It is not easy. > If your target is Vista SP1 and up you should better use a Virtual > Storport miniport driver. > If you may also trace all communications between disk.sys to Port > Driver to check if you doing everything correctly. You could do it > because you have a lower filter class driver. > Another option is to write your own disk class driver. In this case > you need a bus driver also. > > Igor Sharovar > > > > __________ Information from ESET NOD32 Antivirus, version of virus > signature database 4595 (20091111) __________ > > The message was checked by ESET NOD32 Antivirus. > > http://www.eset.com > > > __________ Information from ESET NOD32 Antivirus, version of virus signature database 4597 (20091111) __________ The message was checked by ESET NOD32 Antivirus. http://www.eset.com
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 Prev: WDF Dma Transaction Issue Next: WinUsb and WHQL signing |