Функция 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 может при необходимости продолжить настройку параметров контроллера перед фиксацией объекта устройства.

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

Требования

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

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

EvtChildListCreateDevice

EvtDriverDeviceAdd

SPB_CONTROLLER_CONFIG

SPB_CONTROLLER_CONFIG_INIT