PORT_CONFIGURATION_INFORMATION structure (strmini.h)

PORT_CONFIGURATION_INFORMATION describes the hardware settings of a streaming minidriver's device. The class driver fills in most members with information provided by the operating system.

Syntax

typedef struct _PORT_CONFIGURATION_INFORMATION {
  ULONG           SizeOfThisPacket;
  PVOID           HwDeviceExtension;
  PDEVICE_OBJECT  ClassDeviceObject;
  PDEVICE_OBJECT  PhysicalDeviceObject;
  ULONG           SystemIoBusNumber;
  INTERFACE_TYPE  AdapterInterfaceType;
  ULONG           BusInterruptLevel;
  ULONG           BusInterruptVector;
  KINTERRUPT_MODE InterruptMode;
  ULONG           DmaChannel;
  ULONG           NumberOfAccessRanges;
  PACCESS_RANGE   AccessRanges;
  ULONG           StreamDescriptorSize;
  PIRP            Irp;
  PKINTERRUPT     InterruptObject;
  PADAPTER_OBJECT DmaAdapterObject;
  PDEVICE_OBJECT  RealPhysicalDeviceObject;
  ULONG           Reserved[1];
} PORT_CONFIGURATION_INFORMATION, *PPORT_CONFIGURATION_INFORMATION;

Members

SizeOfThisPacket

The size of this structure, in bytes. The class driver fills in this member.

HwDeviceExtension

Pointer to the minidriver's device extension. The minidriver may use this buffer to record private information global to the minidriver. The minidriver sets the size of this buffer in the HW_INITIALIZATION_DATA structure it passes when it registers itself via StreamClassRegisterMinidriver. The class driver also passes pointers to this buffer in the HwDeviceExtension member of the HW_STREAM_OBJECT, HW_STREAM_REQUEST_BLOCK, and HW_TIME_CONTEXT structures it passes to the minidriver.

ClassDeviceObject

Points to the class-driver-provided functional device object (FDO) for the driver's device.

PhysicalDeviceObject

Points to the device object for the driver at the top of the driver stack when the class driver attaches to the driver stack. Drivers use this member when calling IoCallDriver to communicate with the driver stack. The RealPhysicalDeviceObject member points to the actual PDO for the driver's device.

SystemIoBusNumber

The class driver fills in this member with the system bus ID number of the device. Bus 0 is the primary system bus.

AdapterInterfaceType

Specifies the type of system bus the device is connected to. Possible values include Isa, Eisa, MicroChannel, PCIBus, and PCMCIABus.

BusInterruptLevel

The class driver fills in this member with the IRQL for interrupts on this bus.

BusInterruptVector

The class driver fills in this member with the interrupt vector used by the device.

InterruptMode

The class driver fills in this member with the interrupt mode, either Latched or LevelSensitive.

DmaChannel

If the device connects to the ISA bus, the class driver fills in this member with the DMA channel of the device.

NumberOfAccessRanges

The number of entries in the AccessRanges array.

AccessRanges

The number of entries in the AccessRanges array.

StreamDescriptorSize

The minidriver fills in this member with the size of its HW_STREAM_DESCRIPTOR structure.

Irp

Pointer to the PnP device start IRP that triggered this SRB_INITIALIZE_DEVICE request.

InterruptObject

If the device uses interrupts, the class driver fills in this member with a pointer to the associated Interrupt object.

DmaAdapterObject

If the device uses DMA, the class driver fills in this member with a pointer to the associated DmaAdapter object.

RealPhysicalDeviceObject

Pointer to the PDO for the driver's device.

Reserved[1]

Reserved for system use. Do not use.

Remarks

Most of the members of PORT_CONFIGURATION_INFORMATION provide information to the minidriver about its use of hardware resources, such as its interrupt vector and the IRQL for its interrupts.

Requirements

Requirement Value
Header strmini.h (include Strmini.h)