D

device object

A kernel-mode-only, I/O Manager-defined object type, used to represent a physical, logical, or virtual device whose driver has been loaded into the system. Each driver calls IoCreateDevice to initialize a device object for each device that driver services. See also driver object.

Devices are “visible” to end users as named file objects, stored in a directory protected against careless or malicious user-mode access. User-mode code (protected subsystems) must access any device through the opaque handle returned by the system service that opens the file object that represents the device.

DIRQL (device interrupt request level)

See also IRQL and IDT ¾ This particular IRQL refers to the IRQL at which a given device interrupts.

DIX

DEC/Intel/Xerox. DIX designates a type of network.

DLL (dynamic link library)

A software library that resolves relocatable entry points at run time.

DLPI (datalink provider interface)

DMA (direct memory access)

No different from any other OS.

DPC (deferred procedure call)

A DPC is a kernel-defined control object type, representing a procedure that is to be called later. DPCs are executed in kernel mode at IRQL DISPATCH_LEVEL (see IDT and IRQL).

A DPC is primarily used when an ISR, such as device driver’s or clock interrupt service routine, needs to perform more work but should do so at a lower IRQL than the one at which an ISR executes. Getting the IRQL lowered back down quickly is important for overall system response time. The ISR, then, can request that a procedure be executed at a lower IRQL at a later time.

The kernel queues DPC objects in a single, system-wide DPC queue, and other executive components and drivers insert DPCs into the queue by calling kernel-supplied support routines. The DPC queue is monitored by each of the processors in the system whenever a DISPATCH_LEVEL interrupt occurs on the individual processor or when the processor is idle. When a DPC queue entry is dequeued, the kernel calls the procedure.

DPR (deferred processing routine)

This is a netcard driver function that completes interrupt processing for an ISR.