BUS_INTERFACE_SWENUM结构(swenum.h)

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)