Функция 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 |