IRequestCallbackCancel::OnCancel-Methode (wudfddi.h)
[Warnung: UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. UMDF 1 werden keine neuen Features hinzugefügt, und die Unterstützung für UMDF 1 für neuere Versionen von Windows 10 ist eingeschränkt. Universelle Windows-Treiber müssen UMDF 2 verwenden. Weitere Informationen finden Sie unter Erste Schritte mit UMDF.]
Die OnCancel-Methode wird aufgerufen, wenn eine Anwendung einen E/A-Vorgang über die Funktion "CancelIo", "CancelIoEx" oder "CancelSynchronousIo" von Microsoft Win32 abbricht.
Syntax
void OnCancel(
[in] IWDFIoRequest *pWdfRequest
);
Parameter
[in] pWdfRequest
Ein Zeiger auf die IWDFIoRequest-Schnittstelle , die das abzubrechende Frameworkanforderungsobjekt darstellt.
Rückgabewert
Keine
Bemerkungen
Das Framework ruft die OnCancel-Methode auf, um die E/A-Anforderung abzubrechen, die vom pWdfRequest-Parameter identifiziert wird. Der Treiber sollte zunächst ermitteln, ob er die E/A-Anforderung abbrechen kann. Wenn die Anforderung abgebrochen werden kann, sollte sie vom Treiber abgebrochen werden. Weitere Informationen zum Abbrechen einer Anforderung finden Sie unter Abbrechen von E/A-Anforderungen.
Wenn der Treiber die Anforderung abbricht, muss der Treiber die Anforderung auch abschließen, indem er die IWDFIoRequest::Complete-Methode aufruft, wobei der CompletionStatus-Parameter auf HRESULT_FROM_WIN32(ERROR_OPERATION_ABORTED) festgelegt ist.
Das Framework ruft OnCancel nicht auf, um eine Anforderung abzubrechen, es sei denn, der Treiber hat zuvor die IWDFIoRequest::MarkCancelable-Methode aufgerufen, um den Abbruch der Anforderung zu aktivieren und die IRequestCallbackCancel-Schnittstelle zu registrieren.
Das User-Mode Driver Framework (UMDF) lässt nur eine OnCancel-Methode pro Warteschlange zu. Wenn ein Treiber daher IWDFIoRequest::MarkCancelable für Anforderungen aufruft, die einer bestimmten Warteschlange zugeordnet sind, damit das Framework diese Anforderungen abbrechen kann, muss der Treiber einen Zeiger an die IRequestCallbackCancel-Schnittstelle für dasselbe Request-Rückrufobjekt übergeben. Um später jede Anforderung abzubrechen, übergibt das Framework einen Zeiger an die IWDFIoRequest-Schnittstelle für die Anforderung in einem Aufruf der OnCancel-Methode dieses Anforderungs-Rückrufobjekts.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | wudfddi.h (include Wudfddi.h) |