EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE fonction de rappel (ufxclient.h)
Implémentation du pilote client pour définir ou effacer la fonctionnalité d’alimentation spécifiée sur le contrôleur de fonction.
Syntaxe
EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE EvtUfxDeviceSuperSpeedPowerFeature;
void EvtUfxDeviceSuperSpeedPowerFeature(
[in] UFXDEVICE unnamedParam1,
[in] USHORT unnamedParam2,
[in] BOOLEAN unnamedParam3
)
{...}
Paramètres
[in] unnamedParam1
Handle d’un objet de périphérique USB que le pilote client a reçu lors d’un appel précédent à UfxDeviceCreate.
[in] unnamedParam2
Sélecteur de caractéristiques pour la fonctionnalité d’alimentation définie ou désactivée, comme défini dans la section 9.4 de la spécification USB 3.0. Le sélecteur de fonctionnalités peut être l’une des valeurs suivantes :
- U1_ENABLE
- U2_ENABLE
[in] unnamedParam3
Si la valeur est TRUE, définissez la fonctionnalité.
Si la valeur est FALSE, effacez la fonctionnalité.
Valeur de retour
None
Remarques
Le pilote client pour le contrôleur hôte de fonction inscrit son implémentation EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE avec l’extension de classe de fonction USB (UFX) en appelant la méthode UfxDeviceCreate .
Ce rappel d’événement n’est requis que pour les contrôleurs qui prennent en charge l’opération SuperSpeed.
Le pilote client indique la fin de cet événement en appelant la méthode UfxDeviceEventComplete .
Exemples
EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE UfxDevice_EvtDeviceSuperSpeedPowerFeature;
VOID
UfxDevice_EvtDeviceSuperSpeedPowerFeature (
_In_ UFXDEVICE Device,
_In_ USHORT Feature,
_In_ BOOLEAN Set
)
/*++
Routine Description:
EvtDeviceSuperSpeedPowerFeature handler for the UFXDEVICE object.
Handles a set or clear U1/U2 request from the host.
Arguments:
UfxDevice - UFXDEVICE object representing the device.
Feature - Indicates the feature being set or cleared. Either U1 or U2 enable.
Set - Indicates if the feature should be set or cleared
--*/
{
TraceEntry();
if (Feature == USB_FEATURE_U1_ENABLE) {
if (Set == TRUE) {
//
// #### TODO: Insert code to initiate U1 ####
//
} else {
//
// #### TODO: Insert code to exit U1 ####
//
}
} else if (Feature == USB_FEATURE_U2_ENABLE) {
if (Set == TRUE) {
//
// #### TODO: Insert code to initiate U2 ####
//
} else {
//
// #### TODO: Insert code to exit U2 ####
//
}
} else {
NT_ASSERT(FALSE);
}
UfxDeviceEventComplete(Device, STATUS_SUCCESS);
TraceExit();
}
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
Version KMDF minimale | 1.0 |
Version UMDF minimale | 2.0 |
En-tête | ufxclient.h |
IRQL | <=DISPATCH_LEVEL |