Freigeben über


PORT_CONFIGURATION_INFORMATION-Struktur (strmini.h)

PORT_CONFIGURATION_INFORMATION beschreibt die Hardwareeinstellungen des Geräts eines Streaming-Minitreibers. Der Klassentreiber füllt die meisten Member mit Informationen aus, die vom Betriebssystem bereitgestellt werden.

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;

Member

SizeOfThisPacket

Die Größe dieser Struktur in Bytes. Der Klassentreiber füllt diesen Member aus.

HwDeviceExtension

Zeiger auf die Geräteerweiterung des Minitreibers. Der Minitreiber kann diesen Puffer verwenden, um private Informationen global für den Minitreiber aufzuzeichnen. Der Minidriver legt die Größe dieses Puffers in der HW_INITIALIZATION_DATA-Struktur fest, die er bei der Registrierung über StreamClassRegisterMinidriver übergibt. Der Klassentreiber übergibt auch Zeiger auf diesen Puffer im HwDeviceExtension-Member der HW_STREAM_OBJECT, HW_STREAM_REQUEST_BLOCK und HW_TIME_CONTEXT Strukturen, die er an den Minitreiber übergibt.

ClassDeviceObject

Verweist auf das vom Klassentreiber bereitgestellte funktionale Geräteobjekt (FDO) für das Gerät des Treibers.

PhysicalDeviceObject

Zeigt auf das Geräteobjekt für den Treiber oben im Treiberstapel, wenn der Klassentreiber an den Treiberstapel angefügt wird. Treiber verwenden dieses Element, wenn Sie IoCallDriver aufrufen, um mit dem Treiberstapel zu kommunizieren. Der RealPhysicalDeviceObject-Member zeigt auf den tatsächlichen PDO für das Treibergerät.

SystemIoBusNumber

Der Klassentreiber füllt diesen Member mit der Systembus-ID-Nummer des Geräts aus. Bus 0 ist der primäre Systembus.

AdapterInterfaceType

Gibt den Typ des Systembus an, mit dem das Gerät verbunden ist. Mögliche Werte sind Isa, Eisa, MicroChannel, PCIBus und PCMCIABus.

BusInterruptLevel

Der Klassentreiber füllt dieses Element mit dem IRQL für Unterbrechungen in diesem Bus aus.

BusInterruptVector

Der Klassentreiber füllt diesen Member mit dem interrupt-Vektor aus, der vom Gerät verwendet wird.

InterruptMode

Der Klassentreiber füllt diesen Member mit dem Interruptmodus aus, entweder Latched oder LevelSensitive.

DmaChannel

Wenn das Gerät eine Verbindung mit dem ISA-Bus herstellt, füllt der Klassentreiber diesen Member mit dem DMA-Kanal des Geräts aus.

NumberOfAccessRanges

Die Anzahl der Einträge im AccessRanges-Array .

AccessRanges

Die Anzahl der Einträge im AccessRanges-Array .

StreamDescriptorSize

Der Minidriver füllt dieses Element mit der Größe seiner HW_STREAM_DESCRIPTOR-Struktur aus.

Irp

Zeiger auf die Start-IRP des PnP-Geräts, die diese SRB_INITIALIZE_DEVICE-Anforderung ausgelöst hat.

InterruptObject

Wenn das Gerät Interrupts verwendet, füllt der Klassentreiber diesen Member mit einem Zeiger auf das zugeordnete Interrupt-Objekt aus.

DmaAdapterObject

Wenn das Gerät DMA verwendet, füllt der Klassentreiber diesen Member mit einem Zeiger auf das zugeordnete DmaAdapter-Objekt aus.

RealPhysicalDeviceObject

Zeiger auf die PDO für das Gerät des Treibers.

Reserved[1]

Ist für das System reserviert. Nicht verwenden.

Hinweise

Die meisten Member von PORT_CONFIGURATION_INFORMATION dem Minitreiber Informationen über die Verwendung von Hardwareressourcen wie seinem Interruptvektor und dem IRQL für seine Interrupts zur Verfügung stellen.

Anforderungen

Anforderung Wert
Header strmini.h (include Strmini.h)