DEVICE_LOCATION (Compact 2013)

3/26/2014

This structure assigns an IRQ to a device through the IOCTL_HAL_REQUEST_IRQ IOCTL.

Syntax

typedef struct _DEVICE_LOCATION {
  DWORD IfcType;
  DWORD BusNumber;
  DWORD LogicalLoc;
  PVOID PhysicalLoc;
  DWORD Pin;
} DEVICE_LOCATION, *PDEVICE_LOCATION;

Members

  • IfcType
    Element of the INTERFACE_TYPE enumeration. Typically, set to PCIBus.
  • BusNumber
    Bus number. Typically, the PCI bus number where the device is located.
  • LogicalLoc
    Logical location of device; the PCI slot and function numbers.
  • PhysicalLoc
    Reserved.
  • Pin
    PCI bus interrupt pin number.

    The following table shows the possible values.

    Interrupt pin number

    Value

    INTA

    1

    INTB

    2

    INTC

    3

    INTD

    4

Remarks

This structure describes the location of a hardware device in terms of its interface, bus number, and logical location. It is typically used for describing PCI devices. The Pin member describes which pin (1 through 4) of a PCI device is being used for the interrupt.

The LogicalLoc member identifies the location of the device. The following table shows how the bits of the DWORD for the PCI bus are defined.

Bits

Description

31 through 24

0

23 through 16

Bus number

15 through 8

Device number

7 through 0

Function number

Requirements

Header

pkfuncs.h

See Also

Reference

PCI Bus Driver Structures
INTERFACE_TYPE

Other Resources

IOCTL_HAL_REQUEST_IRQ