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) |