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