EVT_UDECX_USB_DEVICE_ENDPOINTS_CONFIGURE Rückruffunktion (udecxusbdevice.h)
Die ERWEITERUNG der USB-Geräteemulationsklasse (UdeCx) ruft diese Rückruffunktion auf, um die Konfiguration zu ändern, indem sie eine alternative Einstellung auswählen, aktuelle Endpunkte deaktivieren oder dynamische Endpunkte hinzufügen.
Syntax
EVT_UDECX_USB_DEVICE_ENDPOINTS_CONFIGURE EvtUdecxUsbDeviceEndpointsConfigure;
void EvtUdecxUsbDeviceEndpointsConfigure(
[in] UDECXUSBDEVICE UdecxUsbDevice,
[in] WDFREQUEST Request,
[in] PUDECX_ENDPOINTS_CONFIGURE_PARAMS Params
)
{...}
Parameter
[in] UdecxUsbDevice
Ein Handle für UDE-Geräteobjekt. Der Clienttreiber hat dieses Objekt in einem vorherigen Aufruf von UdecxUsbDeviceCreateerstellt.
[in] Request
Ein Handle zu einem Framework-Anforderungsobjekt, das die Anforderung darstellt.
[in] Params
Ein Zeiger auf eine UDECX_ENDPOINTS_CONFIGURE_PARAMS Struktur, die die Konfigurationsoptionen beschreibt.
Rückgabewert
Nichts
Bemerkungen
Der Clienttreiber hat diese Rückruffunktion in einem vorherigen Aufruf von UdecxUsbDeviceInitSetStateChangeCallbacks registriert, indem ein Funktionszeiger auf seine Implementierung bereitgestellt wird.
Die Klassenerweiterung ruft diese Rückruffunktion auf, um den Clienttreiber anzufordern, einen oder mehrere neue Endpunkte in der Hardware zu konfigurieren, und/oder informiert den Treiber, wenn mindestens ein vorhandener Endpunkt nicht mehr verwendet wird.
Nach dem Erstellen von Endpunkten muss der Clienttreiber für jeden neuen Endpunkt UdecxUsbEndpointSetWdfIoQueue aufrufen, bevor die Anforderung abgeschlossen wird.
Nach dem Freigeben von Endpunkten sollte der Clienttreiber keine Framework-Warteschlangenobjekte verwenden, die den Endpunkten zugeordnet sind. Die Klassenerweiterung betrachtet diese Warteschlangen als gelöscht, um zukünftige Anforderungen zu verhindern.
Die Klassenerweiterung kann auch einen neuen Konfigurationswert oder eine alternative Einstellung über diesen Rückruf anfordern.
Dieser Aufruf ist asynchron. Der Clienttreiber muss den Abschluss mit dem Status signalisieren, indem die von der Klassenerweiterung übergebene Anforderung abgeschlossen wird.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 10 |
mindestens unterstützte Server- | Windows Server 2016 |
Zielplattform- | Fenster |
Minimale KMDF-Version | 1.15 |
Header- | udecxusbdevice.h (include Udecx.h) |
IRQL- | <=DISPATCH_LEVEL |