Condividi tramite


Metodo IUsbTargetPipeContinuousReaderCallbackReadersFailed::OnReaderFailure (wudfusb.h)

[Avviso: UMDF 2 è la versione più recente di UMDF e sostituisce UMDF 1. Tutti i nuovi driver UMDF devono essere scritti usando UMDF 2. Non vengono aggiunte nuove funzionalità a UMDF 1 ed è disponibile un supporto limitato per UMDF 1 nelle versioni più recenti di Windows 10. I driver di Windows universali devono usare UMDF 2. Per altre informazioni, vedi Introduzione a UMDF.]

Il driver OnReaderFailure funzione di callback degli eventi informa il driver che un lettore continuo ha segnalato un errore durante l'elaborazione di una richiesta di lettura.

Sintassi

BOOL OnReaderFailure(
  [in] IWDFUsbTargetPipe *pPipe,
  [in] HRESULT           hrStatus
);

Parametri

[in] pPipe

Puntatore all'interfaccia di IWDFUsbTargetPipe per la pipe USB su cui il driver ha abilitato un lettore continuo.

[in] hrStatus

Valore di stato tipizzato HRESULT restituito dalla destinazione di I/O della pipe USB.

Valore restituito

La funzione di callback dell'evento OnReaderFailure deve restituire un valore booleano. Se il valore restituito è TRUE, il framework reimposta la pipe USB e quindi riavvia il lettore continuo. Se la funzione di callback restituisce FALSE, il framework non reimposta il dispositivo o riavvia il lettore continuo.

Osservazioni

Per registrare un OnReaderFailure funzione di callback, il driver deve fornire un puntatore all'interfaccia IUsbTargetPipeContinuousReaderCallbackReadersFailed quando chiama IWDFUsbTargetPipe2::ConfigureContinuousReader.

Se un driver ha creato un lettore continuo per una pipe USB, il framework chiama il driver OnReaderFailure funzione di callback se la destinazione di I/O del driver segnala un errore quando completa una richiesta di lettura. Se la destinazione di I/O completa correttamente la richiesta, il framework chiama la funzione di callback del driver IUsbTargetPipeContinuousReaderCallbackReadComplete::OnReaderCompletion funzione di callback.

Prima che il framework chiami il onReaderFailure di un driver funzione di callback, tenta di annullare tutte le richieste di lettura in corso. Non sono in corso richieste di lettura quando il framework chiama la OnReaderFailure funzione di callback. Il framework non accoda altre richieste di lettura fino a quando non viene restituita la funzione di callback OnReaderFailure.

Per informazioni su come il framework sincronizza le chiamate alla OnReaderFailure funzione di callback con chiamate ad altre funzioni di callback, vedere la sezione Osservazioni di IUsbTargetPipeContinuousReaderCallbackReadComplete::OnReaderCompletion.

Il OnReaderFailure funzione di callback non deve chiamare IWDFIoTargetStateManagement::Stop per arrestare la destinazione USB del lettore continuo. La chiamata di IWDFIoTargetStateManagement::Stop in un OnReaderFailure funzione di callback causa un deadlock. Inoltre, la funzione di callback non deve chiamare IWDFIoTargetStateManagement::Start per riavviare il lettore continuo. Il framework riavvia invece il lettore se la funzione di callback restituisce TRUE. Per altre informazioni su quando chiamare IWDFIoTargetStateManagement::Start e IWDFIoTargetStateManagement::Stop per un lettore continuo, vedere Uso di pipe USB in UMDF.

Se un driver non fornisce un OnReaderFailure funzione di callback e la destinazione di I/O del driver segnala un errore, il framework reimposta la pipe USB e riavvia il lettore continuo.

Per altre informazioni sulla OnReaderFailure funzione di callback e sulle destinazioni di I/O USB, vedere Gestione di una destinazione di I/O USB.

Fabbisogno

Requisito Valore
Fine del supporto Non disponibile in UMDF 2.0 e versioni successive.
piattaforma di destinazione Desktop
versione minima di UMDF 1.9
intestazione wudfusb.h (include Wudfusb.h)

Vedere anche

IUsbTargetPipeContinuousReaderCallbackReadComplete::OnReaderCompletion

IUsbTargetPipeContinuousReaderCallbackReadersFailed