Функция SerCxInitialize (sercx.h)

Метод SerCxInitialize завершает инициализацию расширения последовательной платформы (SerCx) после того, как этот драйвер создаст связанный объект устройства.

Синтаксис

NTSTATUS SerCxInitialize(
  [in] WDFDEVICE     FxDevice,
  [in] PSERCX_CONFIG Config
);

Параметры

[in] FxDevice

Дескриптор WDFDEVICE для объекта устройства платформы, представляющего последовательный контроллер.

[in] Config

Указатель на структуру SERCX_CONFIG , выделенную вызывающим объектом, которая содержит сведения о конфигурации для SerCx. Вызывающий объект ранее вызывал функцию SERCX_CONFIG_INIT для инициализации этой структуры.

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

SerCxInitialize возвращает STATUS_SUCCESS в случае успешного выполнения. Возможные возвращаемые значения ошибок включают следующие коды состояния.

Код возврата Описание
STATUS_INVALID_DEVICE_REQUEST
Метод был вызван в неправильном IRQL; или недопустимый дескриптор WDFDEVICE; либо FxDevice или Config имеет значение NULL.
STATUS_INSUFFICIENT_RESOURCES
Не удалось выделить системные ресурсы (обычно это память).

Комментарии

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

SerCxInitialize регистрирует функции обратного вызова ввода-вывода драйвера контроллера с помощью SerCx. Кроме того, этот метод определяет режим передачи для очереди ввода-вывода. Во время вызова этот метод создает все внутренние структуры, необходимые SerCx (включая очередь ввода-вывода для последовательного контроллера). После возврата этого метода SerCx будет готов к обработке ввода-вывода. Однако драйвер контроллера может настроить параметры оборудования контроллера перед возвратом из обратного вызова EvtDriverDeviceAdd или перед добавлением PDO в дочерний список.

Если параметры недопустимы (как описано в SERCX_CONFIG), средство проверки драйверов вызовет ошибку.

Эта подпрограмма должна вызываться перед фиксацией устройства (возвратом из EvtDriverDeviceAdd или добавлением PDO в дочерний список).

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 8.
Целевая платформа Универсальное
Верхняя часть sercx.h
IRQL PASSIVE_LEVEL

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

EvtDriverDeviceAdd

SERCX_CONFIG

SERCX_CONFIG_INIT