Partager via


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

Voir aussi

Architecture : Émulation de périphérique USB (UDE)

UdecxUsbEndpointSetWdfIoQueue

Écrire un pilote client UDE