A runtime error condition that occurs when two threads of execution are unable to continue running because each is waiting to acquire a resource that the other holds.
device driver interface
A WinDbg command-line utility that performs various basic debugging operations.
A WinDbg command-line utility that provides functionality beyond that provided by debugger commands. They are useful in debugging special-purpose software such as WDF drivers.
A queued call to a kernel-mode function that runs at DISPATCH_LEVEL.
The address space for a device bus.
A collection of system-supplied routines that a driver calls to interact with system services. DDI is the driver equivalent of API.
A vendor-defined device identification string that is the most specific ID that Setup uses to match a device to an INF file.
An I/O request that cannot be represented as a read or write request and typically involves some other hardware operation.
An individual unit of hardware. For example, if Company ABC manufactures a CD-ROM drive with a model name of XYZ, and if a particular system includes two of these drives, then there are two instances of device model XYZ.
A system-supplied device identification string that uniquely identifies an instance of a device in the system.
Device functionality that a driver exposes to applications or other system components. Each device interface is a member of a system-defined or vendor-defined device interface class.
A group of interfaces that generally apply to a particular type of device and are the means by which drivers make devices available to applications and other drivers.
The range of IRQLs associated with device interrupts. The exact range of DIRQLs depends on the processor architecture.
See devnode.
An object that represents a driver's participation in the processing of I/O requests for a particular device.
The driver that controls the power policy for a device, determining when it sleeps and when it wakes.
The level of power consumption by a device. Device power states range from D0 to D3, where D0 is the fully-powered working state and D3 is the powered-down (off) state.
A group of devices that are set up and configured in the same way.
A collection of device objects and associated drivers that handle communication with a particular device.
A WDF synchronization mechanism in which the framework acquires a presentation lock at the device object level.
An element of the PnP manager's device tree. The PnP manager uses a device stack's devnode to store configuration information and track the device.
A method of transferring data between a device and main memory without intervention by the CPU.
device interrupt request level
(1) The system's thread scheduler. (2) A UMDF component that directs I/O requests to I/O targets that are not part of the UMDF device stack.
The IRQL at which the Windows thread dispatching code, paging code, and many kernel-mode driver functions run.
direct memory access
A complete I/O operation that involves DMA, such as a single read or write request from an application.
A single hardware operation that transfers data from main memory to a device or from the device to main memory.
The reflector's device object that receives requests from the UMDF driver host process and passes them to the kernel-mode device stack.
deferred procedure call
The UMDF component that creates and shuts down the driver host processes, maintains status information about them, and responds to messages from the reflector.
An object that represents a driver.
An installation package that includes the driver binary and all of its supporting files.
A chain of drivers that is associated with one or more device stacks to support the operations of devices.
The examination of a program while executing its code. Unit tests and stress tests are examples of dynamic analysis.
The use of dynamic analysis to verify that the program complies with a specification or protocol.