BUS_INTERFACE_SWENUM结构描述需求负载总线枚举器对象的接口。
语法
typedef struct _BUS_INTERFACE_SWENUM {
  INTERFACE                  Interface;
  PFNREFERENCEDEVICEOBJECT   ReferenceDeviceObject;
  PFNDEREFERENCEDEVICEOBJECT DereferenceDeviceObject;
  PFNQUERYREFERENCESTRING    QueryReferenceString;
} BUS_INTERFACE_SWENUM, *PBUS_INTERFACE_SWENUM;
成员
Interface
指定导出的 INTERFACE。
ReferenceDeviceObject
指向驱动程序提供的 KsReferenceSoftwareBusObject 例程的指针。
DereferenceDeviceObject
指向驱动程序提供的 KsDereferenceSoftwareBusObject 例程的指针。
QueryReferenceString
指向驱动程序提供的 KsQuerySoftwareBusInterface 例程的指针。
言论
驱动程序通过创建和发送指定 IRP_MN_QUERY_INTERFACE 次要函数代码的IRP_MJ_PNP请求来获取BUS_INTERFACE_SWENUM接口。 为此,驱动程序应:
- 从分页内存池分配和零填充BUS_INTERFACE_SWENUM结构。
 - 为查询接口请求创建 IRP,并获取新 IRP 的下一个堆栈位置。
 - 在新堆栈位置中,提供指向 Parameters.QueryInterface.Interface 成员中新BUS_INTERFACE_SWENUM结构的指针。
 - 设置完成例程,并将请求发送到驱动程序堆栈。
 - 如果请求成功,系统会填充 Parameters.QueryInterface.Interface指向的BUS_INTERFACE_SWENUM结构。
 
要求
| 要求 | 价值 | 
|---|---|
| 标头 | swenum.h (包括 Swenum.h) |