Framework Objects
Warning
UMDF 2 is the latest version of UMDF and supersedes UMDF 1. All new UMDF drivers should be written using UMDF 2. No new features are being added to UMDF 1 and there is limited support for UMDF 1 on newer versions of Windows 10. Universal Windows drivers must use UMDF 2.
The archived UMDF 1 samples can be found in the Windows 11, version 22H2 - May 2022 Driver Samples Update.
For more info, see Getting Started with UMDF.
The following table provides basic information about each framework object, links to the object's interface, and links to more information about the core framework objects.
Objectname | ObjectInterface | Purpose | Defaultparent | Can driver overridedefaultparent? | Can driver own? |
---|---|---|---|---|---|
Represents a driver |
None |
No |
No |
||
Represents a device |
Driver object |
No |
No |
||
Represents a file |
Device object |
No |
No, if created by framework; Yes, if created by driver | ||
IWDFInterrupt | Represents an interrupt |
Device object |
No |
Yes |
|
Represents an I/O queue that receives I/O requests |
Device object |
No |
Yes |
||
Represents an I/O request |
Device object |
No, if created by framework; Yes, if created by driver | No, if created by framework (for example, redirected requests); Yes, if created by driver | ||
Represents a driver that another driver sends requests to |
Device object |
No |
No, for the default target; Yes, for all other targets | ||
USB device object |
Represents a device that is connected to USB |
Device object |
No |
Yes (see target object) |
|
USB pipe object |
Represents a USB device pipe |
Device object |
No |
Yes (see target object) |
|
USB interface object |
Represents a USB device interface |
Device object |
No |
Yes (see target object) |
|
Represents a general base object |
Driver object |
Yes |
Yes, if created by driver |
||
Represents a memory object |
Driver object |
Yes |
No, if created by framework; Yes, if created by driver |