Compartir a través de


Función WdfIoTargetCreate (wdfiotarget.h)

[Se aplica a KMDF y UMDF]

El método WdfIoTargetCreate crea un de destino de E/S remota 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 se puede 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 de retorno Descripción
STATUS_INVALID_PARAMETER
Se detectó 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 ParentObject miembro de la estructura WDF_OBJECT_ATTRIBUTES que IoTargetAttributes especificado no especificó el objeto de dispositivo de marco que Device especificado, 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 de .

Este método también puede devolver otros valores de NTSTATUS.

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

Observaciones

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

Si el controlador especifica un objeto primario en el miembro parent Object 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, vea Inicializar un destino de E/S general.

Si el controlador proporciona EvtCleanupCallback o EvtDestroyCallback funciones de devolución de llamada 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 Valor
de la plataforma de destino de Universal
versión mínima de KMDF 1.0
versión mínima de UMDF 2.0
encabezado wdfiotarget.h (incluya Wdf.h)
Biblioteca 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