Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
[Aplica-se a KMDF e UMDF]
O método WdfIoTargetStart começa a enviar solicitações na fila 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 obtido de uma chamada anterior para WdfDeviceGetIoTarget ou WdfIoTargetCreate ou de um método fornecido por um destino de E/S especializado.
Valor de retorno
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 .
Uma verificação de bug ocorre se o driver fornece um identificador de objeto inválido.
Observações
Se o driver puder detectar erros de dispositivo recuperáveis, convém que o driver chame WdfIoTargetStop para interromper temporariamente o envio de solicitações e, em seguida, chamar 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 deve chamar WdfIoTargetStart para iniciar o leitor.
O 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 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 |
|---|---|
| da 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) |