Поделиться через


Функция SpbDeviceInitialize (spbcx.h)

Метод SpbDeviceInitialize завершает инициализацию драйвера контроллера SPB после создания связанного объекта устройства.

Синтаксис

NTSTATUS SpbDeviceInitialize(
  [in] WDFDEVICE              FxDevice,
  [in] PSPB_CONTROLLER_CONFIG Config
);

Параметры

[in] FxDevice

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

[in] Config

Указатель на SPB_CONTROLLER_CONFIG структуру, содержащую сведения о конфигурации устройства для драйвера контроллера SPB. Эта структура должна быть инициализирована функцией SPB_CONTROLLER_CONFIG_INIT.

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

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

Замечания

Драйвер контроллера SPB вызывает этот метод, чтобы зарегистрировать функции обратного вызова событий с помощью расширения платформы SPB (SpbCx) и указать режим передачи, используемый для очереди ввода-вывода контроллера. SpbDeviceInitialize создает все внутренние структуры данных контроллера, включая очередь ввода-вывода.

Драйвер контроллера SPB должен вызвать этот метод, прежде чем он фиксирует объект устройства, то есть, прежде чем он возвращается из EvtDriverDeviceAdd обратного вызова или добавляет PDO в дочерний список контроллера. Дочерний список представляет устройства, подключенные к шине. Дополнительные сведения см. в разделе Перечисление устройств вшины.

После spbDeviceInitialize контроллер готов обработать запросы ввода-вывода, но драйвер контроллера SPB может при необходимости продолжить настройку параметров контроллера перед фиксацией объекта устройства.

Если структура, на которую указывает конфигурация, не заполнена правильно, средство проверки драйверов вызовет ошибку. Дополнительные сведения о требованиях для параметра конфигурации см. в SPB_CONTROLLER_CONFIG.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows 8.
целевая платформа Всеобщий
заголовка spbcx.h
библиотеки Spbcxstubs.lib
IRQL PASSIVE_LEVEL

См. также

EvtChildListCreateDevice

EvtDriverDeviceAdd

SPB_CONTROLLER_CONFIG

SPB_CONTROLLER_CONFIG_INIT