WdfIoTargetWdmGetTargetFileObject function (wdfiotarget.h)

[Applies to KMDF only]

The WdfIoTargetWdmGetTargetFileObject method returns a pointer to the Windows Driver Model (WDM) file object that is associated with a specified remote I/O target.

Syntax

PFILE_OBJECT WdfIoTargetWdmGetTargetFileObject(
  [in] WDFIOTARGET IoTarget
);

Parameters

[in] IoTarget

A handle to a remote I/O target object. This handle was obtained from a previous call to WdfIoTargetCreate.

Return value

WdfIoTargetWdmGetTargetFileObject returns a pointer to a WDM FILE_OBJECT structure.

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

Remarks

The pointer that the WdfIoTargetWdmGetTargetFileObject method returns is valid until the driver calls WdfIoTargetClose or WdfIoTargetCloseForQueryRemove, or until the remote I/O target object is deleted. If the driver provides an EvtCleanupCallback function for the remote I/O target object, and if the object is deleted before the remote I/O target is closed, the pointer is valid until the EvtCleanupCallback function returns.

If the driver attempts to access the WDM device object after it has been removed, the driver can cause the system to crash. The toastmon sample demonstrates how the driver can provide an EvtIoTargetQueryRemove callback function so that it is notified if the I/O target is removed.

For more information about WdfIoTargetWdmGetTargetFileObject, see Obtaining Information About a General I/O Target.

For more information about I/O targets, see Using I/O Targets.

Examples

The following code example obtains a pointer to the WDM file object that is associated with a remote I/O target.

PFILE_OBJECT pfileObject;

pfileObject = WdfIoTargetWdmGetTargetFileObject(IoTarget);

Requirements

Requirement Value
Target Platform Universal
Minimum KMDF version 1.0
Header wdfiotarget.h (include Wdf.h)
Library Wdf01000.sys (see Framework Library Versioning.)
IRQL <=DISPATCH_LEVEL
DDI compliance rules DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

See also

FILE_OBJECT

WdfIoTargetCreate

WdfIoTargetWdmGetTargetDeviceObject

WdfIoTargetWdmGetTargetFileHandle