[wdmaudiodev] Re: Port Class Mini-ports

  • From: "Jeff Pages" <jeff@xxxxxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Fri, 9 May 2003 09:12:03 +1000

That's very handy to know. I'm curious if it's actually documented anywhere,
or if it might change in future versions.

Jeff

> You can get it from the FDO's device extension. The PhysicalDeviceObject
> is the third PVOID value in the structure.
>
> typedef struct
> {
>     // PortClass device extension
>     PVOID               Reserved1[2];
>     PDEVICE_OBJECT      PhysicalDeviceObject;
>     PVOID               Reserved2[1];
>     PVOID               Available[4];
>     PVOID Reserved3[(PORT_CLASS_DEVICE_EXTENSION_SIZE/sizeof(PVOID)) - 8];
>
>     // Vendor specific device extension.
>     ....
> } DEVICE_EXTENSION;
>
>
> -HockYiung
>
> wdmaudiodev-bounce@xxxxxxxxxxxxx wrote on 05/08/2003 03:18:22 PM:
>
> >  I've tried extracting the DeviceObject from the "next" stack location
> of
> > theStart Device IRP - and it seems to be the correct Pdo.
> >
> > Would this be an appropriate thing to do or is there a better
> alternative?
> >
> > Thanks.
> > Devendra.
> >
> > At 02:52 PM 5/8/2003, BlazeAudio Developer wrote:
> >
> >  Olivier,
> >
> > Thank you for the valuable information.
> >
> > I have another question - how does your driver "extract" the Pdo back
> from
> > PortClass.
> >
> > The AddDevice routine gets called with the Pdo.
> >
> > But, StartDevice gets called with an Fdo (an IRP and a Resource List).
> >
> > How can StartDevice get hold of the Pdo?
> >
> > Thanks.
> > Devendra.
> >
> > At 02:17 AM 4/22/2003, Olivier Roblin wrote:
> >
> >
> > You can set your own manager functions in DriverEntry :
> > DriverObject->MajorFunction[IRP_MJ_CREATE]  = YourOwn;
> > DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL]]  = YourOwn;
> > etc...
> > I did it a few times..
> >
> > Olivier
> >
> >
> >
> > ----- Original Message -----
> > From: <bart@xxxxxxxxxxxxx>
> > To: <wdmaudiodev@xxxxxxxxxxxxx>
> > Sent: Tuesday, April 22, 2003 11:09 AM
> > Subject: [wdmaudiodev] Re: Port Class Mini-ports
> >
> >
> > >
> > >
> > >>Actually, nothing prevents you from using Port Class with USB, Fire
> > Wire,
> > >>etc...You get audio data from the OS with the PCI MiniPort, and you
> can
> > then
> > >>send them on the USB for example. But the Port Class doesn't provide
> any
> > >>service to do that!
> > >>
> > >The largest problem I found is to handle the PNP IRP's as they are not
> > >passed by PortCls to the miniport (whithout some indecent hacking
> anyway).
> > >The same goes for DeviceIOCTL's.
> > >
> > >Regards,
> > >Bart
> > >******************
> > >
> > >WDMAUDIODEV addresses:
> > >Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx[1[1]]
> > >Subscribe:
> > mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe[2[2]]
> > >Unsubscribe:
> > mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe[3[3]]
> > >Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx[4[4]]
> > >
> > >URL to WDMAUDIODEV page:
> > >http://www.wdmaudiodev.de/[5[5]]
> > >
> >
> > ******************
> >
> > WDMAUDIODEV addresses:
> > Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx[6[6]]
> > Subscribe:
> > mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe[7[7]]
> > Unsubscribe:
> > mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe[8[8]]
> > Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx[9[9]]
> >
> > URL to WDMAUDIODEV page:
> > http://www.wdmaudiodev.de/[10[10]]
> >
> > --- Links ---
> >    1 mailto:wdmaudiodev@xxxxxxxxxxxxx[11]
> >    2 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe[12]
> >    3 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe[13]
> >    4 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx[14]
> >    5 http://www.wdmaudiodev.de/[15]
> >    6 mailto:wdmaudiodev@xxxxxxxxxxxxx[16]
> >    7 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe[17]
> >    8 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe[18]
> >    9 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx[19]
> >   10 http://www.wdmaudiodev.de/[20]
> > ******************
> >
> > WDMAUDIODEV addresses:
> > Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx[21]
> > Subscribe:
> mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe[22]
> > Unsubscribe:
> mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe[23]
> > Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx[24]
> >
> > URL to WDMAUDIODEV page:
> > http://www.wdmaudiodev.de/[25]
> >
> > --- Links ---
> >    1 mailto:wdmaudiodev@xxxxxxxxxxxxx%5B1
> >    2 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe%5B2
> >    3 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe%5B3
> >    4 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx%5B4
> >    5 http://www.wdmaudiodev.de/%5B5
> >    6 mailto:wdmaudiodev@xxxxxxxxxxxxx%5B6
> >    7 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe%5B7
> >    8 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe%5B8
> >    9 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx%5B9
> >   10 http://www.wdmaudiodev.de/%5B10
> >   11 mailto:wdmaudiodev@xxxxxxxxxxxxx
> >   12 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe
> >   13 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe
> >   14 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
> >   15 http://www.wdmaudiodev.de/
> >   16 mailto:wdmaudiodev@xxxxxxxxxxxxx
> >   17 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe
> >   18 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe
> >   19 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
> >   20 http://www.wdmaudiodev.de/
> >   21 mailto:wdmaudiodev@xxxxxxxxxxxxx
> >   22 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe
> >   23 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe
> >   24 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
> >   25 http://www.wdmaudiodev.de/
> > ******************
> >
> > WDMAUDIODEV addresses:
> > Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
> > Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
> > Unsubscribe:
> mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
> > Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
> >
> > URL to WDMAUDIODEV page:
> > http://www.wdmaudiodev.de/
> >
>
>
> ******************
>
> WDMAUDIODEV addresses:
> Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
> Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
> Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
> Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
>
> URL to WDMAUDIODEV page:
> http://www.wdmaudiodev.de/
>
>
>


******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.de/

Other related posts: