Функция UcmUcsiPpmStart (Ucmucsippm.h)

Указывает расширению класса UcmUcsiCx начать отправку запросов драйверу клиента.

Синтаксис

NTSTATUS UcmUcsiPpmStart(
  [in] UCMUCSIPPM PpmObject
);

Параметры

[in] PpmObject

Дескриптор объекта диспетчера политик платформы (PPM), который драйвер клиента получил при предыдущем вызове UcmUcsiPpmCreate.

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

Возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае этот метод может вернуть соответствующее значение NTSTATUS .

Комментарии

UcmUcsiPpmStart указывает, что драйвер клиента теперь готов к получению запроса от расширения класса. При этом вызове расширение класса запускает компьютеры состояния диспетчера политик ОС (OPM) и обработчика команд.

Драйвер клиента должен вызвать UcmUcsiPpmStart после вызова UcmUcsiPpmStop для восстановления ошибок.

Этот DDI запускает операции, которые расширение класса должно выполнять для инициализации конечных компьютеров OPM и Command Handler. Драйвер клиента должен вызвать UcmUcsiPpmStart , чтобы уведомить UcmUcsiCx о том, что драйвер готов к приему запросов IOCTL. Рекомендуется выполнять этот вызов либо из функции обратного вызова EVT_WDF_DEVICE_PREPARE_HARDWARE , либо после того, как система вызовет этот обратный вызов.

Попытка запустить PPM после его запуска приводит к возникновению ошибки.

После вызова клиентом UcmUcsiPpmStart расширение класса отправляет ряд команд встроенному ПО PPM для получения возможностей PPM и соединителей и их состояний. Из-за большого числа взаимодействий с встроенным ПО мы настоятельно рекомендуем клиентам UcmUcsiCx вызывать этот DDI один раз во время запуска, а не при возобновлении из состояния низкого энергопотребления, например обратного вызова D0Entry. Это особенно актуально, когда клиент реализует режим простоя S0.

Требования

Требование Значение
Минимальная версия KMDF 1.27
Минимальная версия UMDF Н/Д
Верхняя часть Ucmucsippm.h (включая UcmUcsiCx.h)
Библиотека UcmUcsiCxStub.lib
IRQL PASSIVE_LEVEL