VOID
NdisReadMcaPosInformation(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE WrapperConfigurationContext,
IN PUINT ChannelNumber,
OUT PNDIS_MCA_POS_DATA McaData
);
NdisReadMcaPosInformation returns bus-relative configuration information for a NIC on an MCA bus.
NdisReadMcaPosInformation reads data from the POS register of an MCA NIC. The function copies this information into a buffer that the NIC driver provides.
The NDIS_MCA_POS_DATA structure is defined as follows:
typedef struct _NDIS_MCA_POS_DATA { USHORT AdapterId; //NIC's ID UCHAR PosData1; // First byte of POS data UCHAR PosData2; UCHAR PosData3; UCHAR PosData4; } NDIS_MCA_POS_DATA, *PNDIS_MCA_POS_DATA;
A NIC driver can use the returned AdapterId value to determine whether the NIC is its own. If so, the driver can call NdisMRegisterInterrupt to register its MiniportISR function. The driver also might use the returned value at ChannelNumber, for example, in a subsequent call to NdisMRegisterDmaChannel if its NIC is a slave DMA device.
The caller is responsible for freeing the buffer it allocated at McaData with NdisFreeMemory.
Callers of NdisReadMcaPosInformation run at IRQL PASSIVE_LEVEL.
MiniportInitialize, MiniportISR, NdisFreeMemory, NdisMRegisterDmaChannel, NdisMRegisterInterrupt, NdisMSetAttributes, NdisMSetAttributesEx