CM_EISA_FUNCTION_INFORMATION structure (miniport.h)

The CM_EISA_FUNCTION_INFORMATION structure defines detailed EISA configuration information returned by HalGetBusData for the input *BusDataType *EisaConfiguration, or by HalGetBusDataByOffset for the input *BusDataType *EisaConfiguration and the Offset zero, assuming the caller-allocated Buffer is of sufficient Length.

Syntax

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;

Members

CompressedId

The EISA compressed identification of the device at this slot. The value is identical to the CompressedId member of the CM_EISA_SLOT_INFORMATION structure.

IdSlotFlags1

The EISA slot identification flags.

IdSlotFlags2

The EISA slot identification flags.

MinorRevision

Information supplied by the manufacturer.

MajorRevision

Information supplied by the manufacturer.

Selections[26]

The EISA selections for the device.

FunctionFlags

Indicates which of the members has available information. Callers can use the following system-defined masks to determine whether a particular type of configuration information can be or has been returned by HalGetBusData or 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

The EISA_HAS_INFORMATION mask is a combination of the following:

EISA_HAS_PORT_RANGE

EISA_HAS_DMA_ENTRY

EISA_HAS_IRQ_ENTRY

EISA_HAS_MEMORY_ENTRY

EISA_HAS_TYPE_ENTRY

TypeString[80]

Specifies the type of device.

EisaMemory[9]

Describes the EISA device memory configuration information, defined as follows:

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]

Describes the EISA interrupt configuration information, defined as follows:

typedef struct _EISA_IRQ_CONFIGURATION {
    EISA_IRQ_DESCRIPTOR ConfigurationByte;
    UCHAR Reserved;
} EISA_IRQ_CONFIGURATION, *PEISA_IRQ_CONFIGURATION;

EisaDma[4]

Describes the EISA DMA configuration information, defined as follows:

typedef struct _EISA_DMA_CONFIGURATION {
    DMA_CONFIGURATION_BYTE0 ConfigurationByte0;
    DMA_CONFIGURATION_BYTE1 ConfigurationByte1;
} EISA_DMA_CONFIGURATION, *PEISA_DMA_CONFIGURATION;

EisaPort[20]

Describes the EISA device port configuration information, defined as follows:

typedef struct _EISA_PORT_CONFIGURATION {
    EISA_PORT_DESCRIPTOR Configuration;
    USHORT PortAddress;
} EISA_PORT_CONFIGURATION, *PEISA_PORT_CONFIGURATION;

InitializationData[60]

Vendor-supplied, device-specific initialization data, if any.

Remarks

The information returned by HalGetBusData or HalGetBusDataByOffset in CM_EISA_FUNCTION_INFORMATION and/or in the CM_EISA_SLOT_INFORMATION header immediately preceding it is read-only.

Requirements

Requirement Value
Header miniport.h (include Wdm.h, Ntddk.h, Ntifs.h, Miniport.h)

See also

CM_EISA_SLOT_INFORMATION

HalGetBusData

HalGetBusDataByOffset