Windows Driver Kit: Glossary
- See discretionary access control list (DACL).
- Digital audio tape. A consumer recording and playback media for high-quality audio.
- data circuit equipment
- See data circuit-terminating equipment (DCE).
- data circuit-terminating equipment (DCE)
- Data circuit-terminating equipment is required to attach data terminal equipment (DTE) to a network or serial line. Data circuit-terminating equipment (DCE) includes devices such as modems and ISDN terminal adapters.
- data communications equipment
- See data circuit-terminating equipment (DCE).
- data sink pin
- A pin on a filter that consumes binary media (stream) data from the data flow. A data input pin. A sink may be a window on screen, a sound card, a file, and so on.
- data source pin
- A pin on a filter that produces binary media (stream) data. A data output pin. A source is a provider of multimedia information. Examples of a source include a USB Webcam and a 1394 Digital Video Camcorder.
- data terminal equipment (DTE)
- Includes devices that are the source or destination of data. These devices are connected by data circuit-terminating equipment (DCE). Data terminal equipment includes devices such as PCs and printers.
- See device context (DC).
- See directory control block (DCB).
- See data circuit-terminating equipment (DCE).
- See device-dependent bitmap (DDB).
- Display data channel. A standard that defines a communications channel between a monitor and the display adapter to which it is connected. This channel provides a method for the monitor to convey its identity to the display adapter.
- A run-time error condition that occurs when two threads of execution are blocked, each waiting to acquire a resource that the other holds, and both unable to continue running.
- decorated INF section
- An INF file section whose name contains a suffix ("decoration") that identifies a particular platform and/or operating system. For example, [SourceDisksNames.x86] and [aha154x.ntx86] are examples of decorated section names. Decorated sections contain installation information that is only relevant to the platform and/or operating system specified by the suffix.
For more information see the topic, Creating INF Files for Multiple Platforms and Operating Systems.
- deferred procedure call (DPC)
- A queued call to a kernel-mode function that will usually be executed at a later time. DPCs are used by drivers to schedule I/O operations that do not have to take place in an ISR at a high IRQL, and can instead be safely postponed until the processor IRQL has been lowered.
For more information, see the topic, DPC Objects and DPCs.
DPCs can also be used with timers. For more information, see the topic, Timer Objects and DPCs.
- design space
- See notional space.
- The conversion of spooled device-independent records into device-specific records.
- A device object, or hardware, or software functionality such as a codec.
- device class
- Either a Device Setup Classes or a Device Interface Classes.
- device co-installer
- See Co-installer.
- device context (DC)
- A structure that defines a set of graphic objects and their associated attributes, and the graphic modes that affect output. The graphic objects include a pen for line drawing, a brush for painting and filling, a bitmap for copying or scrolling parts of the screen, a palette for defining the set of available colors, a region for clipping and other operations, and a path for painting and drawing operations.
Conceptually, a device context is a link between a Windows-based application, a device driver, and an output device such as a display, printer, or plotter.
- device driver interface (DDI)
- A set of functions that are implemented by the operating system for use by drivers.
- device ID
- A vendor-defined device identification string that is the most specific ID that Setup uses to match a device to an INF file.
For more information see the topic, Device Identification Strings.
See also hardware ID, compatible ID, instance ID, and device instance ID.
- device installation application
- A vendor-supplied, user-mode application that installs devices, if the driver package replaces Microsoft-supplied drivers and INF files or if the driver package includes vendor-supplied device-specific applications. For more information, see the topic Writing a Device Installation Application.
- device instance
- A physical piece 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.
- device instance ID
- A system-supplied device identification string that uniquely identifies an instance of a device in the system. This string consists of a device ID and an additional, instance-specific instance ID.
For more information see the topic, Device Identification Strings.
See also device ID, hardware ID, compatible ID, and instance ID.
- device interface
- 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 Classes.
A driver can expose instances of zero, one, or more than one device interface class for a device. For example, a device could have a joystick and a keypad, and the device's driver stack could expose instances of three interface classes for the device: a joystick, a keypad, and a combined joystick/keypad.
- device interrupt request level (DIRQL)
- The IRQL at which a given device interrupts.
See also IRQL and IDT.
- device key
- See hardware key.
- device management
- The exchange of requests and responses that control and configure the operational state of a device. Device management requires the use of a Communication Class interface.
- device node
- See devnode.
- device object
- A kernel-mode object, defined by the I/O manager, that represents a physical, logical, or virtual device. Each driver calls IoCreateDevice to create and initialize a device object for each physical, logical, or virtual device that the driver services. PnP drivers create three kinds of device objects: bus drivers create PDOs, function drivers create FDOs, and filter drivers create filter DOs. A device is "visible" to end users as a named file object, and to user-mode code (protected subsystems) through a named device interface.
For more information see the topic, Introduction to Device Objects.
See also Device Extensions, devnode, and driver object.
- device palette
- See palette.
- device power policy owner
- The driver for a device that controls its power policy, determining when it sleeps and when it wakes. Typically, the function driver for the device assumes this role, requesting power IRPs to put the device to sleep or to wake it up.
- device queue object
- A kernel-mode-only, kernel-defined control object type used to queue I/O requests for subsequent processing. A device queue object has an associated executive spin lock and a state (Busy or Not Busy).
An I/O request, called a "queue entry," is not actually placed in the queue unless the state of the device queue object is already Busy:
- On the transition from Not Busy to Busy, the driver is expected to service the queue entry immediately because that entry is not queued.
- Subsequent requests while the state is Busy are queued in FIFO or key-sorted order.
- An attempt to remove a queue entry from an empty queue causes a transition from Busy to Not Busy.
- An attempt to remove a queue entry from an empty queue when the state is Not Busy is a programming error, which causes the system to "bug check" (in other words, to "crash") in a checked build.
For more information see the topic, Driver-Managed IRP Queues.
- device space
- The coordinate space that measures 227 units in height by 227 units in width, in which the x coordinate increases toward the right and the y coordinate increases downward. The only transformation allowed in device space is translation, which ensures that the origin in device space maps to the proper location on the physical device (that is, in physical device space).
See also notional space.
- device stack
- A chain of device objects that represent the drivers for a device.
Each device stack contains a device object for each driver that is involved in handling I/O to a particular device. The parent bus driver has a physical device object (PDO), the function driver has a functional device object (FDO), and each filter driver has a filter device object (filter DO).
For more information, see WDM Device Objects and Device Stacks.
- device-dependent bitmap (DDB)
- A data structure that describes a bit image by specifying the width and height of a rectangular region in pixels; the width of the array that maps entries from the device palette to pixels; and the device's color format in terms of color planes and bits per pixel. A DDB is device-managed, as opposed to being engine-managed.
See device-independent bitmap (DIB).
- device-independent bitmap (DIB)
- Information about the bitmap is stored in a data structure containing information such as color format, resolution, and color palette for the device on which the image appears; an array of bits that maps RGB triplets to pixels; and a data-compression identifier that indicates which, if any, data compression scheme was used to reduce the size of the array of bits. A DIB is a GDI bitmap that can be rendered accurately on different devices because it contains a color table that can be read by the rendering device driver. These are standard format bitmaps created and supported by GDI through EngCreateBitmap. A DIB is engine-managed, as opposed to being device-managed.
See device-dependent bitmap (DDB).
- device-managed surface
- A surface managed by a particular output device, rather than by the Graphics Engine (kernel-mode GDI). There are two types of device-managed surfaces: standard format bitmap, and nonstandard-format surfaces.
A standard-format bitmap can be either opaque or nonopaque. These terms indicate whether GDI has information about the location and format of the bitmap. For a standard-format bitmap that is opaque, the display driver must handle all rendering tasks done on the surface. For a standard-format bitmap that is nonopaque, the display driver handles some rendering tasks, and can refer others back to GDI.
A display driver calls on GDI to create a nonstandard-format surface. After creating the surface, GDI returns a surface handle to the display driver, which must carry out all subsequent operations pertaining to the surface. One type of nonstandard-format surface is the (device-dependent bitmap (DDB)), which is supported to allow drivers such as the VGA driver perform faster bitmap-to-screen block transfers.
For more information see the topic, Surface Types.
- An internal structure that represents a device on the system.
There is a devnode for each device on a machine and the devnodes are organized into a hierarchical Device Tree. The PnP manager creates a devnode for a device when the device is configured.
A devnode contains the device stack (the device objects for the device's drivers) and information about the device such as whether the device has been started and which drivers have registered for notification on the device.
- See device-independent bitmap (DIB).
- digital simultaneous voice and data (DSVD)
- A signaling method that mixes data and digitized voice.
- direct memory access (DMA)
- A method of transferring data between a device and main memory without intervention by the CPU. DMA is handled by the device itself (bus-mastering or first-party DMA) or by a DMA controller chip in the system (subordinate or third-party DMA).
- directory control block (DCB)
- An internal NT file system structure in which a file system maintains state for an open instance of a directory file.
See also context control block (CCB) and file control block (FCB).
- directory file
- A file that points to or lists a set of named file objects.
Note that on-disk directory files are represented in the kernel as file objects, not as object directory objects.
See also file object and object directory object.
- directory object
- See object directory object.
- A set of multimedia APIs that Microsoft provides.
- Directory identifier. A numeric identifier used within INF files to represent a disk directory. For more information, see the topic Using Dirids.
- See device interrupt request level (DIRQL).
- Discrete Cosine Transform. A technique used to achieve spatial compression of a video stream. It transforms a block of pixel values into a set of "spatial frequency" coefficients. See also IDCT.
- discretionary access control list (DACL)
- Part of the security descriptor for an object. The DACL can be applied to a newly created object in order to restrict access to the object.
See also ACE, access right, access control list (ACL) and security descriptor.
- disk controller
- A special-purpose chip and circuitry that directs and controls reading from and writing to a computer's disk drive. Also called a hard disk controller (HDC).
- disk extent
- A contiguous run of sectors on one disk.
- dispatch routine
- An IRP-processing routine in a kernel-mode driver. Drivers export entry points for these routines through a dispatch table in the DRIVER_OBJECT structure.
For more information see the topic, Writing Dispatch Routines.
- dispatch state
- At any given moment, a thread can be in one of the following states:
- ready − queued and eligible for dispatch to a processor
- standby − ready and selected to execute, but a context switch to the thread has not yet occurred
- waiting − suspended until a particular dispatcher object is set to the Signaled state
- dispatcher objects
- A class of kernel-defined object types that are used to manage dispatching and synchronization.
For more information, see Kernel Dispatcher Objects.
See also control objects.
- display power management signaling (DPMS)
- A standard that defines display power management states and provides a standard method for the display controller to signal to the display to enter into those states.
- distribution system (DS)
- The backbone that connects the access points of an 802.11 LAN. The distribution system can use Ethernet or another wired or wireless network architecture.
- A technique used to create the illusion of varying shades of gray on a monochrome display or printer, or additional colors on a color display or printer. Dithering treats areas of an image as groups of dots that are colored in different patterns. Similar to halftones in photography.
- Dynamic-link library.
- See direct memory access (DMA).
- Desktop Management Interface. A framework created by the DMTF.
- Desktop Management Task Force. DMTF specifications define industry-standard interfaces for instrumentation providers and management applications.
- To insert a portable computer into a base unit.
See also cold docking, hot docking, and warm docking.
- docking station
- The base computer unit into which a user can insert a portable computer, expanding it to a desktop equivalent. A typical docking station provides drive bays, expansion slots, the ports that would be provided by an equivalent desktop computer, and AC power.
- A printer property page setting that applies only to a single document. For example, the left and right margins of a particular document are document-sticky settings.
Contrast with printer-sticky.
- A physical device, attached to a PC's I/O port, that adds hardware capabilities.
- See deferred procedure call (DPC).
- See display power management signaling (DPMS).
- drawing functions
- A set of functions that a display driver can implement to perform rendering operations. The DDI drawing functions are shown in the following list. These functions perform many kinds of rendering operations, including alpha blends, bit block transfers, rendering lines, color fills, and displaying text.
- driver extension
- An opaque, system-defined structure, associated with a driver object. The only driver-accessible member of the driver extension is a pointer to the driver's AddDevice routine. Do not confuse driver extensions with driver object extension.
- driver key
- See software key.
- driver node
- A device entry in an INF file's INF Models Section. Each of these entries identifies a device's Device Identification Strings, and references other sections within the INF file that identify the device's installation components, including driver files, service information, device-specific co-installers, registry entries, and so forth.
- driver object
- A kernel-mode object that represents a driver's load image and is used by the I/O manager to locate certain entry points in the driver.
For more information see the topic, Introduction to Driver Objects.
- driver object extension
- A driver-defined structure containing driver-specific information. Drivers allocate driver object extensions by calling IoAllocateDriverObjectExtension. Do not confuse driver object extensions with driver extension.
For more information see the topic, DriverEntry's Optional Responsibilities.
- driver stack
- A chain of drivers that support the operations of a device. For more information see the topic, Layered Driver Architecture.
- See distribution system (DS).
- Digital signal processor. An integrated circuit designed for high-speed data manipulations. Used in audio, communications, image manipulation, and other data-acquisition and data-control applications.
- See digital simultaneous voice and data (DSVD).
- See data terminal equipment (DTE).
- Digital video disc. Digital data storage that encompasses audio, video, and computer data.
- dynamic analysis
- Examining a program while executing its code. Unit tests and stress tests are examples of dynamic analysis. Dynamic analysis is useful because it finds errors that actually occur and are reproduceable; however, it is more difficult to perform a thorough analysis using this method. See also static analysis.
- dynamic verification
- Using dynamic analysis to verify that the program complies with a specification or protocol.