spbDeviceInitialize 函数 (spbcx.h)

SpbDeviceInitialize 方法在此驱动程序创建关联的设备对象后完成 SPB 控制器驱动程序的初始化。

语法

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

参数

[in] FxDevice

表示 SPB 控制器的设备对象的 WDFDEVICE 句柄。

[in] Config

指向包含 SPB 控制器驱动程序的设备配置信息的 SPB_CONTROLLER_CONFIG 结构的指针。 此结构必须由 SPB_CONTROLLER_CONFIG_INIT 函数初始化。

返回值

如果 SpbDeviceInitialize 成功,则返回STATUS_SUCCESS。 否则,它将返回相应的 NTSTATUS 错误代码。

注解

SPB 控制器驱动程序调用此方法将事件回调函数注册到 SPB 框架扩展 (SpbCx) ,并指定要用于控制器的 I/O 队列的传输模式。 SpbDeviceInitialize 创建控制器的所有内部数据结构,包括 I/O 队列。

SPB 控制器驱动程序必须在 提交 设备对象之前调用此方法,也就是说,在它从 EvtDriverDeviceAdd 回调返回或将 PDO 添加到控制器的子列表之前。 子列表表示附加到总线的设备。 有关详细信息,请参阅 枚举总线上的设备

SpbDeviceInitialize 返回后,控制器已准备好处理 I/O 请求,但 SPB 控制器驱动程序可以根据需要在提交设备对象之前继续配置控制器设置。

如果未正确填写 Config 指向的结构, 驱动程序验证程序 将引发错误。 有关 Config 参数的要求的详细信息,请参阅 SPB_CONTROLLER_CONFIG

要求

要求
最低受支持的客户端 从Windows 8开始可用。
目标平台 通用
标头 spbcx.h
Library Spbcxstubs.lib
IRQL PASSIVE_LEVEL

另请参阅

EvtChildListCreateDevice

EvtDriverDeviceAdd

SPB_CONTROLLER_CONFIG

SPB_CONTROLLER_CONFIG_INIT