структура PORT_CONFIGURATION_INFORMATION (strmini.h)
PORT_CONFIGURATION_INFORMATION описывает параметры оборудования устройства потоковой передачи minidriver. Драйвер класса заполняет большинство членов информацией, предоставленной операционной системой.
Синтаксис
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;
Члены
SizeOfThisPacket
Размер этой структуры в байтах. Драйвер класса заполняет этот элемент.
HwDeviceExtension
Указатель на расширение устройства minidriver. Мини-driver может использовать этот буфер для записи частной информации глобальной в мини-driver. Мини-driver задает размер этого буфера в структуре HW_INITIALIZATION_DATA, которая передается при регистрации через StreamClassRegisterMinidriver. Драйвер класса также передает указатели на этот буфер в HwDeviceExtension член HW_STREAM_OBJECT, HW_STREAM_REQUEST_BLOCKи HW_TIME_CONTEXT структуры, которые передаются в мини-driver.
ClassDeviceObject
Указывает на функциональный объект устройства драйвера класса (FDO) для устройства драйвера.
PhysicalDeviceObject
Указывает на объект устройства для драйвера в верхней части стека драйверов, когда драйвер класса подключается к стеку драйверов. Драйверы используют этот член при вызове IoCallDriver для взаимодействия с стеком драйверов. Элемент RealPhysicalDeviceObject указывает на фактическое PDO для устройства драйвера.
SystemIoBusNumber
Драйвер класса заполняет этот элемент идентификатором системной шины устройства. Шина 0 является основной системной шиной.
AdapterInterfaceType
Указывает тип системной шины, к которому подключено устройство. Возможные значения включают Isa, Eisa, MicroChannel, PCIBusи PCMCIABus.
BusInterruptLevel
Драйвер класса заполняет этот член irQL для прерываний в этой шине.
BusInterruptVector
Драйвер класса заполняет этот элемент вектором прерываний, используемым устройством.
InterruptMode
Драйвер класса заполняет этот элемент режимом прерывания либо зафиксирован или LevelSensitive.
DmaChannel
Если устройство подключается к шине ISA, драйвер класса заполняет этот член каналом DMA устройства.
NumberOfAccessRanges
Количество записей в массиве AccessRanges.
AccessRanges
Количество записей в массиве AccessRanges.
StreamDescriptorSize
Мини-driver заполняет этот элемент размером своей HW_STREAM_DESCRIPTOR структуры.
Irp
Указатель на устройство PnP запуска IRP, активировав этот запрос SRB_INITIALIZE_DEVICE.
InterruptObject
Если устройство использует прерывания, драйвер класса заполняет этот элемент указателем на связанный объект Прерывания.
DmaAdapterObject
Если устройство использует DMA, драйвер класса заполняет этот элемент указателем на связанный объект DmaAdapter.
RealPhysicalDeviceObject
Указатель на PDO для устройства драйвера.
Reserved[1]
Зарезервировано для использования системы. Не используйте.
Замечания
Большинство членов PORT_CONFIGURATION_INFORMATION предоставляют сведения мини-driver об использовании аппаратных ресурсов, таких как вектор прерываний и IRQL для прерываний.
Требования
Требование | Ценность |
---|---|
заголовка | strmini.h (include Strmini.h) |