EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE Rückruffunktion (ufxclient.h)
Die Implementierung des Clienttreibers zum Festlegen oder Löschen des angegebenen Energiefeatures auf dem Funktionscontroller.
Syntax
EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE EvtUfxDeviceSuperSpeedPowerFeature;
void EvtUfxDeviceSuperSpeedPowerFeature(
[in] UFXDEVICE unnamedParam1,
[in] USHORT unnamedParam2,
[in] BOOLEAN unnamedParam3
)
{...}
Parameter
[in] unnamedParam1
Das Handle für ein USB-Geräteobjekt, das der Clienttreiber in einem vorherigen Aufruf von UfxDeviceCreate empfangen hat.
[in] unnamedParam2
Featureauswahl für das Energiefeature, das festgelegt oder gelöscht wird, wie in Abschnitt 9.4 der USB 3.0-Spezifikation definiert. Der Featureauswahlgeber kann einer der folgenden Werte sein:
- U1_ENABLE
- U2_ENABLE
[in] unnamedParam3
Wenn TRUE, legen Sie das Feature fest.
Wenn FALSE, deaktivieren Sie das Feature.
Rückgabewert
Keine
Bemerkungen
Der Clienttreiber für den Funktionshostcontroller registriert seine EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE Implementierung bei der USB-Funktionsklassenerweiterung (UFX), indem die UfxDeviceCreate-Methode aufgerufen wird.
Dieser Ereignisrückruf ist nur für Controller erforderlich, die den SuperSpeed-Betrieb unterstützen.
Der Clienttreiber gibt den Abschluss dieses Ereignisses an, indem die UfxDeviceEventComplete-Methode aufgerufen wird.
Beispiele
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();
}
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
KMDF-Mindestversion | 1.0 |
UMDF-Mindestversion | 2.0 |
Kopfzeile | ufxclient.h |
IRQL | <=DISPATCH_LEVEL |