DEVICE_LOCATION

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

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 for future use.
  • 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 hardware location of a device in terms of its interface, bus number, and logical location, and 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 is used to identify 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

OS Versions: Windows CE .NET 4.0 and later.
Header: Pkfuncs.h.

See Also

INTERFACE_TYPE | IOCTL_HAL_REQUEST_IRQ | PCI Device Support

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.