Compartir a través de


Función WdfIoTargetCreate (wdfiotarget.h)

[Se aplica a KMDF y UMDF]

El método WdfIoTargetCreate crea un destino de E/S remoto para un dispositivo especificado.

Sintaxis

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

Parámetros

[in] Device

Identificador de un objeto de dispositivo de marco.

[in, optional] IoTargetAttributes

Puntero a una estructura de WDF_OBJECT_ATTRIBUTES asignada por el autor de la llamada que especifica los atributos de objeto para el objeto de destino de E/S. Este parámetro es opcional y puede ser WDF_NO_OBJECT_ATTRIBUTES.

[out] IoTarget

Puntero a una ubicación que recibe un identificador de un objeto de destino de E/S.

Valor devuelto

WdfIoTargetCreate devuelve STATUS_SUCCESS si la operación se realiza correctamente. De lo contrario, este método podría devolver uno de los siguientes valores:

Código devuelto Descripción
STATUS_INVALID_PARAMETER
Se ha detectado un parámetro no válido.
STATUS_INSUFFICIENT_RESOURCES
No había memoria suficiente para crear un nuevo objeto de destino de E/S.
STATUS_INVALID_DEVICE_REQUEST
El miembro ParentObject de la estructura WDF_OBJECT_ATTRIBUTES que IoTargetAttributes especificó no especificó el objeto de dispositivo de marco especificado por Device o un objeto cuya cadena de elementos primarios conduce a ese objeto.
 

Para obtener una lista de otros valores devueltos que WdfIoTargetCreate puede devolver, vea Errores de creación de objetos de marco.

Este método también podría devolver otros valores NTSTATUS.

Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.

Comentarios

Después de que un controlador llame a WdfIoTargetCreate, el controlador debe llamar a WdfIoTargetOpen para poder enviar solicitudes al destino de E/S remoto.

Si el controlador especifica un objeto primario en el miembro ParentObject de la estructura WDF_OBJECT_ATTRIBUTES, el objeto primario puede ser un objeto de dispositivo de marco o cualquier objeto cuya cadena de elementos primarios conduce a un objeto de dispositivo de marco. El marco eliminará el objeto de destino de E/S cuando (o el controlador) elimine el objeto de dispositivo.

Para obtener más información sobre WdfIoTargetCreate, consulte Inicialización de un destino de E/S general.

Si el controlador proporciona funciones de devolución de llamada EvtCleanupCallback o EvtDestroyCallback para el objeto de destino de E/S, tenga en cuenta que el marco llama a estas funciones de devolución de llamada en IRQL = PASSIVE_LEVEL.

Para obtener más información sobre los destinos de E/S, consulte Uso de destinos de E/S.

Ejemplos

Para obtener un ejemplo de código que usa WdfIoTargetCreate, vea WdfIoTargetOpen.

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Versión mínima de UMDF 2.0
Encabezado wdfiotarget.h (incluya Wdf.h)
Library Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Consulte también

WDF_OBJECT_ATTRIBUTES

WdfIoTargetOpen