Queues and Other Support Objects


After the driver creates and initializes the device object, the driver creates additional objects that are associated with the device object. These additional objects provide services that the driver uses to control the device and handle I/O requests. Along with the device objects, they form the working structure of the driver.

Table 6-3 lists the additional objects that drivers most commonly create. Each of the objects in the table is typically a descendant of a device object.

Table 6-3: Common Objects
Open table as spreadsheet

Object

Description

Supporting framework

I/O queue object

Manages the flow of I/O requests to the driver.

UMDF and KMDF

See Chapter 8, "I/O Flow and Dispatching"

I/O target object

Represents a target for I/O requests.

UMDF and KMDF

See Chapter 9, "I/O Targets"

USB device, interface, and pipe objects

Represent a USB device and describe a USB configuration and the endpoints in a configuration.

UMDF and KMDF

See Chapter 9, "I/O Targets"

Interrupt object

Represents an interrupt vector or interrupt message.

KMDF

See Chapter 16, "Hardware Resources and Interrupts"

Lock object

Provides serialization for shared resources.

KMDF

See Chapter 10, "Synchronization"

WMI provider and instance objects

Provide WMI features so that the driver can export information to other components.

KMDF

See Chapter 12, "WDF Support Objects"

DMA enabler, transaction, and common buffer objects

Enable the use of the framework's DMA support and describe a DMA transaction and buffer.

KMDF

See Chapter 17, "Direct Memory Access"

This chapter indicates where your driver should create and initialize these objects, but does not provide detailed explanations of what they do and how they work.




Developing Drivers with the Microsoft Windows Driver Foundation
Developing Drivers with the Windows Driver Foundation (Pro Developer)
ISBN: 0735623740
EAN: 2147483647
Year: 2007
Pages: 224

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net