PORT_CONFIGURATION_INFORMATION各成员解释如下:
·SizeOfThisPacket
设定本结构的大小,由Class Driver负责填写该域。
·HwDeviceExtension
指向Minidriver的设备扩展结构(Device Extension)的指针。Minidriver会藉此buffer记录一些对Minidriver来说是公有的,但是对外是私有的信息。此结构的大小是由Minidriver自己设定的,记录在HW_INITIALIZATION_DATA结构的DeviceExtensionSize成员中。当Minidriver调用StreamClassRegisterMinidriver向Class Driver注册它自己的时候,该结构会作为参数一起传递。Class Driver会为这个扩展结构分配空间,并把一个指向该buffer的指针记录在结构HW_STREAM_OBJECT、HW_STREAM_REQUEST_BLOCK和 HW_TIME_CONTEXT的成员HwDeviceExtension中,回传给Minidriver。
·ClassDeviceObject
Class Driver会为驱动程序的设备提供功能设备对象(Functional Device Object,FDO),此成员保留一个指向该FDO的指针。
·PhysicalDeviceObject
指向物理设备对象PDO的指针。它指向在Class Driver被添加到驱动程序堆栈前,位于栈顶的驱动程序所对应的物理设备对象PDO(Class Driver添加到驱动程序堆栈之后,该成员就指向次栈顶的驱动程序对应的PDO)。驱动程序使用例程IoCallDriver和驱动程序堆栈进行通信时会用到该成员。RealPhysicalDeviceObject成员指向驱动程序的设备的实际PDO。
·SystemIoBusNumber
Class Driver负责用设备的系统总线ID号码(System Bus ID Number)填充该域。Bus 0就是主系统总线
·AdapterInterfaceType
指定设备连接到系统所用的系统总线类型,譬如ISA,EISA,MicroChannel,PCIBus和PCMCIABus等。
·BusInterruptLevel
设定总线的中端请求级IRQL,由Class Driver填写。
·BusInterruptVector
设定设备所使用的中断向量,由Class Driver填写。
·InterruptMode