Freigeben über


PORT_CONFIGURATION_INFORMATION Struktur (strmini.h)

PORT_CONFIGURATION_INFORMATION beschreibt die Hardwareeinstellungen des Geräts eines Streaming-Minidrivers. Der Klassentreiber füllt die meisten Mitglieder 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;

Angehörige

SizeOfThisPacket

Die Größe dieser Struktur in Byte. Der Klassentreiber füllt dieses Element aus.

HwDeviceExtension

Zeiger auf die Geräteerweiterung des Minidrivers. Der Minidriver kann diesen Puffer verwenden, um private Informationen global für den Minidriver aufzuzeichnen. Der Minidriver legt die Größe dieses Puffers in der HW_INITIALIZATION_DATA Struktur fest, die er übergibt, wenn er sich über StreamClassRegisterMinidriver-registriert. Der Klassentreiber übergibt auch Zeiger an diesen Puffer im HwDeviceExtension Member der HW_STREAM_OBJECT, HW_STREAM_REQUEST_BLOCKund HW_TIME_CONTEXT Strukturen, die an den Minidriver übergeben werden.

ClassDeviceObject

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

PhysicalDeviceObject

Verweist auf das Geräteobjekt für den Treiber am oberen Rand des Treiberstapels, wenn der Klassentreiber an den Treiberstapel anfügt. Treiber verwenden dieses Element beim Aufrufen IoCallDriver- für die Kommunikation mit dem Treiberstapel. Das RealPhysicalDeviceObject Member verweist auf den tatsächlichen PDO für das Treibergerät.

SystemIoBusNumber

Der Klassentreiber füllt dieses Element mit der Systembus-ID 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, PCIBusund PCMCIABus.

BusInterruptLevel

Der Klassentreiber füllt dieses Mitglied mit dem IRQL für Unterbrechungen auf diesem Bus aus.

BusInterruptVector

Der Klassentreiber füllt dieses Element mit dem vom Gerät verwendeten Interruptvektor aus.

InterruptMode

Der Klassentreiber füllt dieses Element mit dem Unterbrechungsmodus ein, entweder latched oder LevelSensitive.

DmaChannel

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

NumberOfAccessRanges

Die Anzahl der Einträge im AccessRanges Arrays.

AccessRanges

Die Anzahl der Einträge im AccessRanges Arrays.

StreamDescriptorSize

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

Irp

Zeiger auf das PnP-Gerät starten IRP, das diese SRB_INITIALIZE_DEVICE Anforderung ausgelöst hat.

InterruptObject

Wenn das Gerät Unterbrechungen verwendet, füllt der Klassentreiber dieses Element mit einem Zeiger auf das zugeordnete Interrupt-Objekt aus.

DmaAdapterObject

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

RealPhysicalDeviceObject

Zeigen Sie auf den PDO für das Treibergerät.

Reserved[1]

Reserviert für die Systemverwendung. Nicht verwenden.

Bemerkungen

Die meisten Mitglieder von PORT_CONFIGURATION_INFORMATION dem Minidriver Informationen über die Verwendung von Hardwareressourcen bereitstellen, z. B. den Interruptvektor und die IRQL für ihre Unterbrechungen.

Anforderungen

Anforderung Wert
Header- strmini.h (einschließlich Strmini.h)