Функция WdfDeviceInitSetPowerPageable (wdfdevice.h)
[Применяется только к KMDF]
Метод WdfDeviceInitSetPowerPageable информирует диспетчера питания о том, что драйвер должен иметь доступ к страничным данным во время перехода системы между спящим состоянием и рабочим состоянием (S0).
Синтаксис
void WdfDeviceInitSetPowerPageable(
[in] PWDFDEVICE_INIT DeviceInit
);
Параметры
[in] DeviceInit
Указатель на структуру WDFDEVICE_INIT , предоставленный вызывающим.
Возвращаемое значение
None
Remarks
Если драйвер функции или драйвер шины вызывает WdfDeviceInitSetPowerPageable, система гарантирует, что устройство файла подкачки находится в рабочем (D0) состоянии, когда устройство драйвера переходит в состояние с низким энергопотреблением или возвращается в рабочее состояние. Это позволяет драйверу получать доступ к файлам, реестру и выгружаемого пулу во время переключений питания устройства.
По умолчанию платформа предоставляет доступ к страничным данным для драйверов функций. Платформа использует параметр родительского устройства для каждого дочернего устройства, перечисляемого драйвером автобуса, если водитель автобуса не вызывает WdfDeviceInitSetPowerPageable или WdfDeviceInitSetPowerNotPageable для дочернего устройства. При написании драйвера шины, который вызывает WdfDeviceInitSetPowerPageable для дочернего устройства, никакие драйверы в стеке дочернего устройства не смогут вызывать WdfDeviceInitSetPowerNotPageable.
Вызов WdfDeviceInitSetPowerPageable или WdfDeviceInitSetPowerNotPageable из драйвера фильтра не оказывает никакого влияния. Платформа использует параметр, заданный драйвером следующего уровня.
Большинству драйверов не требуется вызывать WdfDeviceInitSetPowerPageable или WdfDeviceInitSetPowerNotPageable. Вместо этого следует разрешить платформе использовать параметр по умолчанию, соответствующий вашему драйверу. Однако драйвер должен вызывать WdfDeviceInitSetPowerNotPageable , если драйвер является частью стека драйверов, который не должен получать доступ к страничным данным во время переключения питания (например, к стеку хранилища или стеку видео), или если драйвер является драйвером шины, который перечисляет устройства, которые могут быть устройствами хранения или видеоустройствами.
Если драйвер вызывает WdfDeviceInitSetPowerInrush, он не должен вызывать WdfDeviceInitSetPowerPageable.
Драйвер должен вызвать WdfDeviceInitSetPowerPageable , прежде чем вызывать WdfDeviceCreate.
Дополнительные сведения о вызове WdfDeviceCreate см. в разделе Создание объекта устройства платформы.
Примеры
В следующем примере кода диспетчер управления питанием сообщает, что драйвер должен иметь доступ к страничным данным во время перехода системы между спящим состоянием и рабочим состоянием (S0).
WdfDeviceInitSetPowerPageable(DeviceInit);
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Минимальная версия KMDF | 1,0 |
Верхняя часть | wdfdevice.h (включая Wdf.h) |
Библиотека | Wdf01000.sys (см. раздел Управление версиями библиотеки платформы). |
IRQL | <= DISPATCH_LEVEL |
Правила соответствия DDI | ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf) |