ULONG
NdisReadPciSlotInformation(
IN NDIS_HANDLE NdisAdapterHandle,
IN ULONG SlotNumber,
IN ULONG Offset,
IN PVOID Buffer,
IN ULONG Length
);
NdisReadPciSlotInformation returns bus-specific PCI configuration information from the PCI configuration space for a device at a particular slot on the bus.
NdisReadPciSlotInformation returns how many bytes of configuration information it returned at Buffer.
NdisReadPciSlotInformation helps a driver find a NIC that it supports on a PCI bus. When it does, the driver can call NdisMPciAssignResources to determine the bus-relative configuration parameters it can use in subsequent calls to other NdisXxx configuration functions, such as NdisMRegisterInterrupt, NdisMMapIoSpace, and/or NdisMRegisterIoPortRange.
NdisReadPciSlotInformation returns the same bus-relative PCI configuration information as NdisImmediateReadPciSlotInformation. However, callers of NdisReadPciSlotInformation pass the MiniportAdapterHandle passed to the MiniportInitialize function, rather than the WrapperConfigurationContext handle.
The caller is responsible for releasing the memory at Buffer when the driver has consumed the configuration information with NdisFreeMemory.
Miniport drivers call this function from their MiniportInitialize functions.
Callers of NdisReadPciSlotInformation can run at IRQL <= DISPATCH_LEVEL. Usually, callers are running at IRQL PASSIVE_LEVEL.
MiniportInitialize, NdisFreeMemory, NdisMMapIoSpace, NdisMPciAssignResources, NdisMRegisterInterrupt, NdisMRegisterIoPortRange, NdisMSetAttributes, NdisMSetAttributesEx, NdisOpenConfiguration