Função WdfIoTargetStart (wdfiotarget.h)
[Aplica-se a KMDF e UMDF]
O método WdfIoTargetStart começa a enviar solicitações enfileiradas para um destino de E/S local ou remoto.
Sintaxe
NTSTATUS WdfIoTargetStart(
[in] WDFIOTARGET IoTarget
);
Parâmetros
[in] IoTarget
Um identificador para um objeto de destino de E/S local ou remoto que foi obtido de uma chamada anterior para WdfDeviceGetIoTarget ou WdfIoTargetCreate, ou de um método que um destino de E/S especializado fornece.
Retornar valor
WdfIoTargetStart retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, esse método poderá retornar um dos seguintes valores:
Código de retorno | Descrição |
---|---|
|
O dispositivo foi removido. |
Esse método também pode retornar outros valores NTSTATUS.
Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.
Comentários
Se o driver puder detectar erros de dispositivo recuperáveis, talvez você queira que seu driver chame WdfIoTargetStop para interromper temporariamente o envio de solicitações e, em seguida, chame WdfIoTargetStart para retomar o envio de solicitações.
Além disso, se um driver chamar WdfUsbTargetPipeConfigContinuousReader para configurar um leitor contínuo para um pipe USB, a função de retorno de chamada EvtDeviceD0Entry do driver deverá chamar WdfIoTargetStart para iniciar o leitor.
Seu driver deve chamar WdfIoTargetStart e WdfIoTargetStop de forma síncrona. Depois que o driver chama uma dessas funções, ele não deve chamar a outra função antes que a primeira retorne.
Para obter mais informações sobre o WdfIoTargetStart, consulte Controlando o estado de um destino de E/S geral.
Para obter mais informações sobre destinos de E/S, consulte Usando destinos de E/S.
Exemplos
O exemplo de código a seguir mostra como uma função de retorno de chamada EvtDeviceD0Entry pode chamar WdfIoTargetStart, se o driver usar um leitor contínuo para um pipe 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 | Valor |
---|---|
Plataforma de Destino | Universal |
Versão mínima do KMDF | 1.0 |
Versão mínima do UMDF | 2,0 |
Cabeçalho | wdfiotarget.h (inclua Wdf.h) |
Biblioteca | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
Regras de conformidade de DDI | DriverCreate(kmdf), FailD0EntryIoTargetState(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |