Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Указывает расширение класса UcmTcpciCx, которое драйвер клиента теперь готов к обслуживанию запросов оборудования для контроллера порта.
Синтаксис
NTSTATUS UcmTcpciPortControllerStart(
UCMTCPCIPORTCONTROLLER PortControllerObject
);
Параметры
PortControllerObject
Обработайте объект контроллера порта, полученный драйвером клиента в предыдущем вызове UcmTcpciPortControllerCreate.
Возвращаемое значение
(NTSTATUS) Метод возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае этот метод может вернуть соответствующий код ошибки NTSTATUS.
| Возвращаемый код | Описание |
|---|---|
|
Контроллер порта уже находится в состоянии "Пуск". |
|
Очередь запросов оборудования не была задана путем вызова UcmTcpciPortControllerSetHardwareRequestQueue. |
Замечания
После того как драйвер клиента получил дескриптор UCMPORTCONTROLLER для объекта контроллера порта, драйвер вызывает этот метод, чтобы уведомить расширение класса о том, что драйвер может начать получать аппаратные запросы. Этот вызов метода позволяет драйверу клиента выполнять инициализацию пространства контекста платформы в объекте контроллера порта, прежде чем расширение класса может вызывать функции обратного вызова драйвера или запросы для объекта контроллера порта. Драйвер не может вызывать UcmTcpciPortControllerAlert или UcmTcpciPortControllerStop до запуска контроллера порта.
Драйвер клиента вызывает этот метод сразу после вызова UcmTcpciPortControllerCrea te и инициализации структуры контекста, если он был указан в структуре WDF_OBJECT_ATTRIBUTES в качестве значения параметра атрибутов. Драйвер должен предположить, что расширение класса может отправлять запросы даже до того, как UcmTcpciPortControllerStart возвращается, т. е. из этого вызова DDI. Если драйвер держит блокировку при вызове UcmTcpciPortControllerStart, а также пытается получить блокировку при обработке аппаратного запроса (в обратном вызове очереди запросов оборудования), это может привести к взаимоблокировке.
Вызов UcmTcpciPortControllerStart для запуска объекта контроллера порта, уже в состоянии "Пуск", приводит к ошибке.
При загрузке, если BIOS уже договорился о контракте PD, UcmTcpciCx начинается с неподключаемого состояния.
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Windows 10 |
| минимальный поддерживаемый сервер | Windows Server 2016 |
| целевая платформа | Виндоус |
| заголовка | ucmtcpciportcontroller.h |
| библиотеки | Ucmtcpcicxstub.lib |
| IRQL | PASSIVE_LEVEL |