estrutura PORT_CONFIGURATION_INFORMATION (strmini.h)
PORT_CONFIGURATION_INFORMATION descreve as configurações de hardware do dispositivo de um minidriver de streaming. O driver de classe preenche a maioria dos membros com informações fornecidas pelo sistema operacional.
Sintaxe
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;
Membros
SizeOfThisPacket
O tamanho dessa estrutura, em bytes. O driver de classe preenche esse membro.
HwDeviceExtension
Ponteiro para a extensão de dispositivo do minidriver. O minidriver pode usar esse buffer para registrar informações privadas globais no minidriver. O minidriver define o tamanho desse buffer na estrutura HW_INITIALIZATION_DATA que ele passa quando ele se registra por meio de StreamClassRegisterMinidriver. O driver de classe também passa ponteiros para esse buffer no membro HwDeviceExtension do HW_STREAM_OBJECT, HW_STREAM_REQUEST_BLOCK e HW_TIME_CONTEXT estruturas que ele passa para o minidriver.
ClassDeviceObject
Aponta para o FDO (objeto de dispositivo funcional) fornecido pelo driver de classe para o dispositivo do driver.
PhysicalDeviceObject
Aponta para o objeto de dispositivo para o driver na parte superior da pilha do driver quando o driver de classe é anexado à pilha do driver. Os drivers usam esse membro ao chamar IoCallDriver para se comunicar com a pilha de driver. O membro RealPhysicalDeviceObject aponta para o PDO real para o dispositivo do driver.
SystemIoBusNumber
O driver de classe preenche esse membro com o número de ID do barramento do sistema do dispositivo. O Barramento 0 é o barramento do sistema primário.
AdapterInterfaceType
Especifica o tipo de barramento do sistema ao qual o dispositivo está conectado. Os valores possíveis incluem Isa, Eisa, MicroChannel, PCIBus e PCMCIABus.
BusInterruptLevel
O driver de classe preenche esse membro com o IRQL para interrupções neste barramento.
BusInterruptVector
O driver de classe preenche esse membro com o vetor de interrupção usado pelo dispositivo.
InterruptMode
O driver de classe preenche esse membro com o modo de interrupção, Latched ou LevelSensitive.
DmaChannel
Se o dispositivo se conectar ao barramento ISA, o driver de classe preencherá esse membro com o canal DMA do dispositivo.
NumberOfAccessRanges
O número de entradas na matriz AccessRanges .
AccessRanges
O número de entradas na matriz AccessRanges .
StreamDescriptorSize
O minidriver preenche esse membro com o tamanho de sua estrutura HW_STREAM_DESCRIPTOR .
Irp
Ponteiro para o IRP de inicialização do dispositivo PnP que disparou essa solicitação de SRB_INITIALIZE_DEVICE.
InterruptObject
Se o dispositivo usar interrupções, o driver de classe preencherá esse membro com um ponteiro para o objeto Interrupt associado.
DmaAdapterObject
Se o dispositivo usar DMA, o driver de classe preencherá esse membro com um ponteiro para o objeto DmaAdapter associado.
RealPhysicalDeviceObject
Ponteiro para o PDO para o dispositivo do driver.
Reserved[1]
Reservado para uso do sistema. Não use.
Comentários
A maioria dos membros do PORT_CONFIGURATION_INFORMATION fornece informações ao minidriver sobre o uso de recursos de hardware, como seu vetor de interrupção e o IRQL para suas interrupções.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | strmini.h (inclua Strmini.h) |