miniport.h) (CM_EISA_FUNCTION_INFORMATION 结构

CM_EISA_FUNCTION_INFORMATION结构定义输入 *BusDataType *EisaConfigurationHalGetBusData 返回的详细 EISA 配置信息,或由输入 *BusDataType *EisaConfigurationOffset 零返回的 HalGetBusDataByOffset 返回的详细 EISA 配置信息,假设调用方分配的缓冲区长度足够

语法

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 压缩标识。 该值与 CM_EISA_SLOT_INFORMATION 结构的 CompressedId 成员相同。

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]

描述 EISA DMA 配置信息,定义如下:

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]

供应商提供的特定于设备的初始化数据(如果有)。

注解

HalGetBusDataHalGetBusDataByOffsetCM_EISA_FUNCTION_INFORMATION 和/或紧靠其前面的 CM_EISA_SLOT_INFORMATION 标头中返回的信息是只读的。

要求

要求
Header miniport.h (包括 Wdm.h、Ntddk.h、Ntifs.h、Miniport.h)

另请参阅

CM_EISA_SLOT_INFORMATION

HalGetBusData

HalGetBusDataByOffset