Windows Driver Kit: Kernel-Mode Driver Framework
WdfDeviceWdmGetAttachedDevice

The WdfDeviceWdmGetAttachedDevice method returns the next-lower WDM device object in the device stack.

PDEVICE_OBJECT
  WdfDeviceWdmGetAttachedDevice(
    IN WDFDEVICE  Device
    );

Parameters

Device
A handle to a framework device object.

Return Value

WdfDeviceWdmGetAttachedDevice returns a pointer to a WDM DEVICE_OBJECT structure. If the specified object handle represents a physical device object (PDO), the method returns NULL.

A bug check occurs if the driver supplies an invalid object handle.

Comments

The pointer that the WdfDeviceWdmGetAttachedDevice method returns is valid until the framework device object is deleted. If the driver provides an EvtCleanupCallback function for the framework device object, the pointer is valid until the callback function returns.

Example

The following code example creates a tracing message that contains pointers to the WDM device objects that represent a device's PDO, FDO, and next-lower device.

TraceEvents(
            TRACE_LEVEL_INFORMATION,
            DBG_PNP,
            "PDO(0x%p) FDO(0x%p), Lower(0x%p)\n",
            WdfDeviceWdmGetPhysicalDevice (device),
            WdfDeviceWdmGetDeviceObject (device),
            WdfDeviceWdmGetAttachedDevice(device)
            );

Requirements

Versions: The WdfDeviceWdmGetAttachedDevice method is available in version 1.0 and later versions of KMDF.

IRQL: <= DISPATCH_LEVEL

Headers: Declared in wdfdevice.h. Include wdf.h.

See Also

WdfDeviceWdmGetPhysicalDevice, WdfDeviceWdmGetDeviceObject


Send feedback on this topic
Built on October 01, 2009
Page view tracker