структура 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.
Требования
Требование | Ценность |
---|---|
минимальная версия KMDF | 1.0 |
минимальная версия UMDF | 2.0 |
Заголовок | wdfdevice.h (include Wdf.h) |