Welcome To The WinHEC 2000 Device Driver Sessions Sandy Spinrad Device Driver Evangelist Microsoft Corporation
Driver Sessions (Today) Resources Driver Signing Testing + Driver Verifier Device Installation Plug-n-Play IDs
Driver Sessions (Wednesday) WDM architecture and implementation tips Display Device Drivers Driver Quality tools from Compuware / Numega Filter Drivers Debugging Drivers WDM Audio / KS Introduction
Driver Sessions (Thursday) NDIS Printer Drivers Toaster Bus MFP Drivers WMI Advanced Audio Drivers Win 64 WIA And lots of great content in the technical forums
Resources Available To Driver Developers Sandy Spinrad Device Driver Evangelist Bill Stuart Developer Support Microsoft Corporation
Resources For Driver Developers DDK Driver Verifier Windows® Hardware Newsletter DDK/HWDEV Web sites Conferences Beta Programs Hardware Evangelism Group Test Kits External resources DDK Developer Support
The Device Driver Kit Available through MSDN and at http://www.microsoft.com/DDK Documentation available online at http://www.microsoft.com/ddk/ ddkdocs/win2k Use the latest Windows 2000 DDK for updated WDM content Send us your feedback
Driver Verifier
Microsoft® Windows Hardware Newsletter Microsoft’s primary vehicle for communicating with the hardware industry Information pertaining to planners, testers, developers Sign up for it today! http://www.hwdev.org/whn.htm And read it!
HWDev And DDK Web Sites Archives relevant articles from the Windows Hardware Newsletter Hosts the DDK downloads Whitepapers PC Design Guides Resources and Yellow Pages http://www.microsoft.com/hwdev
Conferences WinHEC Meltdown (July 12th – 14th) Plugfests Please provide feedback sandysp@microsoft.com Meltdown (July 12th – 14th) Plugfests Porting events And a variety of device class specific events throughout the year Conferences are announced in the Windows Hardware Newsletter
Beta Programs Major beta releases are available through MSDN Limited beta programs are are also available Watch the hardware newsletter Participate early and thoroughly
Hardware Evangelism Group Responsible for driving communications between Microsoft and the hardware industry Technical evangelists assigned to technology areas Can be contacted directly or through ihv@microsoft.com
Test Kits Not just for WHQL logo certification Most HCTs come from tests used by Microsoft device testing teams Beneficial for internal testing Many Hardware Compatibility Tests (HCTs) have additional testing tools Study the HCTs carefully Use driver verifier Test on multiprocessor systems
External Resources Books Public newsgroups and mailing lists Third party training seminars Tools Consultants http://www.microsoft.com/hwdev/ Click on resources/third-party resources
Driver Development Support And Hardware Development Tips Bill Stuart Developer Support Microsoft Corporation
Microsoft Supports Writing Device Drivers You don’t need support until you NEED SUPPORT Support information Microsoft Resource Guide Helpful hints General hardware suggestions
Free Support/Resources Knowledge Base http://support.microsoft.com/search/ Select “Windows DDKs” in the “Select a Microsoft Product” Type in search The DDK Support teams host a free information page http://support.microsoft.com/support/ddk/
Professional Paid Support Get to the right place quickly www.microsoft.com/support/customer/develop.htm “Incident” = answer to a question www.microsoft.com/support/customer/dev_pro.htm Or call 800-936-3500 Quickly use “incidents” 800-936-5800 Web submission Cheaper than phone! More accurate - you type it MSDN customers can go directly to msdn.microsoft.com/subscriptions
Find Support In Your Country And Language http://support.microsoft.com Go to “worldwide support” Pick a country Driver questions can be escalated to the main Developer Support teams
Make Incidents Go Faster Put keywords in the incident title YES: “DDK Windows NT® audio driver IRP handling” - very specific Not specific: “Windows audio C programming” - may take longer “SR” (service request) number Like an object handle in programming Good idea to write it down Anyone in Microsoft Support can find your incident case if delayed Upgrade to latest major “build”
Topics For Driver/DDK Support Engineers Building in the DDK environment Sample adaptations Understanding the documentation or design guides to write your driver Setting up the Debugging environment Debugging tips Possible workarounds for known bugs
Questions For Other Support Engineers OEM system initial debug C language questions WHQL/logo questions - you can find documents and e-mail addresses at: http://www.microsoft.com/hwtest/
Questions For Resources Other Than Microsoft Actual debugging of your source Undocumented proprietary DDIs/APIs Driver development kits or tools not from Microsoft Third-party real-time extensions to the operating system, except Windows CE Programming hardware
Other Developer Resources Windows SE debug files Located on next Windows 98 DDK Now: http://www.microsoft.com/ddk/ Look for updates Premier support www.microsoft.com/support/customer/dev_premier.htm Or call 800-836-3200 OEM/system builders should start at: http://www.microsoft.com/oem/ Cutting edge idea? Ihv@microsoft.com
We Support A Variety Of Kits/Operating Systems Driver Support is part of “Developer Support for Windows” This covers all manner of kernel mode and user mode programming Support of writing code for Windows 2000, Windows 98, Windows CE Support of maintaining past driver code such as Windows 95, Windows NT 4.0, etc.
Hardware Development Suggestions Bill Stuart Developer Support Microsoft Corporation
Hardware Design Can Help Driver Development Hardware design aids driver design when it is Deterministic Configurable Latency insensitive Conforms to device class specifications Is designed with respect to the driver model Benefits Less time to code driver Faster code execution More reliable drivers = happier end users
Deterministic Hardware Is Great For Drivers Avoid write-only registers Separate the controls of different hardware functions Double check adherence to all device specifications Plug and Play IDs - different hardware with same ID, multiple IDs in same device…
Configurable Hardware Is Great For Drivers Design device to tolerate power loss ROM BIOS may not run before the device driver runs Allow for driver configuration instead of firmware only Limit hardware directly setting behavior of another device
Latency Insensitive Hardware Is Great For Drivers Windows average data throughput is reliable… ...Single operation may be interrupted Avoid driver managing A/D conversions Have buffering of data in hardware
Device Class Specifications Comply with all relevant device class specifications Hardware behavior might not be changeable in drivers Support the required power states Use Microsoft supplied drivers when available Many IDE, USB, 1394 DV devices will work with Microsoft supplied drivers If value add features are a requirement, try using filter drivers
In Summary Microsoft supports writing device drivers Microsoft wants you to develop successful drivers Microsoft Developer Support will help you develop quality device drivers Questions regarding DDK support? E-mail: BillStu@microsoft.com