EVT_UDECX_USB_DEVICE_ENDPOINTS_CONFIGURE fonction de rappel (udecxusbdevice.h)
L’extension de classe d’émulation de périphérique USB (UdeCx) appelle cette fonction de rappel pour modifier la configuration en sélectionnant un autre paramètre, en désactivant les points de terminaison actuels ou en ajoutant des points de terminaison dynamiques.
Syntaxe
EVT_UDECX_USB_DEVICE_ENDPOINTS_CONFIGURE EvtUdecxUsbDeviceEndpointsConfigure;
void EvtUdecxUsbDeviceEndpointsConfigure(
[in] UDECXUSBDEVICE UdecxUsbDevice,
[in] WDFREQUEST Request,
[in] PUDECX_ENDPOINTS_CONFIGURE_PARAMS Params
)
{...}
Paramètres
[in] UdecxUsbDevice
Handle de l’objet d’appareil UDE. Le pilote client a créé cet objet dans un appel précédent à UdecxUsbDeviceCreate.
[in] Request
Handle d’un objet de demande d’infrastructure qui représente la demande.
[in] Params
Pointeur vers une structure UDECX_ENDPOINTS_CONFIGURE_PARAMS qui décrit les options de configuration.
Valeur de retour
None
Remarques
Le pilote client a inscrit cette fonction de rappel dans un appel précédent à UdecxUsbDeviceInitSetStateChangeCallbacks en fournissant un pointeur de fonction vers son implémentation.
L’extension de classe appelle cette fonction de rappel pour demander au pilote client de configurer un ou plusieurs nouveaux points de terminaison en matériel, et/ou informe le pilote quand un ou plusieurs points de terminaison existants ne sont plus utilisés.
Après avoir créé des points de terminaison, pour chaque nouveau point de terminaison, le pilote client doit appeler UdecxUsbEndpointSetWdfIoQueue avant de terminer la demande.
Une fois les points de terminaison libérés, le pilote client ne doit pas utiliser d’objets de file d’attente d’infrastructure associés aux points de terminaison. L’extension de classe considère ces files d’attente comme purgées pour empêcher les demandes futures.
L’extension de classe peut également demander une nouvelle valeur de configuration ou un autre paramètre via ce rappel.
Cet appel est asynchrone. Le pilote client doit indiquer l’achèvement avec status en effectuant la requête transmise par l’extension de classe.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10 |
Serveur minimal pris en charge | Windows Server 2016 |
Plateforme cible | Windows |
Version KMDF minimale | 1.15 |
En-tête | udecxusbdevice.h (inclure Udecx.h) |
IRQL | <=DISPATCH_LEVEL |