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


Функция WdfDeviceInitSetPowerNotPageable (wdfdevice.h)

[Применяется только к KMDF]

Метод WdfDeviceInitSetPowerNotPageable информирует диспетчера питания о том, что драйвер не будет получать доступ к страничным данным во время перехода системы между спящим состоянием и рабочим состоянием (S0).

Синтаксис

void WdfDeviceInitSetPowerNotPageable(
  [in] PWDFDEVICE_INIT DeviceInit
);

Параметры

[in] DeviceInit

Указатель на структуру WDFDEVICE_INIT , предоставленный вызывающим.

Возвращаемое значение

None

Remarks

Если драйвер функции или драйвер шины вызывает WdfDeviceInitSetPowerNotPageable, устройство файла подкачки системы может не находиться в рабочем (D0) состоянии, когда устройство драйвера переходит в состояние с низким энергопотреблением или возвращается в рабочее состояние. Таким образом, во время переключения питания устройства драйвер не должен выполнять никаких операций, которые могут привести к тому, что операционная система может получить доступ к файлу подкачки. К таким операциям относится доступ к файлам, реестру или выгружаемого пулу.

По умолчанию платформа предоставляет доступ к страничным данным для драйверов функций. Платформа использует параметр родительского устройства для каждого дочернего устройства, перечисляемого драйвером автобуса, если водитель автобуса не вызывает WdfDeviceInitSetPowerPageable или WdfDeviceInitSetPowerNotPageable для дочернего устройства. При написании драйвера шины, который вызывает WdfDeviceInitSetPowerPageable для дочернего устройства, никакие драйверы в стеке дочернего устройства не смогут вызывать WdfDeviceInitSetPowerNotPageable.

Вызов WdfDeviceInitSetPowerPageable или WdfDeviceInitSetPowerNotPageable из драйвера фильтра не оказывает никакого влияния. Платформа использует параметр, заданный драйвером следующего уровня.

Большинству драйверов не требуется вызывать WdfDeviceInitSetPowerPageable или WdfDeviceInitSetPowerNotPageable. Вместо этого следует разрешить платформе использовать параметр по умолчанию, соответствующий вашему драйверу. Однако драйвер должен вызывать WdfDeviceInitSetPowerNotPageable , если драйвер является частью стека драйверов, который не должен получать доступ к страничным данным во время переключения питания (например, к стеку хранилища или стеку видео), или если драйвер является драйвером шины, который перечисляет устройства, которые могут быть устройствами хранения или видеоустройствами.

Если драйвер вызывает WdfDeviceInitSetPowerNotPageable, он должен сделать это перед вызовом WdfDeviceCreate.

Дополнительные сведения о вызове WdfDeviceCreate см. в разделе Создание объекта устройства платформы.

Примеры

В следующем примере кода диспетчер питания сообщает, что драйвер не будет получать доступ к страничные данные во время перехода системы между спящим состоянием и рабочим состоянием (S0).

WdfDeviceInitSetPowerNotPageable(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)

См. также раздел

WdfDeviceInitSetPowerPageable