Windows Driver Framework

Posted June 27, 2003

Chat Date: June 2, 2003

Please note: Portions of this transcript have been edited for clarity

Chat Participants:

  • Johan Marien, Program Manager in the Windows base team for the Windows Driver Framework
  • Robin Callender, Dev on the Windows Driver Framework (WDF) team
  • Nar Ganapathy, Development Lead in the Windows Base Drivers Group
  • Doron Holan, Developer on the windows driver framework (WDF)
  • Ravi Gollapudi, Tester for the Driver Framework
  • John Richardson, Developer in the OS group
  • Eric Sassaman, Program manager, Product Support Services

We know that thousands of people read these transcripts on MSDN, but we would like to know how useful they are to you. Please send us an email at ATEO@Microsoft.com and tell us how this information or redirection to other information sources helped you do your job.

Moderator: Eric (Microsoft)
Welcome to today's Chat. Our topic is the Windows Driver Framework. Questions, comments, and suggestions are welcome. Let's introduce our hosts for today!

Host: Johan (Microsoft)
I'm a program manager in the Windows base team for the Windows Driver Framework

Host: Robin (Microsoft)
Hi all. I'm Robin Callender and I am a dev on the Windows Driver Framework (WDF) team. I am currently working on DMA aspects of WDF.

Host: Nar (Microsoft)
I am Nar Ganapathy. I am the development lead in the Windows Base Drivers Group working on Driver Framework.

Host: Doron (Microsoft)
Hi, my name is Doron. I am a developer on the windows driver framework (WDF).

Host: Robin (Microsoft)
Hi all. I'm Robin Callender and I am a dev on the Windows Driver Framework (WDF) team. I am currently working on DMA aspects of WDF.

Host: John (Microsoft)
Hi, I am John Richardson a developer in the OS group working on the Windows Driver Framework

Host: Ravi (Microsoft)
Hi, I am Ravi Gollapudi. I am a tester for the Driver Framework.

Moderator: Eric (Microsoft)
Welcome everyone, let's get started!

Host: Johan (Microsoft)
Q: What is the Windows Driver Framework?

A: It is a library that encapsulates the Windows Driver Model (WDM) in order to simplify the development of robust drivers. The WDF can handle PnP, PM, and WMI for you, so that you can focus on the driver specific behavior/functionality.

Host: Johan (Microsoft)
Q: How do I sign up for a beta?

A: In order to receive a preview or beta of the WDF, you must sign up for the DDK beta program. You can find instructions on: https://www.microsoft.com/whdc/ddk/ddkbeta.mspx

Host: Doron (Microsoft)
Q: How will miniports be addressed in relation to the Framework?

A: Currently, WDF is mainly focused on monolithic drivers. Future revisions of WDF will focus on miniport driver models. That said, if the miniport model that is targeted allows for inclusion of WDM APIs (and is not restricted to only port driver exports), some pieces of the framework can be used.

Host: Nar (Microsoft)
Q: I need a virtual adapter and a driver that translates packets between the vA and the real adapter. What is the right way to go? thanks,

A: This is not the right forum for this question. In any case, the answer depends on the device type of the adapter (storage, networking etc.)

Host: Johan (Microsoft)
Q: Are there specifications available at this time and how can I get my hands on them?

A: If you are under a Non-Disclosure Agreement (NDA) with Microsoft, you can send your request to windf@microsoft.com. Access to the specification documents can only be granted following the verification of your NDA.

Host: Doron (Microsoft)
Q: Doron, given a SCSI or ATAPORT miniport, then what DDK will I need to build those miniports?

A: You will need the latest DDK.

Host: Robin (Microsoft)
Q: This is applicable for 2000 and XP correct? Are there other O/Ss (ie. CE.NET) that apply to WDF?

A: Yes, Windows2000 and WindowsXP are both covered by WDF. No, CE.NET is not included.

Host: Johan (Microsoft)
Q: How will miniports be addressed in relation to the Framework?and target specifically Longhorn please

