From: hardware.evs on 7 Sep 2006 04:52 Hello, I'm currently evaluating KMDF for an USB Driver. Our device is based on Cypress FX2 chip. We stream video trough EP2 configured as IN Isochronous (High Bandwith device - 2*724 bytes per µframe). When looking in the documentation (Version 1.1 of the framework), I see that WdfUsbTargetPipeFormatRequestForRead method must be used with a Bulk or Interrupt Pipe. So I assume that an Isochronous Pipe is not a valid pipe for this method. I also saw that the framework has a continuous reader. But my understanding of this reader is that it's purpose is only for intrinsically asynchronous events (like a change in a device state). As this continous reader doesn't have a limitation on which kind of pipe it use, can I use it for my application ? So my question : What is the right method to use a High Bandwidth Isochronous streaming device with KMDF ? Should I create URB's instead ? I must add that while our device streams video. It's not recognized as a steraming device under windows, that is we do not use directshow or other AVStream interface. So the fact that is video that is currently streamed has little importance. Thanks, Fred.
From: Eliyas Yakub [MSFT] on 7 Sep 2006 17:31 KMDF interfaces including continuous reader support formatting of request for interrupt and bulk endpoints only. For isochronous endpoints, you have to create and format the URB yourself and send it to the usbstack using generic KMDF interfaces. Take a look at the USBSAMP in the Vista RC1 DDK. It shows how to use KMDF functions to interact with isochronous endpoints. Note that USBSAMP is available only in the Vista RC1 DDK. -Eliyas
From: Doron Holan [MS] on 8 Sep 2006 01:43 specifically you should use WdfUsbTargetPipeFormatRequestForUrb to format the WDFREQUEST. You would allocate the memory for the URB using WdfMemoryCreate, format the fields, call WdfUsbTargetPipeFormatRequestForUrb() and then call WdfRequestSend d -- Please do not send e-mail directly to this alias. this alias is for newsgroup purposes only. This posting is provided "AS IS" with no warranties, and confers no rights. "Eliyas Yakub [MSFT]" <eliyasy(a)online.microsoft.com> wrote in message news:ugKjOUs0GHA.1304(a)TK2MSFTNGP05.phx.gbl... > KMDF interfaces including continuous reader support formatting of request > for interrupt and bulk endpoints only. For isochronous endpoints, you have > to create and format the URB yourself and send it to the usbstack using > generic KMDF interfaces. Take a look at the USBSAMP in the Vista RC1 DDK. > It shows how to use KMDF functions to interact with isochronous endpoints. > Note that USBSAMP is available only in the Vista RC1 DDK. > > -Eliyas >
From: fredsky on 8 Sep 2006 04:21 Thanks for your answers guys. I assume that even if I use URB's to receive data from an Isochronous EP, I still have a lot of benefits to use WDF, right ? So enough talk, let's devellop this driver ;-) Fred Doron Holan [MS] wrote: > specifically you should use WdfUsbTargetPipeFormatRequestForUrb to format > the WDFREQUEST. You would allocate the memory for the URB using > WdfMemoryCreate, format the fields, call > WdfUsbTargetPipeFormatRequestForUrb() and then call WdfRequestSend > > d > > -- > Please do not send e-mail directly to this alias. this alias is for > newsgroup purposes only. > This posting is provided "AS IS" with no warranties, and confers no rights. > > > "Eliyas Yakub [MSFT]" <eliyasy(a)online.microsoft.com> wrote in message > news:ugKjOUs0GHA.1304(a)TK2MSFTNGP05.phx.gbl... > > KMDF interfaces including continuous reader support formatting of request > > for interrupt and bulk endpoints only. For isochronous endpoints, you have > > to create and format the URB yourself and send it to the usbstack using > > generic KMDF interfaces. Take a look at the USBSAMP in the Vista RC1 DDK. > > It shows how to use KMDF functions to interact with isochronous endpoints. > > Note that USBSAMP is available only in the Vista RC1 DDK. > > > > -Eliyas > >
From: fredsky on 8 Sep 2006 04:21 Thanks for your answers guys. I assume that even if I use URB's to receive data from an Isochronous EP, I still have a lot of benefits to use WDF, right ? So enough talk, let's devellop this driver ;-) Fred Doron Holan [MS] wrote: > specifically you should use WdfUsbTargetPipeFormatRequestForUrb to format > the WDFREQUEST. You would allocate the memory for the URB using > WdfMemoryCreate, format the fields, call > WdfUsbTargetPipeFormatRequestForUrb() and then call WdfRequestSend > > d > > -- > Please do not send e-mail directly to this alias. this alias is for > newsgroup purposes only. > This posting is provided "AS IS" with no warranties, and confers no rights. > > > "Eliyas Yakub [MSFT]" <eliyasy(a)online.microsoft.com> wrote in message > news:ugKjOUs0GHA.1304(a)TK2MSFTNGP05.phx.gbl... > > KMDF interfaces including continuous reader support formatting of request > > for interrupt and bulk endpoints only. For isochronous endpoints, you have > > to create and format the URB yourself and send it to the usbstack using > > generic KMDF interfaces. Take a look at the USBSAMP in the Vista RC1 DDK. > > It shows how to use KMDF functions to interact with isochronous endpoints. > > Note that USBSAMP is available only in the Vista RC1 DDK. > > > > -Eliyas > >
|
Next
|
Last
Pages: 1 2 3 4 Prev: WinCE modifications Serial_class to USBser class Next: __readmsr and __writemsr usage |