IUsbTargetPipeContinuousReaderCallbackReadersFailed::OnReaderFailure-Methode (wudfusb.h)
[Warnung: UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. Es werden keine neuen Features zu UMDF 1 hinzugefügt, und es gibt eingeschränkte Unterstützung für UMDF 1 für neuere Versionen von Windows 10. Universelle Windows-Treiber müssen UMDF 2 verwenden. Weitere Informationen finden Sie unter Erste Schritte mit UMDF-.]
Die OnReaderFailure Ereignisrückruffunktion eines Treibers informiert den Treiber darüber, dass ein fortlaufender Reader beim Verarbeiten einer Leseanforderung einen Fehler gemeldet hat.
Syntax
BOOL OnReaderFailure(
[in] IWDFUsbTargetPipe *pPipe,
[in] HRESULT hrStatus
);
Parameter
[in] pPipe
Ein Zeiger auf die IWDFUsbTargetPipe Schnittstelle für das USB-Pipe, auf dem der Treiber einen kontinuierlichen Reader aktiviert hat.
[in] hrStatus
Der HRESULT-typierte Statuswert, den das E/A-Ziel der USB-Pipe zurückgegeben hat.
Rückgabewert
Die OnReaderFailure- Ereignisrückruffunktion muss einen booleschen Wert zurückgeben. Wenn der Rückgabewert TRUEist, setzt das Framework die USB-Pipe zurück und startet dann den fortlaufenden Reader neu. Wenn die Rückruffunktion FALSE-zurückgibt, setzt das Framework das Gerät nicht zurück oder startet den fortlaufenden Reader neu.
Bemerkungen
Um eine OnReaderFailure- Rückruffunktion zu registrieren, muss Ihr Treiber einen Zeiger auf die IUsbTargetPipeContinuousReaderCallbackReadersFailed Schnittstelle bereitstellen, wenn IWDFUsbTargetPipe2::ConfigureContinuousReaderaufgerufen wird.
Wenn ein Treiber einen fortlaufenden Reader für ein USB-Pipe erstellt hat, ruft das Framework die OnReaderFailure-funktion des Treibers Rückruffunktion auf, wenn der E/A-Zielwert des Treibers einen Fehler meldet, wenn er eine Leseanforderung abgeschlossen hat. (Wenn das E/A-Ziel die Anforderung erfolgreich abgeschlossen hat, ruft das Framework die IUsbTargetPipeContinuousReaderCallbackReadComplete::OnReaderCompletion Rückruffunktion auf.)
Bevor das Framework die OnReaderFailure- Rückruffunktion eines Treibers aufruft, versucht es, alle laufenden Leseanforderungen abzubrechen. Es werden keine Leseanforderungen ausgeführt, wenn das Framework die OnReaderFailure Rückruffunktion aufruft. Das Framework stellt keine zusätzlichen Leseanforderungen in die Warteschlange, bis die OnReaderFailure Rückruffunktion zurückgegeben wird.
Informationen dazu, wie das Framework Aufrufe der OnReaderFailure Rückruffunktion mit Aufrufen anderer Rückruffunktionen synchronisiert, finden Sie im Abschnitt "Hinweise" IUsbTargetPipeContinuousReaderCallbackReadComplete::OnReaderCompletion.
Die OnReaderFailure- Rückruffunktion darf nicht IWDFIoTargetStateManagement::Stop aufrufen, um das USB-Ziel des kontinuierlichen Readers zu beenden. (Tatsächlich bewirkt das Aufrufen IWDFIoTargetStateManagement::Stop in einem OnReaderFailure- Rückruffunktion ein Deadlock.) Darüber hinaus darf die Rückruffunktion nicht IWDFIoTargetStateManagement::Start aufrufen, um den fortlaufenden Reader neu zu starten. Stattdessen startet das Framework den Reader neu, wenn die Rückruffunktion TRUEzurückgibt. Weitere Informationen zum Aufrufen IWDFIoTargetStateManagement::Start und IWDFIoTargetStateManagement::Stop für einen kontinuierlichen Reader finden Sie unter Arbeiten mit USB-Rohren in UMDF-.
Wenn ein Treiber keine OnReaderFailure- Rückruffunktion bereitstellt und das E/A-Ziel des Treibers einen Fehler meldet, setzt das Framework die USB-Pipe zurück und startet den fortlaufenden Reader neu.
Weitere Informationen zur OnReaderFailure Rückruffunktion und USB-E/A-Zielen finden Sie unter Handling a USB I/O Target.
Anforderungen
Anforderung | Wert |
---|---|
Ende des Supports | In UMDF 2.0 und höher nicht verfügbar. |
Zielplattform- | Desktop |
Mindest-UMDF-Version | 1.9 |
Header- | wudfusb.h (include Wudfusb.h) |
Siehe auch
IUsbTargetPipeContinuousReaderCallbackReadComplete::OnReaderCompletion