EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE回呼函式 (ufxclient.h)
用戶端驅動程序的實作,可設定或清除函式控制器上的指定電源功能。
語法
EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE EvtUfxDeviceSuperSpeedPowerFeature;
void EvtUfxDeviceSuperSpeedPowerFeature(
[in] UFXDEVICE unnamedParam1,
[in] USHORT unnamedParam2,
[in] BOOLEAN unnamedParam3
)
{...}
參數
[in] unnamedParam1
用戶端驅動程式在 先前呼叫UfxDeviceCreate中所收到的USB裝置物件的句柄。
[in] unnamedParam2
設定或清除電源功能的功能選取器,如 USB 3.0 規格的 9.4 節所定義。 功能選取器可以是下列其中一個值:
- U1_ENABLE
- U2_ENABLE
[in] unnamedParam3
如果為 TRUE,請設定功能。
如果為 FALSE,請清除此功能。
傳回值
無
備註
函式主控制器的用戶端驅動程式會藉由呼叫 UfxDeviceCreate 方法,向 USB 函式類別延伸模組 (UFX) 註冊其EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE實作。
只有支援 SuperSpeed 作業的控制器才需要此事件回呼。
用戶端驅動程式會呼叫 UfxDeviceEventComplete 方法,指出此事件完成。
範例
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();
}
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
最小 KMDF 版本 | 1.0 |
最低UMDF版本 | 2.0 |
標頭 | ufxclient.h |
IRQL | <=DISPATCH_LEVEL |