DeviceState

DEVICE_CAPABILITIESDeviceState 멤버는 PowerSystemWorking에서 PowerSystemShutdown에 이르는 SYSTEM_POWER_STATE 값으로 인덱싱되는 DEVICE_POWER_STATE 값의 배열입니다. 배열의 각 요소에는 디바이스가 인덱스로 표시된 시스템 전원 상태에 대해 지원할 수 있는 최대(최고 전원) 디바이스 전원 상태 또는 시스템 전원 상태가 지원되지 않는 경우 PowerDeviceUnspecified 가 포함됩니다.

예를 들어 S0, S4 및 S5 시스템 전원 상태만 지원하는 시스템에서 D0 및 D3 상태만 지원하는 디바이스의 DeviceState 배열에는 다음 표에 표시된 값이 포함됩니다.

DeviceState 요소

DeviceState[PowerSystemWorking]

PowerDeviceD0

DeviceState[PowerSystemSleeping1]

PowerDeviceUnspecified

DeviceState[PowerSystemSleeping2]

PowerDeviceUnspecified

DeviceState[PowerSystemSleeping3]

PowerDeviceUnspecified

DeviceState[PowerSystemHibernate]

PowerDeviceD3

DeviceState[PowerSystemShutdown]

PowerDeviceD3

모든 시스템 전원 상태를 지원하는 시스템에서 다음 표에는 시스템이 중간 절전 모드 상태로 전환될 때마다 D2 상태 이하여야 하고 시스템이 최대 절전 모드일 때 D3 상태여야 하는 디바이스에 대해 배열이 포함할 값이 나열되어 있습니다.

DeviceState 요소

DeviceState[PowerSystemWorking]

PowerDeviceD0

DeviceState[PowerSystemSleeping1]

PowerDeviceD2

DeviceState[PowerSystemSleeping2]

PowerDeviceD2

DeviceState[PowerSystemSleeping3]

PowerDeviceD2

DeviceState[PowerSystemHibernate]

PowerDeviceD3

DeviceState[PowerSystemShutdown]

PowerDeviceD3

DeviceState 배열의 항목은 디바이스가 해당 시스템 전원 상태를 지원할 수 있는 가장 높은 디바이스 전원 상태를 나타냅니다. 앞의 예제에서 디바이스는 시스템 전원 상태의 경우 D3 상태, 시스템 전원 상태의 경우 D2 상태 PowerSystemSleeping3을 통한 PowerSystemWorking, 시스템 상태 PowerSystemWorking의 경우 D1 상태일 수 있습니다.

버스 드라이버 또는 ACPI 필터는 부모 디바이스 노드의 기능에 따라 이러한 값을 설정합니다.

일반적으로 상위 수준 드라이버는 이러한 값을 변경해서는 안 됩니다. 그러나 이러한 변경이 필요한 드문 경우에서 드라이버는 원래 반환된 버스 드라이버 또는 ACPI 필터보다 낮은(저전력) 상태를 지정할 수 있습니다. 예를 들어 위의 표와 같이 DeviceState[PowerSystemSleeping1]이 PowerDeviceD2에 매핑된다고 가정합니다. 드라이버는 이 값을 PowerDeviceD3으로 변경할 수 있지만 PowerDeviceD1 또는 PowerDeviceD0으로 변경할 수는 없습니다.