Duration (Pacific Standard Time):
To (Pacific Standard Time):
Impact:
  • None
User Action:
  • None

PCI_SLOT_NUMBER

The PCI_SLOT_NUMBER structure is obsolete. It defines the format of the Slot parameter to the obsolete HalXxxBusData routines when they are called with the BusDataType value PCIConfiguration.

 typedef struct _PCI_SLOT_NUMBER {
  union {
    struct {
      ULONG  DeviceNumber:5;
      ULONG  FunctionNumber:3;
      ULONG  Reserved:24;
    } bits;
    ULONG  AsULONG;
  } u;
} PCI_SLOT_NUMBER, *PPCI_SLOT_NUMBER;

Members

u.bits

Specifies the particular device on a multifunction adapter at the given slot that is being configured. The DeviceNumber indicates the logical slot number for the adapter; the FunctionNumber indicates the particular device on that adapter.

u.AsULONG

Species the logical slot number of the device being configured.

Remarks

Drivers of PCI devices can call HalGetBusData or HalGetBusDataByOffset more than once for the same slot number to get the configuration information for their device(s).

For example, a driver might search for devices it supports on all PCI buses in the machine first, and then call HalGetBusData(ByOffset) again to request more configuration information about devices of interest. Such a driver could code a loop that calls HalGetBusData(ByOffset) with an input Buffer of sufficient Length only to contain enough of the PCI_COMMON_CONFIG to determine the VendorID and DeviceID of each PCI device. After finding the Slot numbers for any promising PCI devices, the driver would call HalGetBusData or HalGetBusDataByOffset one or more times with additional buffer space to get the information needed to configure its devices.

Requirements

Header

Wdm.h (include Wdm.h, Ntddk.h, or Ntifs.h)

See also

HalAssignSlotResources
HalGetBusData
HalGetBusDataByOffset
HalSetBusData
HalSetBusDataByOffset
PCI_COMMON_CONFIG

 

 

Send comments about this topic to Microsoft