Export (0) Print
Expand All
Expand Minimize

WdfIoTargetCreate method

[Applies to KMDF and UMDF]

The WdfIoTargetCreate method creates a remote I/O target for a specified device.

Syntax


NTSTATUS WdfIoTargetCreate(
  [in]            WDFDEVICE Device,
  [in, optional]  PWDF_OBJECT_ATTRIBUTES IoTargetAttributes,
  [out]           WDFIOTARGET *IoTarget
);

Parameters

Device [in]

A handle to a framework device object.

IoTargetAttributes [in, optional]

A pointer to a caller-allocated WDF_OBJECT_ATTRIBUTES structure that specifies object attributes for the I/O target object. This parameter is optional and can be WDF_NO_OBJECT_ATTRIBUTES.

IoTarget [out]

A pointer to a location that receives a handle to an I/O target object.

Return value

WdfIoTargetCreate returns STATUS_SUCCESS if the operation succeeds. Otherwise, this method might return one of the following values:

Return codeDescription
STATUS_INVALID_PARAMETER

An invalid parameter was detected.

STATUS_INSUFFICIENT_RESOURCES

There was insufficient memory to create a new I/O target object.

STATUS_INVALID_DEVICE_REQUEST

The ParentObject member of the WDF_OBJECT_ATTRIBUTES structure that IoTargetAttributes specified did not specify the framework device object that Device specified, or an object whose chain of parents leads to that object.

 

For a list of other return values that WdfIoTargetCreate can return, see Framework Object Creation Errors.

This method also might return other NTSTATUS values.

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

Remarks

After a driver calls WdfIoTargetCreate, the driver must call WdfIoTargetOpen before it can send requests to the remote I/O target.

If the driver specifies a parent object in the WDF_OBJECT_ATTRIBUTES structure's ParentObject member, the parent object can be a framework device object or any object whose chain of parents leads to a framework device object. The framework will delete the I/O target object when it (or the driver) deletes the device object.

For more information about WdfIoTargetCreate, see Initializing a General I/O Target.

If your driver provides EvtCleanupCallback or EvtDestroyCallback callback functions for the I/O target object, note that the framework calls these callback functions at IRQL = PASSIVE_LEVEL.

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

Examples

For a code example that uses WdfIoTargetCreate, see WdfIoTargetOpen.

Requirements

Minimum KMDF version

1.0

Minimum UMDF version

2.0

Header

Wdfiotarget.h (include Wdf.h)

Library

Wdf01000.sys (KMDF);
WUDFx02000.dll (UMDF)

IRQL

PASSIVE_LEVEL

DDI compliance rules

DriverCreate, KmdfIrql, KmdfIrql2

See also

WDF_OBJECT_ATTRIBUTES
WdfIoTargetOpen

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft