microsoft / microsoft/Windows-driver-samples

WMI ACPI object conversion rules

Open
#1,146 11 comments 0 reactions 1 assignee View on GitHub

@yinghany is already working on this.

Since Jun 4, 2024.

question
Dominant language
C
Stars
7.8k
Forks
5k
Avg merge
3d 17h
Merged PRs (30d)
7

Description

The example WMI ACPI code contains no information on how ACPI objects are serialized into the WMI buffer.
According to [this article](https://learn.microsoft.com/en-us/windows-hardware/drivers/kernel/driver-defined-wmi-data-items), driver operate on plain WMI buffers for exchanging data.

So far i found out that:

- ACPI integers seem to be converted into 32 bit WMI integers (even if they are 64 bit long)
- ACPI buffers are copied as-is
- ACPI strings are converted into WMI strings

What i do not know is how ACPI Packages are processed and if the ACPI-WMI mapper takes the alignment of the WMI data items into account. Would it be possible to write a short guide about ACPI object conversion rules for firmware developers?

Thanks,
Armin Wolf

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.