Funzione WdfIoTargetStart (wdfiotarget.h)
[Si applica a KMDF e UMDF]
Il metodo WdfIoTargetStart inizia a inviare richieste in coda a una destinazione di I/O locale o remota.
Sintassi
NTSTATUS WdfIoTargetStart(
[in] WDFIOTARGET IoTarget
);
Parametri
[in] IoTarget
Handle per un oggetto di destinazione I/O locale o remoto ottenuto da una chiamata precedente a WdfDeviceGetIoTarget o WdfIoTargetCreateo da un metodo fornito da una destinazione di I/O specializzata.
Valore restituito
WdfIoTargetStart restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questo metodo potrebbe restituire uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
|
Il dispositivo è stato rimosso. |
Questo metodo potrebbe anche restituire altri valori NTSTATUS .
Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.
Osservazioni:
Se il driver può rilevare errori di dispositivo ripristinabili, è possibile che il driver chiami WdfIoTargetStop per interrompere temporaneamente l'invio delle richieste, quindi chiamare successivamente WdfIoTargetStart per riprendere l'invio delle richieste.
Inoltre, se un driver chiama WdfUsbTargetPipeConfigContinuousReader per configurare un lettore continuo per una pipe USB, il driver EvtDeviceD0Entry funzione di callback deve chiamare WdfIoTargetStart per avviare il lettore.
Il driver deve chiamare WdfIoTargetStart e WdfIoTargetStop in modo sincrono. Dopo che il driver chiama una di queste funzioni, non deve chiamare l'altra funzione prima che venga restituita la prima.
Per altre informazioni su WdfIoTargetStart, vedere Controllo dello stato di una destinazione I/O generale.
Per altre informazioni sulle destinazioni di I/O, vedere Uso delle destinazioni di I/O.
Esempi
L'esempio di codice seguente mostra come una funzione di callback EvtDeviceD0Entry può chiamare WdfIoTargetStart, se il driver usa un lettore continuo per una 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;
}
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
versione minima di KMDF | 1.0 |
versione minima di UMDF | 2.0 |
intestazione | wdfiotarget.h (include Wdf.h) |
Biblioteca | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
regole di conformità DDI | DriverCreate(kmdf), FailD0EntryIoTargetState(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |