Wiederverwenden von Framework-Anforderungsobjekten in UMDF
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 in neueren Versionen von Windows 10 ist eingeschränkt. Universelle Windows-Treiber müssen UMDF 2 verwenden.
Die archivierten UMDF 1-Beispiele finden Sie im Treiberbeispielupdate Windows 11, Version 22H2 – Mai 2022.
Weitere Informationen finden Sie unter Erste Schritte mit UMDF.
Um die Treiberleistung zu verbessern, können frameworkbasierte Treiber, die viele nahezu identische asynchrone Anforderungen erstellen und an ein E/A-Ziel senden, Anforderungsobjekte wiederverwenden, anstatt für jede Anforderung ein neues Anforderungsobjekt zu erstellen. Ein Treiber kann ein Anforderungsobjekt wiederverwenden, nachdem die Anforderung abgeschlossen wurde.
Wenn ein Treiber durch Aufrufen von IWDFDevice::CreateRequest ein Anforderungsobjekt erstellt hat, kann er die Anforderung wiederverwenden, indem er IWDFIoRequest2::Reuse aufruft. Ein Treiber kann auch Anforderungsobjekte wiederverwenden, die er vom Framework in seinen E/A-Warteschlangen empfangen hat.
Wenn Ihr Treiber eine IRequestCallbackRequestCompletion::OnCompletion-Rückruffunktion für ein Anforderungsobjekt bereitstellt, das wiederverwendet wird, muss der Treiber IWDFIoRequest::SetCompletionCallback aufrufen, nachdem er Reuse aufgerufen hat.