WDF_DEVICE_POWER_CAPABILITIES 구조체(wdfdevice.h)

[KMDF 및 UMDF에 적용]

WDF_DEVICE_POWER_CAPABILITIES 구조는 디바이스의 전원 기능을 설명합니다.

구문

typedef struct _WDF_DEVICE_POWER_CAPABILITIES {
  ULONG              Size;
  WDF_TRI_STATE      DeviceD1;
  WDF_TRI_STATE      DeviceD2;
  WDF_TRI_STATE      WakeFromD0;
  WDF_TRI_STATE      WakeFromD1;
  WDF_TRI_STATE      WakeFromD2;
  WDF_TRI_STATE      WakeFromD3;
  DEVICE_POWER_STATE DeviceState[PowerSystemMaximum];
  DEVICE_POWER_STATE DeviceWake;
  SYSTEM_POWER_STATE SystemWake;
  ULONG              D1Latency;
  ULONG              D2Latency;
  ULONG              D3Latency;
  DEVICE_POWER_STATE IdealDxStateForSx;
} WDF_DEVICE_POWER_CAPABILITIES, *PWDF_DEVICE_POWER_CAPABILITIES;

멤버

Size

이 구조체의 크기(바이트)입니다.

DeviceD1

WdfTrue로 설정된 경우 디바이스가 디바이스 절전 상태 D1을 지원한다는 것을 나타내는 WDF_TRI_STATE 형식의 값입니다. WDF_TRI_STATE 값에 대한 자세한 내용은 다음 주의 섹션을 참조하세요.

DeviceD2

WdfTrue로 설정된 경우 디바이스가 디바이스 절전 모드 상태 D2를 지원한다는 것을 나타내는 WDF_TRI_STATE 형식의 값입니다.

WakeFromD0

WdfTrue로 설정된 경우 디바이스가 D0 상태일 때 절 해제 신호에 응답할 수 있음을 나타내는 WDF_TRI_STATE 형식의 값입니다.

WakeFromD1

WdfTrue로 설정된 경우 디바이스가 D1 상태일 때 절 해제 신호에 응답할 수 있음을 나타내는 WDF_TRI_STATE 형식의 값입니다.

WakeFromD2

WdfTrue로 설정된 경우 디바이스가 D2 상태일 때 절 해제 신호에 응답할 수 있음을 나타내는 WDF_TRI_STATE 형식의 값입니다.

WakeFromD3

WdfTrue로 설정된 경우 디바이스가 D3 상태일 때 절 해제 신호에 응답할 수 있음을 나타내는 WDF_TRI_STATE 형식의 값입니다.

DeviceState[PowerSystemMaximum]

디바이스가 각 시스템 전원 상태에 대해 지원하는 가장 강력한 디바이스 상태를 나타내는 DEVICE_POWER_STATE 형식의 값 배열입니다. 이 배열은 SYSTEM_POWER_STATE 열거형을 인덱스 값으로 사용합니다. 배열 요소의 값이 PowerDeviceMaximum인 경우 프레임워크는 운영 체제가 해당 요소에 대해 저장한 값을 사용합니다. DEVICE_POWER_STATE 및 SYSTEM_POWER_STATE 열거형은 wdm.h에 정의됩니다. DeviceState 멤버에 대한 자세한 내용은 DeviceState를 참조하세요.

DeviceWake

디바이스가 절전 모드 해제 신호를 시스템에 보낼 수 있는 가장 낮은 디바이스 전원 상태를 나타내는 DEVICE_POWER_STATE 형식의 값입니다. 이 값이 PowerDeviceMaximum인 경우 프레임워크는 현재 이 멤버에 대해 시스템에 저장된 값을 사용합니다.

SystemWake

디바이스가 절전 모드 해제 신호를 시스템에 보낼 수 있는 가장 낮은 시스템 전원 상태를 나타내는 SYSTEM_POWER_STATE 형식의 값입니다. 이 값이 PowerSystemMaximum인 경우 프레임워크는 현재 이 멤버에 대해 시스템에 저장된 값을 사용합니다. SYSTEM_POWER_STATE 값은 wdm.h에 정의됩니다.

D1Latency

디바이스가 D1 상태에서 D0 상태로 돌아가야 하는 대략적인 시간(100나노초 단위)입니다. 이 값이 -1이면 프레임워크는 현재 이 멤버에 대해 시스템에 저장된 값을 사용합니다.

D2Latency

디바이스가 D2 상태에서 D0 상태로 돌아가야 하는 대략적인 시간(100나노초 단위)입니다. 이 값이 -1이면 프레임워크는 현재 이 멤버에 대해 시스템에 저장된 값을 사용합니다.

D3Latency

디바이스가 D3 상태에서 D0 상태로 돌아가야 하는 대략적인 시간(100나노초 단위)입니다. 이 값이 -1이면 프레임워크는 현재 이 멤버에 대해 시스템에 저장된 값을 사용합니다.

IdealDxStateForSx

시스템이 시스템 절전 모드 상태로 들어가고 디바이스가 시스템 절전 모드를 해제할 수 없을 때 디바이스가 입력해야 하는 디바이스 절전 상태를 나타내는 DEVICE_POWER_STATE 형식의 값입니다. 이 값이 0이면 프레임워크에서 PowerDeviceD3을 사용합니다. 이 값은 PowerDeviceD0일 수 없습니다.

드라이버가 디바이스의 DeviceState 배열에 지정된 디바이스 스택보다 높은 전원의 디바이스 절전 상태를 나타내는 IdealDxStateForSx 값을 지정하는 경우 프레임워크는 배열에 있는 저전력 상태를 사용합니다. 예를 들어 드라이버가 D1의 IdealDxStateForSx 값을 지정하고 디바이스의 DeviceState 배열이 D2를 지정하는 경우 프레임워크는 D2를 사용합니다.

설명

WDF_DEVICE_POWER_CAPABILITIES 구조체는 WdfDeviceSetPowerCapabilities에 대한 입력으로 사용됩니다.

여러 멤버가 WDF_TRI_STATE 형식을 사용합니다. 이러한 멤버의 경우 다음 규칙이 적용됩니다.

  • WdfTrue 값은 디바이스가 기능을 지원한다는 것을 나타내고 WdfFalse 값은 그렇지 않음을 나타냅니다.
  • 함수 드라이버 및 필터 드라이버는 WdfTrue 또는WdfFalse 또는 WdfUseDefault 값을 지정하여 프레임워크가 스택의 하위 드라이버에서 제공한 값을 사용해야 함을 나타낼 수 있습니다. 예를 들어 버스 드라이버가 DeviceD1대해 WdfTrue를 지정하고 디바이스의 함수 드라이버가 WdfUseDefault를 지정하는 경우 프레임워크는 기능에 WdfTrue를 사용합니다.
  • 버스 드라이버가 자식 디바이스에 대한 디바이스 개체를 만든WdfDeviceSetPowerCapabilities를 호출하는 경우 WdfTrue 또는WdfFalse를 지정해야 합니다. 버스 드라이버는 자식 디바이스에 대해 WdfUseDefault 를 지정할 수 있지만 이 경우 WdfUseDefaultWdfFalse와 동일합니다.
WDF_DEVICE_POWER_CAPABILITIES 구조를 초기화하려면 드라이버가 WDF_DEVICE_POWER_CAPABILITIES_INIT 호출해야 합니다.

요구 사항

요구 사항
최소 KMDF 버전 1.0
최소 UMDF 버전 2.0
머리글 wdfdevice.h(Wdf.h 포함)

추가 정보

WDF_DEVICE_PNP_CAPABILITIES