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