ACPI_DEVICE_INFORMATION_OUTPUT_BUFFER structure (acpiioct.h)

The ACPI_DEVICE_INFORMATION_OUTPUT_BUFFER structure contains output arguments from the IOCTL_ACPI_GET_DEVICE_INFORMATION control method.

Syntax

typedef struct _ACPI_DEVICE_INFORMATION_OUTPUT_BUFFER {
  ULONG  Signature;
  USHORT Size;
  UCHAR  Revision;
  UCHAR  Reserved0;
  USHORT VendorIdStringOffset;
  USHORT VendorStringLength;
  USHORT DeviceIdStringOffset;
  USHORT SubSystemIdStringOffset;
  USHORT SubSystemStringLength;
  USHORT SubDeviceIdStringOffset;
  USHORT InstanceIdLength;
  USHORT InstanceIdOffset;
  USHORT BaseClassCode;
  USHORT HardwareRevision;
  UCHAR  ProgrammingInterface;
  UCHAR  Reserved1;
  USHORT SubClassCode;
} ACPI_DEVICE_INFORMATION_OUTPUT_BUFFER, *PACPI_DEVICE_INFORMATION_OUTPUT_BUFFER;

Members

Signature

A unique identifier for the IOCTL that returns this buffer. Used for verification.

Size

The size, in bytes, of the ACPI_DEVICE_INFORMATION_OUTPUT_BUFFER structure.

Revision

Revision of the ACPI_DEVICE_INFORMATION_OUTPUT_BUFFER structure.

Reserved0

Reserved. Do not use.

VendorIdStringOffset

The offset from the beginning of this structure to the beginning of the VendorIDString member. This string uniquely identifies The manufacturer and the device itself.

VendorStringLength

The length of the VendorIDString member.

DeviceIdStringOffset

The offset from the beginning of this structure to the beginning of the DeviceIDString member. This string uniquely identifies the device.

SubSystemIdStringOffset

The offset from the beginning of this structure to the beginning of the SubSystemIDString member. This string uniquely identifies the manufacturer and the subsystem (chip or board) into which the device is integrated.

SubSystemStringLength

The length of the SubSystemIDString member.

SubDeviceIdStringOffset

The offset from the beginning of this structure to the beginning of the DeviceIDString member. This string uniquely identifies the subsystem.

InstanceIdLength

The length of the InstanceIDString member.

InstanceIdOffset

The offset from the beginning of this structure to the beginning of the InstanceIDString member. This string uniquely identifies the device amongst all such devices on the platform.

BaseClassCode

A number identifying the class of the device.

For more information, see the Peripheral Component Interconnect Special Interest Group (PCI-SIG) specifications for baseclass code definitions.

HardwareRevision

A number identifying the hardware revision of the device.

ProgrammingInterface

A number identifying the programming interface of the device.

For more information, see the Peripheral Component Interconnect Special Interest Group (PCI-SIG) specifications for class programming interface definitions.

Reserved1

Reserved. Do not use.

SubClassCode

A number identifying the subclass of the device.

For more information, see the Peripheral Component Interconnect Special Interest Group (PCI-SIG) specifications for subclass code definitions.

Remarks

Appended after the ACPI_DEVICE_INFORMATION_OUTPUT_BUFFER are the SubSystemIdString, VendorIdString, and InstanceIdString strings, described as follows:

BYTE[SubVendorStringLength+1] SubSystemIdString

A string of SubSystemStringLength in length which contains the subsystem's manufacturer and subsystem identifiers.

BYTE[VendorIdStringOffset+1] VendorIdString

A string of VendorStringLength in length which contains the device's manufacturer and device identifiers.

BYTE[InstanceIdOffset+1] InstanceIdString

A string of InstanceIDLength in length which contains a number that uniquely identifies the device amongst all such devices on the platform (i.e. all devices with the same Vendor, Device, SubsystemVendor and SubsystemDevice IDs.)

Requirements

Requirement Value
Minimum supported client Windows 8 and later versions of Windows.
Header acpiioct.h (include Acpiioct.h)

See also

IOCTL_ACPI_GET_DEVICE_INFORMATION