Поделиться через


структура 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

Значение WDF_TRI_STATEтипа, указывающее, если задано значение WdfTrue, то устройство поддерживает состояние спящего устройства D1. Дополнительные сведения о значении WDF_TRI_STATE см. в следующем разделе "Примечания".

DeviceD2

Значение WDF_TRI_STATEтипа, указывающее, если задано значение WdfTrue, то устройство поддерживает состояние спящего устройства D2.

WakeFromD0

Значение WDF_TRI_STATEтипа, указывающее, если задано значение WdfTrue, устройство может реагировать на сигнал пробуждения в состоянии D0.

WakeFromD1

Значение WDF_TRI_STATEтипа, указывающее, если задано значение WdfTrue, устройство может реагировать на сигнал пробуждения в состоянии D1.

WakeFromD2

Значение WDF_TRI_STATEтипа, указывающее, если задано значение WdfTrue, устройство может реагировать на сигнал пробуждения в состоянии D2.

WakeFromD3

Значение WDF_TRI_STATEтипа, указывающее, если задано значение WdfTrue, устройство может реагировать на сигнал пробуждения в состоянии D3.

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

Приблизительное время в 100-наносекундных единицах, что устройство должно вернуться в состояние D0 из своего состояния D1. Если это значение равно -1, платформа использует любое значение, которое в настоящее время хранится в системе для этого члена.

D2Latency

Приблизительное время в 100-наносекундных единицах, которое устройство требует вернуться в состояние D0 из своего состояния D2. Если это значение равно -1, платформа использует любое значение, которое в настоящее время хранится в системе для этого члена.

D3Latency

Приблизительное время в 100-наносекундных единицах, которое устройство требует вернуться в состояние D0 из своего состояния D3. Если это значение равно -1, платформа использует любое значение, которое в настоящее время хранится в системе для этого члена.

IdealDxStateForSx

Значение типа DEVICE_POWER_STATE, указывающее состояние спящего состояния устройства, что устройство должно ввести, когда система входит в любое системное состояние спящего состояния, а устройство не включено для пробуждения системы. Если это значение равно нулю, платформа использует PowerDeviceD3. Это значение нельзя PowerDeviceD0.

Если драйвер задает значение IdealDxStateForSx, представляющее более высокое состояние спящего устройства, чем стек устройства, указанный в массиве DeviceStat e, платформа использует более низкое состояние, которое находится в массиве. Например, если драйвер задает значение IdealDxStateForSx значения D1, а массив devicestate deviceState указывает D2, платформа использует D2.

Замечания

Структура WDF_DEVICE_POWER_CAPABILITIES используется в качестве входных данных для WdfDeviceSetPowerCapabilities.

Несколько членов используют тип WDF_TRI_STATE. Для этих членов применяются следующие правила:

  • Значение WdfTrue указывает, что устройство поддерживает возможность и значение WdfFalse указывает, что это не так.
  • Драйверы функций и драйверы фильтров могут указывать WdfTrue или WdfFalseили значение WdfUseDefault, чтобы указать, что платформа должна использовать значение, предоставленное более низким драйвером в стеке. Например, если драйвер шины указывает WdfTrue для DeviceD1, а драйвер функции устройства указывает WdfUseDefault, платформа использует WdfTrue.
  • Когда драйвер шины вызывает WdfDeviceSetPowerCapabil ities после создает объект устройства для дочернего устройства, он должен указать WdfTrue или WdfFalse. Драйвер шины может указать WdfUseDefault для дочернего устройства, но в этом случае WdfUseDefault совпадает с WdfFalse.
Чтобы инициализировать структуру WDF_DEVICE_POWER_CAPABILITIES, драйвер должен вызвать WDF_DEVICE_POWER_CAPABILITIES_INIT.

Требования

Требование Ценность
минимальная версия KMDF 1.0
минимальная версия UMDF 2.0
Заголовок wdfdevice.h (include Wdf.h)

См. также

WDF_DEVICE_PNP_CAPABILITIES