SpbControllerSetTargetAttributes 函数 (spbcx.h)

SpbControllerSetTargetAttributes 方法设置将用于 SPB 框架扩展 (SpbCx) 传递给 SPB 控制器驱动程序的所有 SPBTARGET 对象的对象属性。

语法

void SpbControllerSetTargetAttributes(
  [in] WDFDEVICE              FxDevice,
  [in] PWDF_OBJECT_ATTRIBUTES ObjectAttributes
);

参数

[in] FxDevice

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

[in] ObjectAttributes

指向调用方分配的 WDF_OBJECT_ATTRIBUTES 结构的指针,该结构包含控制器 SPBTARGET 对象的属性。

返回值

没有

言论

SPB 控制器驱动程序调用此方法来设置 SPBTARGET 对象的默认属性。 SPB 框架扩展 (SpbCx) 在控制器的客户端(外围设备)打开的总线上的任何目标设备上设置这些属性。

ObjectAttributes 指向 WDF_OBJECT_ATTRIBUTES 结构。 调用方以前必须调用 WDF_OBJECT_ATTRIBUTES_INIT 函数来初始化此结构。 在此调用之后,但在调用 SpbControllerSetTargetAttributes之前,调用方可以更改此结构的以下成员的值:

  • EvtCleanupCallback
  • EvtDestroyCallback
  • ContextSizeOverride
  • ContextTypeInfo
SpbControllerSetTargetAttributes 将这些值用作 SPBTARGET 对象的默认属性。 但是,驱动程序无法更改 ExecutionLevelSynchronizationScopeParentObject 成员中包含的默认属性值。 这些成员必须与 WDF_OBJECT_ATTRIBUTES_INIT 函数初始化的值保持不变。

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

要求

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

另请参阅

EvtDriverDeviceAdd

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT