[wdmaudiodev] Re: Port Class Mini-ports

  • From: "Olivier Roblin" <oroblin@xxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Fri, 9 May 2003 13:32:17 +0200

The 2 ways mentioned to get the PDO are corrects.
You also get it as a parameter of your AddDevice function if you use the
adapter functions. (This is the "normal" way).
You can then use this PDO to connect you filter on the drivers stack.

Olivier Roblin



----- Original Message -----
From: "BlazeAudio Developer" <developer@xxxxxxxxxxxxxx>
To: <wdmaudiodev@xxxxxxxxxxxxx>; <wdmaudiodev@xxxxxxxxxxxxx>
Sent: Friday, May 09, 2003 5:42 AM
Subject: [wdmaudiodev] Re: Port Class Mini-ports


> Where is this documented?
>
> I don't want to depend on something that might change with the next
service
> pack or "automatic update"!
>
> Thanks.
> Devendra.
>
> At 03:25 PM 5/8/2003, Hock Yiung HUANG wrote:
>
> 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[1]]]
> >>Subscribe:
> >mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe[2[2[2]]]
> >>Unsubscribe:
> >mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe[3[3[3]]]
> >>Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx[4[4[4]]]
> >>
> >>URL to WDMAUDIODEV page:
> >>http://www.wdmaudiodev.de/[5[5[5]]]
> >>
> >
> >******************
> >
> >WDMAUDIODEV addresses:
> >Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx[6[6[6]]]
> >Subscribe:
> >mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe[7[7[7]]]
> >Unsubscribe:
> >mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe[8[8[8]]]
> >Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx[9[9[9]]]
> >
> >URL to WDMAUDIODEV page:
> >http://www.wdmaudiodev.de/[10[10[10]]]
> >
> >--- Links ---
> >    1 mailto:wdmaudiodev@xxxxxxxxxxxxx[11[11]]
> >    2
mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe[12[12]]
> >    3
> mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe[13[13]]
> >    4 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx[14[14]]
> >    5 http://www.wdmaudiodev.de/[15[15]]
> >    6 mailto:wdmaudiodev@xxxxxxxxxxxxx[16[16]]
> >    7
mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe[17[17]]
> >    8
> mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe[18[18]]
> >    9 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx[19[19]]
> >   10 http://www.wdmaudiodev.de/[20[20]]
> >******************
> >
> >WDMAUDIODEV addresses:
> >Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx[21[21]]
> >Subscribe:
> mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe[22[22]]
> >Unsubscribe:
> mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe[23[23]]
> >Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx[24[24]]
> >
> >URL to WDMAUDIODEV page:
> >http://www.wdmaudiodev.de/[25[25]]
> >
> >--- Links ---
> >    1 mailto:wdmaudiodev@xxxxxxxxxxxxx%5B1[26]
> >    2
mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe%5B2[27]
> >    3
mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe%5B3[28]
> >    4 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx%5B4[29]
> >    5 http://www.wdmaudiodev.de/%5B5[30]
> >    6 mailto:wdmaudiodev@xxxxxxxxxxxxx%5B6[31]
> >    7
mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe%5B7[32]
> >    8
mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe%5B8[33]
> >    9 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx%5B9[34]
> >   10 http://www.wdmaudiodev.de/%5B10[35]
> >   11 mailto:wdmaudiodev@xxxxxxxxxxxxx[36]
> >   12 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe[37]
> >   13 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe[38]
> >   14 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx[39]
> >   15 http://www.wdmaudiodev.de/[40]
> >   16 mailto:wdmaudiodev@xxxxxxxxxxxxx[41]
> >   17 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe[42]
> >   18 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe[43]
> >   19 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx[44]
> >   20 http://www.wdmaudiodev.de/[45]
> >   21 mailto:wdmaudiodev@xxxxxxxxxxxxx[46]
> >   22 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe[47]
> >   23 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe[48]
> >   24 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx[49]
> >   25 http://www.wdmaudiodev.de/[50]
> >******************
> >
> >WDMAUDIODEV addresses:
> >Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx[51]
> >Subscribe:
mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe[52]
> >Unsubscribe:
> mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe[53]
> >Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx[54]
> >
> >URL to WDMAUDIODEV page:
> >http://www.wdmaudiodev.de/[55]
> >
>
>
> ******************
>
> WDMAUDIODEV addresses:
> Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx[56]
> Subscribe:
mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe[57]
> Unsubscribe:
mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe[58]
> Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx[59]
>
> URL to WDMAUDIODEV page:
> http://www.wdmaudiodev.de/[60]
>
> --- Links ---
>    1 mailto:wdmaudiodev@xxxxxxxxxxxxx%5B1%5B1
>    2 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe%5B2%5B2
>    3
mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe%5B3%5B3
>    4 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx%5B4%5B4
>    5 http://www.wdmaudiodev.de/%5B5%5B5
>    6 mailto:wdmaudiodev@xxxxxxxxxxxxx%5B6%5B6
>    7 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe%5B7%5B7
>    8
mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe%5B8%5B8
>    9 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx%5B9%5B9
>   10 http://www.wdmaudiodev.de/%5B10%5B10
>   11 mailto:wdmaudiodev@xxxxxxxxxxxxx%5B11
>   12 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe%5B12
>   13 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe%5B13
>   14 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx%5B14
>   15 http://www.wdmaudiodev.de/%5B15
>   16 mailto:wdmaudiodev@xxxxxxxxxxxxx%5B16
>   17 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe%5B17
>   18 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe%5B18
>   19 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx%5B19
>   20 http://www.wdmaudiodev.de/%5B20
>   21 mailto:wdmaudiodev@xxxxxxxxxxxxx%5B21
>   22 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe%5B22
>   23 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe%5B23
>   24 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx%5B24
>   25 http://www.wdmaudiodev.de/%5B25
>   26 mailto:wdmaudiodev@xxxxxxxxxxxxx%5B1
>   27 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe%5B2
>   28 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe%5B3
>   29 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx%5B4
>   30 http://www.wdmaudiodev.de/%5B5
>   31 mailto:wdmaudiodev@xxxxxxxxxxxxx%5B6
>   32 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe%5B7
>   33 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe%5B8
>   34 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx%5B9
>   35 http://www.wdmaudiodev.de/%5B10
>   36 mailto:wdmaudiodev@xxxxxxxxxxxxx
>   37 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe
>   38 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe
>   39 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
>   40 http://www.wdmaudiodev.de/
>   41 mailto:wdmaudiodev@xxxxxxxxxxxxx
>   42 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe
>   43 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe
>   44 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
>   45 http://www.wdmaudiodev.de/
>   46 mailto:wdmaudiodev@xxxxxxxxxxxxx
>   47 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe
>   48 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe
>   49 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
>   50 http://www.wdmaudiodev.de/
>   51 mailto:wdmaudiodev@xxxxxxxxxxxxx
>   52 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe
>   53 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe
>   54 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
>   55 http://www.wdmaudiodev.de/
>   56 mailto:wdmaudiodev@xxxxxxxxxxxxx
>   57 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=subscribe
>   58 mailto:wdmaudiodev-request@xxxxxxxxxxxxx%3Fsubject=unsubscribe
>   59 mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
>   60 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: