Share via


Dateierstellung durch ein USB-E/A-Ziel

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.

Während der Initialisierung erstellt das USB-E/A-Ziel ein stapelinternes Dateiobjekt, das eine Standardsitzung darstellt, die vom USB-E/A-Ziel geöffnet bleibt. Weitere Informationen zu einem stapelinternen Dateiobjekt finden Sie unter Erstellen eines Dateiobjekts zum Verarbeiten von E/A. Das USB-E/A-Ziel oder die untergeordneten Elemente des USB-Pipeziels verwenden dieses Dateiobjekt, um alle E/A-Vorgänge zu senden, die von ihnen stammen (z. B. E/A zum Abrufen des USB-Konfigurationsdeskriptors).

Der Treiber kann dieses stapelinterne Dateiobjekt in Formatfunktionen verwenden (z. B. kann der Treiber in einem Aufruf der IWDFIoTarget::FormatRequestForRead-Methode einen Zeiger auf dieses Dateiobjekt an den pFile-Parameter übergeben), wenn der Treiber E/A in der Standardsitzung dieses Dateiobjekts senden muss. Zum Abrufen des stapelinternen Dateiobjekts kann der Treiber die IWDFIoTarget::GetTargetFile-Methode aufrufen.

Dieses stapelinterne Dateiobjekt wird geschlossen, wenn das E/A-Ziel entweder explizit verworfen wird, wenn der Treiber die IWDFObject::D eleteWdfObject-Methode für das E/A-Ziel aufruft, oder implizit, wenn das übergeordnete E/A-Ziel verworfen wird.

Wenn E/A-Vorgänge für dieses stapelinterne Dateiobjekt zum Zeitpunkt der Geräteentfernung ausstehen, kann dieses Dateiobjekt nicht geschlossen werden, und UMDF generiert einen Treiberstopp. Weitere Informationen finden Sie unter Erstellen und Verwenden von Driver-Created Dateiobjekten.