Функция PoFxSetComponentLatency (wdm.h)
Подпрограмма PoFxSetComponentLatency указывает максимальную задержку, которая может быть допустима при переходе от условия простоя к активному условию в указанном компоненте.
Синтаксис
void PoFxSetComponentLatency(
[in] POHANDLE Handle,
[in] ULONG Component,
[in] ULONGLONG Latency
);
Параметры
[in] Handle
Дескриптор, представляющий регистрацию устройства с помощью платформы управления питанием (PoFx). Драйвер устройства ранее получил этот дескриптор из подпрограммы PoFxRegisterDevice .
[in] Component
Индекс, идентифицирующий компонент. Этот параметр представляет собой индекс массива Components в структуре PO_FX_DEVICE , используемой драйвером устройства для регистрации устройства в PoFx. Если массив Components содержит N элементов, индексы компонентов варьируются от 0 до N–1.
[in] Latency
Максимальная задержка в 100-наносекундных единицах, допускаемая в указанном компоненте. Дополнительные сведения см. в подразделе "Примечания".
Возвращаемое значение
None
Remarks
Вызывающий драйвер обеспечивает максимальную задержку, которую могут допускать клиенты устройства в указанном компоненте. Эта задержка — это время, необходимое для завершения перехода от условия простоя к активному. PoFx использует эту задержку в качестве указания для повышения производительности.
Когда компонент переключается из активного условия в состояние простоя, PoFx выбирает соответствующее маломощное состояние Fx для вводимых компонентов. После завершения этого перехода время, необходимое для возврата к активному условию, зависит от выбранного состояния Fx. PoFx пытается выбрать состояние Fx, которое не нарушает требования к максимальной задержке.
Например, если драйвер поддерживает состояния питания F0, F1 и F2 в указанном компоненте, состояние F2 представляет собой более низкий параметр питания, чем состояние F1. Как правило, время T2, необходимое для пробуждения (до полного состояния F0) от F2, больше, чем время T1, необходимое для пробуждения с F1. Если максимальная задержка больше T1, но меньше T2, PoFx может безопасно переключить компонент в состояние F1 и по-прежнему соответствовать требованиям к максимальной задержке. Однако PoFx позволяет избежать переключения компонента в состояние F2, так как это нарушает это требование.
Драйвер устройства может вызывать PoFxSetComponentLatency каждый раз, когда изменение условий требует изменения максимальной задержки. После каждого вызова новая максимальная задержка остается в силе, пока драйвер снова не вызовет PoFxSetComponentLatency , чтобы обновить его.
Если компонент находится в состоянии простоя при вызове PoFxSetComponentLatency , PoFx может изменить текущее состояние Fx компонента в соответствии с новой максимальной задержкой, указанной вызывающим объектом.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 8. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h |
Библиотека | Ntoskrnl.lib |
DLL | Ntoskrnl.exe |
IRQL | <= DISPATCH_LEVEL |