Condividi tramite


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

Vedere anche

EvtDeviceD0Entry

WdfDeviceGetIoTarget

WdfIoTargetCreare

WdfIoTargetStop

WdfUsbTargetPipeConfigContinuousReader