A: WDF currently follows the schedule of the next release of the Windows operating system (codename: Longhorn). For LH, we should have mini-port support in place. At this point it is hard to tell the extend of that support.

Host: Ravi (Microsoft)
Q: Will WDF simplify driver testing? In particular, will the WDF testing tools be less intimidating then the current HCT and, also, be usable by individual developers with less then infinite resources. (e.g., no giant test servers...).

A: Yes, it will be simpler. We plan to have more specific test tools.

Host: Doron (Microsoft)
Q: Hmmm ... that was a bit of an obvious answer to a somewhat stupid question Doron ... what I am trying to address is after WDF goes gold and the emphasis is on building WDF drivers ... will we still need an XP or Server 2003 to build a SCSIPORT driver?

A: Currently we are not planning on rewriting existing port / miniport models to WDF. New models will be written for WDF though. This would mean that you could still build existing miniports after WDF is released

Host: Johan (Microsoft)
Q: Windows XP embedded is included though.

A: Windows Xp embedded is a componentized version of Windows XP. Any code/binaries that is developed for XP obviously will work under embedded. So any drivers written with the WDF should work on both platforms.

Host: Johan (Microsoft)
Q: When does the WDF ship?

A: WDF currently follows the schedule of the next release of the Windows operating system (codename: Longhorn).

Host: Doron (Microsoft)
Q: make that "an XP or Server 2003 DDK." How about an ATA miniport?

A: I don't know the specifics of the ATA miniport model. Please contact Microsoft PSS or the appropriate PM for specific release information.

Host: Johan (Microsoft)
Q: What is WDF? Is that different from WDM?

A: (copied from above) It is a library that encapsulates the Windows Driver Model (WDM) in order to simplify the development of robust drivers. The WDF can handle PnP, PM, and WMI for you, so that you can focus on the driver specific behavior/functionality.

Host: Johan (Microsoft)
Q: When does the WDF ship?

A: WDF currently follows the schedule of the next release of the Windows operating system (codename: Longhorn).

Host: Johan (Microsoft)
Q: Wow. That is news. Is is available for building drivers under Windows 2000?

A: It will be backwards compatible to Win2K.

Host: Johan (Microsoft)
Q: When is a full beta of WDF expected?

A: A first preview was made available at WinHEC. The beta is expected to go out this Nov. with the DDK beta.

Host: Johan (Microsoft)
Q: When is a full beta of WDF expected?

A: Here is how you sign up... In order to receive a preview or beta of the WDF, you must sign up for the DDK beta program. You can find instructions on: https://www.microsoft.com/whdc/ddk/ddkbeta.mspx

Host: Johan (Microsoft)
Q: Will existing drivers need to change to conform to this new WDF library?

A: Existing drivers will continue to work. The WDM model is not disappearing. The WDF is a library that should make the development of new drivers easier and better.

Host: Ravi (Microsoft)
Q: Will WDF sample drivers rely on readily available test hardware? Any specific test boards to acquire?

A: We are currently re-writing some of the samples that are already in the DDK. Some of them may require specific hardware, and the others are software drivers that will not require any.

Host: Johan (Microsoft)
Q: Will that Nov. Delivery be in connection with the Developer Conference?

A: Yes it will.

Host: Johan (Microsoft)
Q: FYI: The link: https://www.microsoft.com/whdc/ddk/ddkbeta.mspx doesn't seem to work...... that link to get the preview/beta DDK is broken

A: We're looking into this - stand by.

Host: Doron (Microsoft)
Q: Back to miniports ... Will that initial drop of the WDF also include the ATA work that Nathan Obr's group is doing?

A: No, it does not. The ATA work was started before work on WDF began so it does not include WDF support.

Host: Doron (Microsoft)
Q: As a side note then Doron ... when will that be available, or should I take that up with Nathan?

A: You should speak with Nathan.

Host: Doron (Microsoft)
Q: Can WDF be used in writing a NDIS protocol driver? In many respects a NDIS protocol driver is a "legacy" NT driver that just happens to call NDIS functions that are used by protocols.

A: Yes, WDF will support "legacy" NT4 style drivers. Since an NDIS protocol driver's dispatch table is not taken over by NDIS.sys, WDF is allowed to do so and control the driver.

Host: Robin (Microsoft)
Q: But it isd still a miniport ... and miniports will continue as usual but require the DDK supporting them ... not WDF

A: Yes, you're correct. Miniport will continue to exist.

Host: Johan (Microsoft)
Q: **Beta signup - broken link update**

A: Here's an update on the Beta signup... It turns out that the open beta enrollment ended last friday. If you are interested on getting on the beta program, send your info to windf@microsoft.com.

Host: Johan (Microsoft)
Q: Will WDF be distributed as binary, source or some combination thereof?

A: Initially as binary. Microsoft is currently considering whether or not to make the source code available.

Host: Robin (Microsoft)
Q: So WDF should make driver development easier in particular the PM, PnP and WMI. Are there other areas of improvement?

A: In addition to PM, PnP and WMI, there is support for USB Target, DMA, synchornization, cancelation, and more.

Host: Johan (Microsoft)
Q: Does using WDF affect my driver signing?

A: Currently, there are no planned WHQL changes specifically targeting WDF.

Host: Johan (Microsoft)
Q: You have to be implying that it more a subset release of the normal DDK with the LIB files to link against and header (.H) to build against. Not just a set of binaries that "magically" get loaded when a WDF driver loads

A: That is correct. It is set of LIB and header files.

Host: Johan (Microsoft)
Q: ...Not just a set of binaries that "magically" get loaded when a WDF driver loads

A: At this point - since we're still pre-release - the WDF is a static library. As we are looking into our versioning and update strategy, the WDF may be released as a DLL.

Host: Robin (Microsoft)
Q: Can you elaborate a little bit on the DMA support in the WDF?

A: WDF will provide support for a clearer DMA model. Many of the management tasks required for DMA will be provided by the DMA Object support. For example the current planning is to handle Map Registers within the DMA Object.

Host: Nar (Microsoft)
Q: Are there any performance hits when using WDF vs. WDM?

A: We do expect a perf impact if you use WDF as its a library or a layer on top of WDM. We expect that in most cases the overhead may be reasonable as WDF just implements the code that the driver has to implement anyway.We will tune WDF for performance before we ship

Host: Robin (Microsoft)
Q: So I guess there will be a new object called DMA object. What happens to the adapter

A: The DMA Object is a WDF element. Therefore, you may use the WDF DMA support or continue to use WDM DMA support. In other words, you could migrate to WDF DMA support for existing driver or start with WDF DMA Object for new drivers.

Host: Doron (Microsoft)
Q: Are there any debugging issues introduced by WDF? Are there things hidden by WDF?

A: We will be shipping debug extensions with WDF. We are considering shipping the source to the framework. WDF is encapsulating WDM concepts. Things like IRPs are not presented to the driver by default (they are represented as request handles). You can always get to the underlying WDM object though.

Host: Johan (Microsoft)
Q: ** BETA SIGNUP - web signup closed **

A: We've already received a couple of requests for the WDF Beta (which ships as part of the DDK beta) via windf@microsoft.com. Your info will be passed to the beta folks. Thanks for the support!

Moderator: Eric (Microsoft)
Thanks for joining us today and thanks for the questions. It's time for us to go now. If we couldn't get to your question, please post it in the newsgroups news://msnews.microsoft.com/microsoft.public.development.device.drivers

Moderator: Eric (Microsoft)
Thanks for coming! See you next time!

For further information on this topic please visit the following:

Newsgroups:

Microsoft.public.development.device.drivers

Microsoft.public.windbg

Windows Drivers Transcripts: Read the archive

Website: Visit the Community Home Page for Windows Platform Development

Top of pageTop of page