BDA driver with KMDF

Doron,

The following post was on your “A hole in my head” blog:

Hi Doron,

We’ve had previous experience developing BDA drivers, usually for USB-connected tv devices - essentially an avstream miniport driver. Planning a ‘next generation’ it seems that KMDF would clean up the USB side of things quite a bit, but is it in fact possible to create a BDA driver with KMDF or do we have to stick with the WDM route?

Rgds,
Colin

I was sure if you had answered it, I am basically reposting here:
i"s it in fact possible to create a BDA driver with KMDF or do we have to stick with the WDM route?"

Thanks
-decoder

xxxxx@gmail.com wrote:

The following post was on your “A hole in my head” blog:

Hi Doron,

We’ve had previous experience developing BDA drivers, usually for USB-connected tv devices - essentially an avstream miniport driver. Planning a ‘next generation’ it seems that KMDF would clean up the USB side of things quite a bit, but is it in fact possible to create a BDA driver with KMDF or do we have to stick with the WDM route?

Rgds,
Colin

I was sure if you had answered it, I am basically reposting here:
i"s it in fact possible to create a BDA driver with KMDF or do we have to stick with the WDM route?"

It is possible, by using the “miniport” model in KMDF. However, I’m not
convinced it is really a net gain. AVStream already handles all of the
PnP, power management, and IRP dispatch stuff for BDA drivers, so most
of what KMDF gets you is already there.

If the KMDF model of handling USB requests makes more sense to you, then
you can certainly do that, but remember that the KMDF continuous reader
doesn’t handle isochronous pipes yet.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Yes, it is possible to use KMDF for a BDA driver for the USB part of your driver. The upper edge of the driver is still avstream/BDA. You need to run KMDF in "miniport mode’, e.g. setting WdfDriverInitNoDispatchOverride in WDF_DRIVER_CONFIG::DriverInitFlags. This means that you do not get WDFQUEUEs or pnp or power or power policy or wmi, but you do get io targets (generic, remote, usb), dma, collections, registry, and string

d

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: Wednesday, August 06, 2008 4:29 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] BDA driver with KMDF

Doron,

The following post was on your “A hole in my head” blog:

Hi Doron,

We’ve had previous experience developing BDA drivers, usually for USB-connected tv devices - essentially an avstream miniport driver. Planning a ‘next generation’ it seems that KMDF would clean up the USB side of things quite a bit, but is it in fact possible to create a BDA driver with KMDF or do we have to stick with the WDM route?

Rgds,
Colin

I was sure if you had answered it, I am basically reposting here:
i"s it in fact possible to create a BDA driver with KMDF or do we have to stick with the WDM route?"

Thanks
-decoder


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Tim and Doron,

Thank you both for some excellent insights on the topic! Also Tim mentioned that the
the KMDF continuous reader doesn’t handle isochronous pipes yet.

Does anyone know if the next or a future release of KMDF will contain a continuous reader that does handle isochronous pipes ?

-decoder