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 메서드를 호출하여 EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE 구현을 UFX(USB 함수 클래스 확장)에 등록합니다.
이 이벤트 콜백은 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 |