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 vers un objet de périphérique USB reçu par le pilote client lors d’un appel précédent au UfxDeviceCreate.
[in] unnamedParam2
Sélecteur de fonctionnalités pour la fonctionnalité d’alimentation définie ou effacée, tel que 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, désactivez la fonctionnalité.
Valeur de retour
Aucun
Remarques
Le pilote client du 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 est requis uniquement pour les contrôleurs qui prennent en charge l’opération SuperSpeed.
Le pilote client indique l’achèvement 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();
}
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Windows |
version minimale de KMDF | 1.0 |
version minimale de UMDF | 2.0 |
d’en-tête | ufxclient.h |
IRQL | <=DISPATCH_LEVEL |