структура 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)

См. также раздел

CM_EISA_SLOT_INFORMATION

HalGetBusData

HalGetBusDataByOffset