Summary of Framework Objects

The following table lists all of the framework objects and provides some basic information about each object. The mode column indicates whether the object can be used in KMDF and UMDF drivers, or KMDF only.

For a list of callbacks and methods and which frameworks are applicable, see Summary of WDF Callbacks and Methods.

Name Handle Purpose Default parent Can driver override default parent? Mode Reference
Child-list object WDFCHILDLIST Represents a list of child devices that are connected to a parent device. Device object No KM WDF Child-List Object Reference
Collection object WDFCOLLECTION Represents an object collection. Driver object Yes KM/UM WDF Collection Object Reference
Common buffer object WDFCOMMONBUFFER Represents a common buffer. DMA enabler object No KM WDF Common Buffer Object Reference
Device object WDFDEVICE Represents a device. Driver object No KM/UM WDF Device Object Reference
DMA enabler object WDFDMAENABLER Enables a driver to use the framework's DMA capabilities. Device object Yes KM WDF DMA Object Reference
DMA transaction object WDFDMATRANSACTION Represents a DMA transaction. DMA enabler object No KM WDF DMA Object Reference
DPC object WDFDPC Represents a deferred procedure call. None Yes KM WDF DPC Object Reference
Driver object WDFDRIVER Represents a driver. None No KM/UM WDF Driver Object Reference
File object WDFFILEOBJECT Represents a file. Device object No KM/UM WDF File Object Reference
General object WDFOBJECT Represents a general object. Driver object Yes KM/UM WDF General Object Reference
Interrupt object WDFINTERRUPT Represents a hardware interrupt resource. Device object Yes KM/UM WDF Interrupt Object Reference
I/O target object WDFIOTARGET Represents a driver to which another driver sends I/O requests. Device object Yes KM/UM WDF I/O Target Object Reference
Lookaside-list object WDFLOOKASIDE Represents a lookaside list. Driver object Yes KM WDF Memory Object Reference
Memory object WDFMEMORY Represents a memory buffer. Driver object Yes KM/UM WDF Memory Object Reference
Queue object WDFQUEUE Represents an I/O queue that receives I/O requests. Device object Yes KM/UM WDF Queue Object Reference
Registry key object WDFKEY Represents a registry key. Driver object Yes KM/UM WDF Registry Key Object Reference
Request object WDFREQUEST Represents an I/O request. None, if created by framework. Driver object, if created by driver. Yes, if created by driver. KM/UM WDF Request Object Reference
Resource list object WDFCMRESLIST Represents a resource list. Driver object No KM/UM WDF Resource Object Reference
Resource range list object WDFIORESLIST Represents a logical configuration. Resource requirements list object No KM WDF Resource Object Reference
Resource requirements list object WDFIORESREQLIST Represents a resource requirements list. Driver object No KM WDF Resource Object Reference
Spin-lock object WDFSPINLOCK Represents a spin lock. Driver object Yes KM/UM WDF Synchronization Methods
String object WDFSTRING Represents a Unicode string. Driver object Yes KM/UM WDF String Object Reference
Timer object WDFTIMER Represents a timer. None Yes KM/UM WDF Timer Object Reference
USB device object WDFUSBDEVICE Represents a device connected to a USB. Device object No KM/UM WDF USB Reference
USB interface object WDFUSBINTERFACE Represents a USB device interface. USB device object No KM/UM WDF USB Reference
USB pipe object WDFUSBPIPE Represents a USB device pipe. USB interface object No KM/UM WDF USB Reference
Wait-lock object WDFWAITLOCK Represents a wait lock. Driver object Yes KM/UM WDF Synchronization Methods
WMI instance object WDFWMIINSTANCE Represents an instance of a WMI data block. WMI provider object No KM WDF WMI Reference
WMI provider object WDFWMIPROVIDER Represents a WMI data block. Device object No KM WDF WMI Reference
Work-item object WDFWORKITEM Represents a work item. None Yes KM/UM WDF Work-Item Object Reference