EVT_UDECX_USB_DEVICE_SET_FUNCTION_SUSPEND_AND_WAKE fonction de rappel (udecxusbdevice.h)

L’extension de classe d’émulation de périphérique USB (UdeCx) appelle cette fonction de rappel lorsqu’elle obtient une demande de modification de l’état de la fonction de l’interface spécifiée de l’appareil USB 3.0 virtuel.

Syntaxe

EVT_UDECX_USB_DEVICE_SET_FUNCTION_SUSPEND_AND_WAKE EvtUdecxUsbDeviceSetFunctionSuspendAndWake;

NTSTATUS EvtUdecxUsbDeviceSetFunctionSuspendAndWake(
  [in] WDFDEVICE UdecxWdfDevice,
  [in] UDECXUSBDEVICE UdecxUsbDevice,
  [in] ULONG Interface,
  [in] UDECX_USB_DEVICE_FUNCTION_POWER FunctionPower
)
{...}

Paramètres

[in] UdecxWdfDevice

Handle à un objet d’appareil framework qui représente le contrôleur auquel le périphérique USB est attaché. Le pilote client a initialisé cet objet dans un appel précédent à UdecxWdfDeviceAddUsbDeviceEmulation.

[in] UdecxUsbDevice

Handle vers l’objet d’appareil UDE. Le pilote client a créé cet objet dans un appel précédent à UdecxUsbDeviceCreate.

[in] Interface

Cette valeur est la valeur bInterfaceNumber de l’interface qui se réveille.

[in] FunctionPower

Valeur de type UDECX_USB_DEVICE_FUNCTION_POWER qui indique si l’interface peut interrompre et envoyer un signal de veille au contrôleur hôte.

Valeur retournée

Si l’opération réussit, la fonction de rappel doit retourner STATUS_SUCCESS, ou une autre valeur status pour laquelle NT_SUCCESS(status) est égal à TRUE.

Remarques

Le pilote client a inscrit la fonction dans un appel précédent à UdecxUsbDeviceInitSetStateChangeCallbacks en fournissant un pointeur de fonction vers son implémentation.

Dans l’implémentation du rappel, le pilote client pour le périphérique USB doit effectuer les étapes pour entrer en état de fonctionnement.

Cette fonction de rappel d’événement s’applique aux appareils USB 3.0+ . UdeCx appelle cette fonction pour informer le pilote client d’une demande de modification de l’état d’alimentation d’une fonction particulière. Il indique également au pilote si la fonction peut sortir du nouvel état ou non.

La demande d’alimentation peut être effectuée de manière asynchrone en retournant STATUS_PENDING, puis en la terminant ultérieurement en appelant UdecxUsbDeviceSetFunctionSuspendAndWakeComplete avec le code d’achèvement réel.

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 (include Udecx.h)
IRQL <=DISPATCH_LEVEL

Voir aussi

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

Écrire un pilote client UDE