Siva’s Thoughts

Just another WordPress.com weblog

Key Driver Concepts

Posted by lingams on March 24, 2007

Key Driver Concepts
of windows Device Drivers. Here are the links direct to the resource

Key Driver Concepts

Everyone who develops kernel-mode drivers for the Microsoft Windows family of operating systems should understand fundamental operating system concepts and features, be familiar with their effects on the design and operation of kernel-mode drivers, and keep current with the changes and enhancements introduced in each new version of Windows.

Tip: See the video presentations from Driver DevCon and other tips & tricks at Notes from Windows Development Teams.

Kernel-Mode Basics

White Paper Checklist for 64-bit Microsoft Windows Drivers
White Paper DMA Support in Windows Drivers
White Paper Locks, Deadlocks, and Synchronization
White Paper Memory Management: What Every Driver Writer Needs to Know
White Paper Multiprocessor Considerations for Kernel-Mode Drivers
White Paper Patching Policy for x64-Based Systems
White Paper Recommended Functions for Kernel-Mode Drivers
White Paper Scheduling, Thread Context, and IRQL
White Paper User-Mode Interactions: Guidelines for Kernel-Mode Drivers
White Paper Writing kernel-mode drivers in C++: should you or shouldn’t you?

I/O Request Packets

White Paper Cancel Logic in Windows Drivers
White Paper Flow of Control for Cancel-Safe IRP Queuing
White Paper Handling IRPs: What Every Driver Writer Needs to Know
White Paper I/O Completion/Cancellation Guidelines
Windows Multimedia Nar Ganapathy – Going Deep: Windows, the IO Manager and Driver Model , Part I
Windows Multimedia Nar Ganapathy – Going Deep: Windows, the IO Manager and Driver Model , Part II

Windows Driver Model (WDM)

Microsoft Powerpoint (.ppt) How to Port WDM Drivers to KMDF [749 KB]

Windows Vista System Internals

White Paper _OSC Method and PCI Express in Windows Vista
White Paper CardBus I/O Resource Windows in Windows Vista
White Paper Changes to User Mode Services in Windows Vista
White Paper Impact of Session 0 Isolation on Services and Drivers in Windows Vista
White Paper Kernel Enhancements for Windows Vista and Windows Server Longhorn
White Paper Protected Processes in Windows Vista
White Paper Software Licensing Guidance for Products that Use Process Patching and Hooking
Microsoft Powerpoint (.ppt) System Internals and Your Application: Windows Vista and “Longhorn” Server [PDC 2005; 420 KB]
Windows Multimedia Michael Fortin – Windows Vista SuperFetch
Windows Multimedia Nar Ganapathy: Windows Vista I/O
Microsoft.com Going Deep Inside Windows Vista’s Kernel Architecture (Channel 9 interview)
Microsoft.com Security Team Notes on Kernel Patch Protection
Downloadable Microsoft Windows Vista Security Advancements [690 KB]

Driver Development and Testing for Windows Vista

Tools Get the Windows Driver Kit (WDK)
White Paper Driver Compatibility for Windows Vista
White Paper Driver Tip: Debugging Windows Vista
WHDC Portal/Nodal Windows Driver Kit (WDK)

Windows XP

White Paper Kernel Enhancements for Windows XP
White Paper Low Pool Memory and Windows XP

Plug and Play General

White Paper Installing Drivers and Utilities without Rebooting on Windows
Microsoft Powerpoint (.ppt) Developing Great Devices for Windows PCs [832 KB]
This link leaves the Microsoft.com site Presentations on the ACPI Web Site

Power Management, Devices, and Drivers

White Paper Introduction to Plug and Play and Power Management in the Windows Driver Foundation
White Paper OnNow Device Power Management
Microsoft.com Windows Kernel Plug and Play/Power Management [Online chat; March 4, 2004]

WMI and Driver Instrumentation

White Paper Sample Drivers for the Kernel-Mode Driver Framework
White Paper Static Driver Verifier Facts
White Paper WMI and Windows Drivers

See Also

White Paper Toaster Sample Drivers in the Driver Development Kit
WHDC Portal/Nodal Archived White Papers
WHDC Portal/Nodal Windows Driver Foundation

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>