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 requête pour modifier l’état de la fonction de l’interface spécifiée du périphérique 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 vers un objet d’appareil framework qui représente le contrôleur auquel l’appareil 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 bInterfaceNumber de l’interface qui se réveille.
[in] FunctionPower
Valeur UDECX_USB_DEVICE_FUNCTION_POWER-type qui indique si l’interface peut suspendre et envoyer un signal de veille au contrôleur hôte.
Valeur de retour
Si l’opération réussit, la fonction de rappel doit retourner STATUS_SUCCESS, ou une autre valeur d’état pour laquelle NT_SUCCESS(status) a la valeur TRUE.
Remarques
Le pilote client a inscrit la fonction dans un appel précédent à UdecxUsbDeviceInitSetStateChangeCallbacks en fournissant un pointeur de fonction à son implémentation.
Dans l’implémentation de rappel, le pilote client du périphérique USB est censé effectuer des étapes pour entrer dans l’état de fonctionnement.
Cette fonction de rappel d’événement s’applique aux appareils USB 3.0+. UdeCx appelle cette fonction pour notifier le pilote client d’une requête pour modifier l’état d’alimentation d’une fonction particulière. Il informe également le pilote si la fonction peut se réveiller à partir du nouvel état ou non.
La demande d’alimentation peut être terminée de manière asynchrone en retournant STATUS_PENDING, puis en l’exécutant ultérieurement en appelant UdecxUsbDeviceSetFunctionSuspendAndWakeComplete avec le code d’achèvement réel.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 10 |
serveur minimum pris en charge | Windows Server 2016 |
plateforme cible | Windows |
version minimale de KMDF | 1.15 |
d’en-tête | udecxusbdevice.h (include Udecx.h) |
IRQL | <=DISPATCH_LEVEL |
Voir aussi
architecture : émulation de périphérique USB (UDE)