// acpiioct.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
The ACPI_DEVICE_INFORMATION_OUTPUT_BUFFER structure contains output arguments from the IOCTL_ACPI_GET_DEVICE_INFORMATION control method.
SignatureA unique identifier for the IOCTL that returns this buffer. Used for verification.
SizeThe size, in bytes, of the ACPI_DEVICE_INFORMATION_OUTPUT_BUFFER structure.
RevisionRevision of the ACPI_DEVICE_INFORMATION_OUTPUT_BUFFER structure.
Reserved0Reserved. Do not use.
VendorIdStringOffsetThe offset from the beginning of this structure to the beginning of the VendorIDString member. This string uniquely identifies The manufacturer and the device itself.
VendorStringLengthThe length of the VendorIDString member.
DeviceIdStringOffsetThe offset from the beginning of this structure to the beginning of the DeviceIDString member. This string uniquely identifies the device.
SubSystemIdStringOffsetThe 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.
SubSystemStringLengthThe length of the SubSystemIDString member.
SubDeviceIdStringOffsetThe offset from the beginning of this structure to the beginning of the DeviceIDString member. This string uniquely identifies the subsystem.
InstanceIdLengthThe length of the InstanceIDString member.
InstanceIdOffsetThe 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.
BaseClassCodeA 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.
HardwareRevisionA number identifying the hardware revision of the device.
ProgrammingInterfaceA 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.
Reserved1Reserved. Do not use.
SubClassCodeA 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.
Appended after the ACPI_DEVICE_INFORMATION_OUTPUT_BUFFER are the SubSystemIdString, VendorIdString, and InstanceIdString strings, described as follows:
A string of SubSystemStringLength in length which contains the subsystem's manufacturer and subsystem identifiers.
A string of VendorStringLength in length which contains the device's manufacturer and device identifiers.
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.)
IOCTL_ACPI_GET_DEVICE_INFORMATION