CM_EISA_FUNCTION_INFORMATION

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;

CM_EISA_FUNCTION_INFORMATION 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.

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.

Comments

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.

See Also

CM_EISA_SLOT_INFORMATION, HalGetBusData, HalGetBusDataByOffset