Функция UcmUcsiPpmStop (ucmucsippm.h)

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

Синтаксис

void UcmUcsiPpmStop(
  [in] UCMUCSIPPM PpmObject
);

Параметры

[in] PpmObject

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

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

None

Remarks

UcmUcsiPpmStop указывает, что драйвер клиента больше не готов получать запросы от расширения класса. Расширение класса гарантирует, что после возврата этого вызова не будет выполняться никаких запросов к клиенту. Драйвер должен вызывать этот DDI при возникновении ошибки и хочет, чтобы расширение класса прекратило отправку запросов PPM. После завершения вызова драйвер должен снова запустить PPM с помощью UcmUcsiPpmStart.

Ожидается, что драйвер клиента вызовет этот DDI при выгрузке драйвера. Этот вызов указывает, что расширение класса начинает сносить внутренние конечные машины. Рекомендуется, чтобы клиент вызывал UcmUcsiPpmStop из обратного вызова EVT_WDF_DEVICE_RELEASE_HARDWARE.

Так как UcmUcsiPpmStop использует отправку команд UCSI в PPM через управляемый питанием WDFQUEUE, предоставляемый драйвером клиента, попытка вызвать эту функцию из EVT_WDF_DEVICE_D0_EXIT обратного вызова приводит к сбою. Это связано с тем, что в настоящее время шлюзы диспетчеризации для очереди закрыты.

После возврата UcmUcsiPpmStop можно вызвать UcmUcsiPpmStart , чтобы снова запустить PPM.

Требования

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