swenum.h) (BUS_INTERFACE_SWENUM 结构

BUS_INTERFACE_SWENUM 结构描述需求负载总线枚举器对象的接口。

语法

typedef struct _BUS_INTERFACE_SWENUM {
  INTERFACE                  Interface;
  PFNREFERENCEDEVICEOBJECT   ReferenceDeviceObject;
  PFNDEREFERENCEDEVICEOBJECT DereferenceDeviceObject;
  PFNQUERYREFERENCESTRING    QueryReferenceString;
} BUS_INTERFACE_SWENUM, *PBUS_INTERFACE_SWENUM;

成员

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结构。

要求

要求
Header swenum.h (包括 Swenum.h)