Compartir a través de


Función WdfIoTargetStart (wdfiotarget.h)

[Se aplica a KMDF y UMDF]

El método WdfIoTargetStart comienza a enviar solicitudes en cola a un destino de E/S local o remoto.

Sintaxis

NTSTATUS WdfIoTargetStart(
  [in] WDFIOTARGET IoTarget
);

Parámetros

[in] IoTarget

Identificador de un objeto de destino de E/S local o remoto obtenido de una llamada anterior a WdfDeviceGetIoTarget o WdfIoTargetCreate, o a partir de un método que proporciona un destino de E/S especializado.

Valor devuelto

WdfIoTargetStart 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_DEVICE_STATE
Se ha quitado el dispositivo.
 

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

Si el controlador puede detectar errores de dispositivo recuperables, es posible que quiera que el controlador llame a WdfIoTargetStop para detener temporalmente el envío de solicitudes y, después, llame a WdfIoTargetStart para reanudar el envío de solicitudes.

Además, si un controlador llama a WdfUsbTargetPipeConfigContinuousReader para configurar un lector continuo para una canalización USB, la función de devolución de llamada EvtDeviceD0Entry del controlador debe llamar a WdfIoTargetStart para iniciar el lector.

El controlador debe llamar a WdfIoTargetStart y WdfIoTargetStop de forma sincrónica. Después de que el controlador llame a una de estas funciones, no debe llamar a la otra función antes de que se devuelva la primera.

Para obtener más información sobre WdfIoTargetStart, vea Controlar el estado de un destino de E/S general.

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

Ejemplos

En el ejemplo de código siguiente se muestra cómo una función de devolución de llamada EvtDeviceD0Entry puede llamar a WdfIoTargetStart, si el controlador usa un lector continuo para una canalización USB.

NTSTATUS
MyEvtDeviceD0Entry(
    IN  WDFDEVICE Device,
    IN  WDF_POWER_DEVICE_STATE PreviousState
)
{
    PDEVICE_CONTEXT  pDeviceContext;
    NTSTATUS  status;

    pDeviceContext = GetMyDeviceContext(Device);

    status = WdfIoTargetStart(WdfUsbTargetPipeGetIoTarget(pDeviceContext->InterruptPipe));

    return status;
}

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 <=DISPATCH_LEVEL
Reglas de cumplimiento de DDI DriverCreate(kmdf), FailD0EntryIoTargetState(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Consulte también

EvtDeviceD0Entry

WdfDeviceGetIoTarget

WdfIoTargetCreate

WdfIoTargetStop

WdfUsbTargetPipeConfigContinuousReader