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 |
---|---|
|
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) |