Функция UcmTcpciPortControllerStop (ucmtcpciportcontroller.h)

Указывает расширение класса UcmTcpciCx, чтобы прекратить отправку аппаратных запросов в объект контроллера порта.

Синтаксис

VOID UcmTcpciPortControllerStop(
  UCMTCPCIPORTCONTROLLER PortControllerObject
);

Параметры

PortControllerObject

Обработайте объект контроллера порта, полученный драйвером клиента в предыдущем вызове UcmTcpciPortControllerCreate.

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

Никакой

Замечания

После вызова UcmTcpciPortControllerStopдрайвер клиента перестает обрабатывать все запросы на объект контроллера порта. Этот вызов синхронный, поэтому гарантируется, что расширение класса не будет вызывать функции обратного вызова или отправлять запросы после возврата. Драйвер не должен вызывать этот метод в обратном вызове контроллера порта или в то время как ожидаются какие-либо ненуправляемые аппаратные запросы.

Драйвер клиента вызывает этот метод из реализации обратного вызова EVT_WDF_DEVICE_RELEASE_HARDWARE. После этого он также должен вызывать WdfObjectDelete, если EVT_WDF_DEVICE_RELEASE_HARDWARE вызывается для перебалансирования ресурсов. Сбой в этом случае приводит к утечке объектов драйвера, связанных с объектом контроллера порта при перебалансации ресурсов. Родительский дескриптор UCMPORTCONTROLLER для дескриптора WDFDEVICE недостаточно, так как WDFDEVICE не удаляется во время перебалансирования ресурсов.

Если драйвер переходит в состояние Dx из-за S0-Idle, драйвер не должен вызывать этот метод из функции обратного вызова EVT_WDF_DEVICE_D0_EXIT. Синхронизация с состоянием питания драйвера может быть достигнута с помощью управляемой питанием очереди для получения аппаратных запросов.

Вызов UcmTcpciPortControllerStop на контроллере порта, который уже остановлен. После возврата этого метода другой метод, кроме UcmTcpciPortControllerStart можно вызвать на контроллере порта.

Драйвер клиента должен вызвать этот метод, если он должен остановить все действия на контроллере порта, чтобы он смог выполнить восстановление ошибок при обнаружении каких-либо проблем во время его работы. После завершения процесса восстановления драйвер должен перезапустить контроллер порта.

Остановка контроллера завершает любой активный контракт PD и подключение Type-C.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10
минимальный поддерживаемый сервер Windows Server 2016
целевая платформа Виндоус
заголовка ucmtcpciportcontroller.h
библиотеки Ucmtcpcicxstub.lib
IRQL PASSIVE_LEVEL

См. также

UcmTcpciPortControllerStart