Objets et handles UFX utilisés par un pilote client de fonction USB
L’extension de classe de fonction USB (UFX) utilise la fonctionnalité d’objet WDF pour définir ces objets UFX spécifiques à l’USB.
Résumé
- Les objets UFX sont utilisés par le pilote du contrôleur de fonction pour gérer les transferts vers et depuis les points de terminaison.
- Ces objets sont des handles vers des objets WDF et sont créés par UFX à la demande du pilote client. La durée de vie de chaque objet est gérée par UFX.
API importantes
L’extension de classe de fonction USB (UFX) utilise la fonctionnalité d’objet WDF pour définir ces objets UFX spécifiques à l’USB.
Ces objets sont des handles vers des objets WDF et sont créés par UFX à la demande du pilote client de fonction. Si vous le souhaitez, le pilote client peut associer un contexte à ces objets qui peut être transmis au moment de la création. Chaque objet WDF créé par UFX peut potentiellement avoir deux contextes d’appareil : un contexte d’appareil défini par UFX au moment de la création de l’objet ; l’autre contexte d’appareil transmis par le pilote client et est défini dans UFX à l’aide de WdfObjectAllocateContext après la création de l’objet WDF.
UFXDEVICE : objet périphérique USB
Représente le périphérique USB créé par le contrôleur. L’objet est responsable de la gestion des états USB conformément à la spécification du protocole USB et de la gestion d’un ou plusieurs points de terminaison associés au périphérique USB. Le pilote du contrôleur de fonction crée cet objet dans le rappel EvtDriverDeviceAdd en appelant la méthode UfxDeviceCreate .
EVT_UFX_DEVICE_HOST_CONNECT Lance la connexion avec l’hôte.
EVT_UFX_DEVICE_HOST_DISCONNECT Désactive la communication du contrôleur de fonction avec l’hôte.
EVT_UFX_DEVICE_ADDRESSED Affecte une adresse sur le contrôleur de fonction.
EVT_UFX_DEVICE_ENDPOINT_ADD Crée un objet de point de terminaison par défaut.
EVT_UFX_DEVICE_DEFAULT_ENDPOINT_ADD Crée un objet de point de terminaison par défaut.
EVT_UFX_DEVICE_USB_STATE_CHANGE Mettez à jour l’état du périphérique USB.
EVT_UFX_DEVICE_PORT_CHANGE Mettez à jour le type du nouveau port auquel le périphérique USB est connecté.
EVT_UFX_DEVICE_PORT_DETECT Lancer la détection de port.
EVT_UFX_DEVICE_REMOTE_WAKEUP_SIGNAL lancer une mise en éveil à distance sur le contrôleur de fonction.
EVT_UFX_DEVICE_DETECT_PROPRIETARY_CHARGER Lance la détection du chargeur propriétaire.
EVT_UFX_DEVICE_PROPRIETARY_CHARGER_RESET Réinitialise le chargeur propriétaire.
EVT_UFX_DEVICE_PROPRIETARY_CHARGER_SET_PROPERTY Définit les informations du chargeur qu’il utilise pour activer le chargement via USB.
UFXENDPOINT : objet point de terminaison USB
Représente une connexion logique entre l’hôte et l’appareil. L’objet est responsable du transfert des données vers/depuis l’hôte. Pour chaque objet d’appareil, il peut y avoir un ou plusieurs points de terminaison. Le point de terminaison par défaut est toujours le point de terminaison de contrôle et les restes sont des objets spécifiques au pilote de classe. Le pilote du contrôleur de fonction crée l’objet dans le rappel EVT_UFX_DEVICE_ENDPOINT_ADD en appelant la méthode UfxEndpointCreate .