WDM vs WDF

Hi,
I’m going to be developing a USB driver and am trying to decide
between WDM or WDF framework. My parameters in order of importance are
Throughput/speed - The driver needs to move data from the USB device
with as much throughput as possible. I expect the device to be the
bottleneck in the end, rather than the USB bus or Windows, but I need
to make sure this is the case.
Portability - I plan to develop a 32-bit XP driver initially, then
port to Vista, then likely port both to x64
Implementation Ease - Whatever is faster is better, right? :wink:

I am leaning towards WDF (KMDF) as it seems the implementation will be
simpler and I imagine the portability will be better. I have some
limited experience with WDM and have only done reading on WDF. Does
anyone have any insight that should sway me one way or another?

Thanks!
Jeremy

KMDF will not be the limiting factor in saturating the device in the write path or high throughput in the read path. What device class will the device installed under? A predefine windows class or a custom class?

d

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Jeremy Ramer
Sent: Thursday, February 05, 2009 9:24 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] WDM vs WDF

Hi,
I’m going to be developing a USB driver and am trying to decide
between WDM or WDF framework. My parameters in order of importance are
Throughput/speed - The driver needs to move data from the USB device
with as much throughput as possible. I expect the device to be the
bottleneck in the end, rather than the USB bus or Windows, but I need
to make sure this is the case.
Portability - I plan to develop a 32-bit XP driver initially, then
port to Vista, then likely port both to x64
Implementation Ease - Whatever is faster is better, right? :wink:

I am leaning towards WDF (KMDF) as it seems the implementation will be
simpler and I imagine the portability will be better. I have some
limited experience with WDM and have only done reading on WDF. Does
anyone have any insight that should sway me one way or another?

Thanks!
Jeremy


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

On Thu, Feb 5, 2009 at 10:27 AM, Doron Holan wrote:
> KMDF will not be the limiting factor in saturating the device in the write path or high throughput in the read path. What device class will the device installed under? A predefine windows class or a custom class?

A custom class.

>
> d
>
> -----Original Message-----
> From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Jeremy Ramer
> Sent: Thursday, February 05, 2009 9:24 AM
> To: Windows System Software Devs Interest List
> Subject: [ntdev] WDM vs WDF
>
> Hi,
> I’m going to be developing a USB driver and am trying to decide
> between WDM or WDF framework. My parameters in order of importance are
> Throughput/speed - The driver needs to move data from the USB device
> with as much throughput as possible. I expect the device to be the
> bottleneck in the end, rather than the USB bus or Windows, but I need
> to make sure this is the case.
> Portability - I plan to develop a 32-bit XP driver initially, then
> port to Vista, then likely port both to x64
> Implementation Ease - Whatever is faster is better, right? :wink:
>
> I am leaning towards WDF (KMDF) as it seems the implementation will be
> simpler and I imagine the portability will be better. I have some
> limited experience with WDM and have only done reading on WDF. Does
> anyone have any insight that should sway me one way or another?
>
> Thanks!
> Jeremy
>
> —
> 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
>
>
> —
> 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
>

If it is custom, I see no reason not to use KMDF. Some of the existing classes (let’s say KS.sys) have their own io models where KMDF does not fit and I wanted to make sure there was no conflict down the road.

d

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Jeremy Ramer
Sent: Thursday, February 05, 2009 10:01 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] WDM vs WDF

On Thu, Feb 5, 2009 at 10:27 AM, Doron Holan wrote:
> KMDF will not be the limiting factor in saturating the device in the write path or high throughput in the read path. What device class will the device installed under? A predefine windows class or a custom class?

A custom class.

>
> d
>
> -----Original Message-----
> From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Jeremy Ramer
> Sent: Thursday, February 05, 2009 9:24 AM
> To: Windows System Software Devs Interest List
> Subject: [ntdev] WDM vs WDF
>
> Hi,
> I’m going to be developing a USB driver and am trying to decide
> between WDM or WDF framework. My parameters in order of importance are
> Throughput/speed - The driver needs to move data from the USB device
> with as much throughput as possible. I expect the device to be the
> bottleneck in the end, rather than the USB bus or Windows, but I need
> to make sure this is the case.
> Portability - I plan to develop a 32-bit XP driver initially, then
> port to Vista, then likely port both to x64
> Implementation Ease - Whatever is faster is better, right? :wink:
>
> I am leaning towards WDF (KMDF) as it seems the implementation will be
> simpler and I imagine the portability will be better. I have some
> limited experience with WDM and have only done reading on WDF. Does
> anyone have any insight that should sway me one way or another?
>
> Thanks!
> Jeremy
>
> —
> 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
>
>
> —
> 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
>


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