структура CM_EISA_FUNCTION_INFORMATION (miniport.h)
Структура CM_EISA_FUNCTION_INFORMATION определяет подробные сведения о конфигурации EISA, возвращаемые HalGetBusData для входных данных *BusDataType *EisaConfiguration или HalGetBusDataByOffset для входных данных *BusDataType *EisaConfiguration и нулевым значением Offset , при условии, что выделенный вызывающим объектом буфер имеет достаточную длину.
Синтаксис
typedef struct _CM_EISA_FUNCTION_INFORMATION {
ULONG CompressedId;
UCHAR IdSlotFlags1;
UCHAR IdSlotFlags2;
UCHAR MinorRevision;
UCHAR MajorRevision;
UCHAR Selections[26];
UCHAR FunctionFlags;
UCHAR TypeString[80];
EISA_MEMORY_CONFIGURATION EisaMemory[9];
EISA_IRQ_CONFIGURATION EisaIrq[7];
EISA_DMA_CONFIGURATION EisaDma[4];
EISA_PORT_CONFIGURATION EisaPort[20];
UCHAR InitializationData[60];
} CM_EISA_FUNCTION_INFORMATION, *PCM_EISA_FUNCTION_INFORMATION;
Члены
CompressedId
Сжатая EISA идентификация устройства в этом слоте. Значение идентично элементу CompressedId структуры CM_EISA_SLOT_INFORMATION .
IdSlotFlags1
Флаги идентификации слота EISA.
IdSlotFlags2
Флаги идентификации слота EISA.
MinorRevision
Сведения, предоставленные производителем.
MajorRevision
Сведения, предоставленные производителем.
Selections[26]
Выбор EISA для устройства.
FunctionFlags
Указывает, какие из членов имеют доступную информацию. Вызывающие стороны могут использовать следующие системные маски, чтобы определить, может ли определенный тип сведений о конфигурации быть возвращены halGetBusData или HalGetBusDataByOffset:
EISA_FUNCTION_ENABLED
EISA_FREE_FORM_DATA
EISA_HAS_PORT_INIT_ENTRY
EISA_HAS_PORT_RANGE
EISA_HAS_DMA_ENTRY
EISA_HAS_IRQ_ENTRY
EISA_HAS_MEMORY_ENTRY
EISA_HAS_TYPE_ENTRY
EISA_HAS_INFORMATION
Маска EISA_HAS_INFORMATION представляет собой сочетание следующих компонентов:
EISA_HAS_PORT_RANGE
EISA_HAS_DMA_ENTRY
EISA_HAS_IRQ_ENTRY
EISA_HAS_MEMORY_ENTRY
EISA_HAS_TYPE_ENTRY
TypeString[80]
Указывает тип устройства.
EisaMemory[9]
Описывает сведения о конфигурации памяти устройства EISA, определенные следующим образом:
typedef struct _EISA_MEMORY_CONFIGURATION {
EISA_MEMORY_TYPE ConfigurationByte;
UCHAR DataSize;
USHORT AddressLowWord;
UCHAR AddressHighByte;
USHORT MemorySize;
} EISA_MEMORY_CONFIGURATION, *PEISA_MEMORY_CONFIGURATION;
EisaIrq[7]
Описывает сведения о конфигурации прерываний EISA, определенные следующим образом:
typedef struct _EISA_IRQ_CONFIGURATION {
EISA_IRQ_DESCRIPTOR ConfigurationByte;
UCHAR Reserved;
} EISA_IRQ_CONFIGURATION, *PEISA_IRQ_CONFIGURATION;
EisaDma[4]
Описывает сведения о конфигурации DMA EISA, определенные следующим образом:
typedef struct _EISA_DMA_CONFIGURATION {
DMA_CONFIGURATION_BYTE0 ConfigurationByte0;
DMA_CONFIGURATION_BYTE1 ConfigurationByte1;
} EISA_DMA_CONFIGURATION, *PEISA_DMA_CONFIGURATION;
EisaPort[20]
Описывает сведения о конфигурации порта устройства EISA, определенные следующим образом:
typedef struct _EISA_PORT_CONFIGURATION {
EISA_PORT_DESCRIPTOR Configuration;
USHORT PortAddress;
} EISA_PORT_CONFIGURATION, *PEISA_PORT_CONFIGURATION;
InitializationData[60]
Предоставленные поставщиком данные инициализации для конкретного устройства, если таковые есть.
Комментарии
Сведения, возвращаемые HalGetBusData или HalGetBusDataByOffset в CM_EISA_FUNCTION_INFORMATION и (или) в заголовке CM_EISA_SLOT_INFORMATION непосредственно перед ним, доступны только для чтения.
Требования
Требование | Значение |
---|---|
Заголовок | miniport.h (включает Wdm.h, Ntddk.h, Ntifs.h, Miniport.h) |