estructura PORT_CONFIGURATION_INFORMATION (strmini.h)

PORT_CONFIGURATION_INFORMATION describe la configuración de hardware de un dispositivo de minidriver de streaming. El controlador de clase rellena la mayoría de los miembros con información proporcionada por el sistema operativo.

Sintaxis

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;

Miembros

SizeOfThisPacket

Tamaño de esta estructura, en bytes. El controlador de clase rellena este miembro.

HwDeviceExtension

Puntero a la extensión del dispositivo del minidriver. El minidriver puede usar este búfer para registrar información privada global en el minidriver. El minidriver establece el tamaño de este búfer en la estructura HW_INITIALIZATION_DATA que pasa cuando se registra a sí mismo a través de StreamClassRegisterMinidriver. El controlador de clase también pasa punteros a este búfer en el miembro HwDeviceExtension del HW_STREAM_OBJECT, HW_STREAM_REQUEST_BLOCK y HW_TIME_CONTEXT estructuras que pasa al minidriver.

ClassDeviceObject

Apunta al objeto de dispositivo funcional (FDO) proporcionado por el controlador de clase para el dispositivo del controlador.

PhysicalDeviceObject

Apunta al objeto de dispositivo del controlador en la parte superior de la pila de controladores cuando el controlador de clase se asocia a la pila de controladores. Los controladores usan este miembro al llamar a IoCallDriver para comunicarse con la pila de controladores. El miembro RealPhysicalDeviceObject apunta al PDO real del dispositivo del controlador.

SystemIoBusNumber

El controlador de clase rellena este miembro con el número de identificador de bus del sistema del dispositivo. Bus 0 es el bus del sistema principal.

AdapterInterfaceType

Especifica el tipo de bus del sistema al que está conectado el dispositivo. Entre los valores posibles se incluyen Isa, Eisa, MicroChannel, PCIBus y PCMCIABus.

BusInterruptLevel

El controlador de clase rellena este miembro con irQL para las interrupciones en este bus.

BusInterruptVector

El controlador de clase rellena este miembro con el vector de interrupción utilizado por el dispositivo.

InterruptMode

El controlador de clase rellena este miembro con el modo de interrupción, ya sea Latched o LevelSensitive.

DmaChannel

Si el dispositivo se conecta al bus ISA, el controlador de clase rellena este miembro con el canal DMA del dispositivo.

NumberOfAccessRanges

Número de entradas de la matriz AccessRanges .

AccessRanges

Número de entradas de la matriz AccessRanges .

StreamDescriptorSize

El minidriver rellena este miembro con el tamaño de su estructura HW_STREAM_DESCRIPTOR .

Irp

El puntero al dispositivo PnP inicia IRP que desencadenó esta solicitud de SRB_INITIALIZE_DEVICE.

InterruptObject

Si el dispositivo usa interrupciones, el controlador de clase rellena este miembro con un puntero al objeto Interrupt asociado.

DmaAdapterObject

Si el dispositivo usa DMA, el controlador de clase rellena este miembro con un puntero al objeto DmaAdapter asociado.

RealPhysicalDeviceObject

Puntero al PDO para el dispositivo del controlador.

Reserved[1]

Reservado para uso del sistema. No debe usarse.

Comentarios

La mayoría de los miembros de PORT_CONFIGURATION_INFORMATION proporcionan información al minidriver sobre su uso de recursos de hardware, como su vector de interrupción y irQL para sus interrupciones.

Requisitos

Requisito Valor
Header strmini.h (include Strmini.h)