wdm.h) (CM_EISA_SLOT_INFORMATION结构

CM_EISA_SLOT_INFORMATION结构定义 HalGetBusData 为输入 BusDataType = EisaConfiguration 返回的 EISA 配置标头信息,或者为输入 BusDataType = EisaConfigurationOffset = 0 返回的 HalGetBusDataByOffset 定义 EISA 配置标头信息,前提是调用方分配的缓冲区足够

语法

typedef struct _CM_EISA_SLOT_INFORMATION {
  UCHAR  ReturnCode;
  UCHAR  ReturnFlags;
  UCHAR  MajorRevision;
  UCHAR  MinorRevision;
  USHORT Checksum;
  UCHAR  NumberFunctions;
  UCHAR  FunctionInformation;
  ULONG  CompressedId;
} CM_EISA_SLOT_INFORMATION, *PCM_EISA_SLOT_INFORMATION;

成员

ReturnCode

如果在查询 EISA BIOS 时出错,则包含状态代码。 可能的状态代码包括:

  • EISA_INVALID_SLOT
  • EISA_INVALID_FUNCTION
  • EISA_INVALID_CONFIGURATION
  • EISA_EMPTY_SLOT
  • EISA_INVALID_BIOS_CALL

ReturnFlags

返回标志。

MajorRevision

制造商提供的信息。

MinorRevision

制造商提供的信息。

Checksum

校验和值,允许验证配置数据。

NumberFunctions

此槽处的数字。

FunctionInformation

此槽是否有可用的 CM_EISA_FUNCTION_INFORMATION

CompressedId

此槽处设备的 EISA 压缩标识。 此值与 CM_EISA_FUNCTION_INFORMATION 结构的 CompressedId 成员相同。 可以读取此成员以确定调用方是否应再次调用 HalGetBusDataHalGetBusDataByOffset ,并有足够的缓冲区空间来获取它支持的设备的更详细的 CM_EISA_FUNCTION_INFORMATION

备注

HalGetBusDataHalGetBusDataByOffsetCM_EISA_SLOT_INFORMATION 中返回的信息,并在紧跟其后CM_EISA_FUNCTION_INFORMATION是只读的。

EISA 设备的驱动程序可能会针对系统中每个 EISA 总线上的每个槽调用 HalGetBusDataHalGetBusDataByOffset ,请求仅 CM_EISA_SLOT_INFORMATION 才能通过检查返回的 CompressedId 值来查找设备 () 支持的设备。 然后,此类驱动程序可以分配足够的缓冲区空间,以便再次为 CM_EISA_SLOT_INFORMATION 调用 HalGetBusData (ByOffset) ,并在其 设备 () 的 槽处再次 CM_EISA_FUNCTION_INFORMATION。

要求

   
Header wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h、Miniport.h)

另请参阅

CM_EISA_FUNCTION_INFORMATION

HalGetBusData

HalGetBusDataByOffset