Compartilhar via


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)