Legacy interface
aymanbagabas opened this issue · 15 comments
Most of Huawei devices have the AMW0 WMI device which has a GUID of ABBC0F5C-8EA1-11D1-A000-C90629100000
. This WMI device has a method AMW0.WMAA with GUID ABBC0F5B-8EA1-11D1-A000-C90629100000
which seems to control most of the features.
Right now, one of controlling the mic led only works with devices that implement method \_SB.PCI0.LPCB.EC0.WPIN
and \_SB.PCI0.LPCB.EC0.SPIN
. Models that don't have one these methods simply don't work! Like #7
Using WMI calls, specifically AMW0.WMAA, #7 could be solved and #8 could be integrated. The only model that might not work with this update is the Matebook X (2017).
I might need updated data from Matebook X (2017). @janbaer could you please provide me with DSDT/SSDT tables? Just make sure you're on the latest BIOS update. Also, do you know if this model supports battery protection and fn-lock?
Thank you!
Battery protection and fn-lock were added and can be controlled through the driver. You can access these features under /sys/devices/platform/huawei-wmi
. There you'd find three newly attributes, charge_start_threshold
, charge_stop_threshold
, and fn_lock_state
.
Charge thresholds accept values from 0-100 and fn-lock takes either 0 or 1. These attributes directly access AML code using WMI commands, specifically method ABBC0F5B-8EA1-11D1-A000-C90629100000
.
This method is found in most Huawei models. However, some models have other methods as their WMI BIOS controller such as Matebook X (2017). From what I have, this model supports fn-lock control using this method but not battery or micmute led.
There are many other methods that this WMI device can control but I haven't found what they're for yet.
@aymanbagabas I'm sorry but I just read this issue today. Do you still need the DSDT/SSDT tables.
Could you please give me a hint how to list it? How about the BIOS update? To be honest, I have never checked if there's an update for the BIOS at all and I'm also not sure how to update it from a Linux system. I assume, if there's an update, that there's only a Windows supported updating app provided by Huawei.
To be honest, I have never checked if there's an update for the BIOS at all and I'm also not sure how to update it from a Linux system. I assume, if there's an update, that there's only a Windows supported updating app provided by Huawei.
I don't know which model you're running, but for MateBook 13 it has been figured out. Probably works on other MateBooks, too (if you use correct device GUID for your model), but I don't think anyone tested it.
To be honest, I have never checked if there's an update for the BIOS at all and I'm also not sure how to update it from a Linux system. I assume, if there's an update, that there's only a Windows supported updating app provided by Huawei.
All huawei laptops that I have seen have a common BIOS WMI device controller. Except the old matebook, it has this common device but it also has another one that controls most of the features. I wanna see if the latest BIOS adds support for this common device so that we don’t need to implement the “legacy” controller.
If you have any questions I’ll be happy to help.
I don't know which model you're running, but for MateBook 13 it has been figured out. Probably works on other MateBooks, too (if you use correct device GUID for your model), but I don't think anyone tested it.
You’re awesome. I tested it and it worked on my x pro. You know that when you edit the .fd file in a hex editor there is a config section that you can change allowing you to do things like downgrading the bios. I’m wondering if anyone tried that
@janbaer if you're still interested in helping to implement the "legacy" BIOS interface that's found on laptops such as Matebook X (2017) I will be glad to work with you. Right now, with tag v3
, micmute LED wouldn't work on Matebook X (2017).
Right now, I'm trying to figure out a way to detect laptop available features. I created a simple bash script that uses acpi_call
to execute native AML methods. I have noticed lagging in my system after the script finished executing. This is the script if anyone is interested. testAML.txt
From the output of this script, I've come to this AML method \GTSI
I don't know what it stands for but it might be the one we're looking for since it holds static fixed values. From the data I have (DSDTs) for the XPro, 13 (2019), and D-AMD, I've noticed that each one of these laptops has similar return values from this method.
Laptop | hex | bin |
---|---|---|
XPro | 0xe3, 0x41, 0xe0, 0x07 | 0b11100011, 0b01000001, 0b11100000, 0b00000111 |
13 | 0xe3, 0x49 | 0b11100011, 0b01001001 |
D AMD | 0xa1, 0x49 | 0b10100001, 0b01001001 |
Maybe these values mean something maybe not. Any ideas?
@aymanbagabas I'm sorry for the late answer. Yes the Matebook X 2017 has also fn-lock and it's also working for me (if me mean the same). The mic-mute fn key is actually not working, but till today I didn't miss it, because I never used it. About battery protection I have no idea, what feature it's.
Unfortunately I still don't know how to generate the DSDT/SSDT tables you asked for. But how about this one from @cytrinox https://github.com/cytrinox/matebook-hotkeys/tree/master/acpi
@aymanbagabas I'm sorry for the late answer. Yes the Matebook X 2017 has also fn-lock and it's also working for me (if me mean the same). The mic-mute fn key is actually not working, but till today I didn't miss it, because I never used it. About battery protection I have no idea, what feature it's.
Did you remap the micmute key? Fn-lock works by inverting the behavior of the function keys. It's not when you have the Fn led on. With Fn-lock, and Fn led is on, the function keys would be the multimedia keys NOT F1-F12. For battery protection, it sets charging limits so it protects the battery from wearing out.
Unfortunately I still don't know how to generate the DSDT/SSDT tables you asked for. But how about this one from @cytrinox https://github.com/cytrinox/matebook-hotkeys/tree/master/acpi
It is unlikely that the vendor updated the BIOS with the new management interface that's equipped with their newer devices. I just want to make sure that that's the case so we don't have to implement the "legacy" interface. You could get these tables using sudo acpidump > acpidump.out
acpidump.out should contain all the needed tables just make sure you're on the latest BIOS update. Thank you!
Hi guys! @nekr0z @wasakakero @janbaer
I've updated the driver to include a debugfs interface for future debugging purposes and made tons of refactors. Right now, I'm preparing to submit this version to mainline kernel so I would need some help verifying all the functions work as expected.
Please test the following while watching dmesg for any errors, you could use dmesg -w
. If you could also provide the output of dmesg and the following.
- Hotkeys (special keys, fn keys, etc)
- Set micmute LED through the driver (workaround using ACPI EC on MateBook X 2017)
echo 0 | sudo tee /sys/devices/platform/huawei-wmi/leds/platform::micmute/brightness
echo 1 | sudo tee /sys/devices/platform/huawei-wmi/leds/platform::micmute/brightness
- Set/get battery charging threshold values (doesn't exist in MateBook X 2017)
echo "40 70" | sudo tee /sys/devices/platform/huawei-wmi/charge_thresholds
cat /sys/devices/platform/huawei-wmi/charge_thresholds
echo "0 100" | sudo tee /sys/devices/platform/huawei-wmi/charge_thresholds
cat /sys/devices/platform/huawei-wmi/charge_thresholds
- Set/get fn-lock (Should now work on MateBook X 2017 NEED TESTING!!)
echo 0 | sudo tee /sys/devices/platform/huawei-wmi/fn_lock_state
cat /sys/devices/platform/huawei-wmi/fn_lock_state
echo 1 | sudo tee /sys/devices/platform/huawei-wmi/fn_lock_state
cat /sys/devices/platform/huawei-wmi/fn_lock_state
- Debugfs interface
echo 0xffff | sudo tee /sys/kernel/debug/huawei-wmi/arg
sudo cat /sys/kernel/debug/huawei-wmi/arg
sudo cat /sys/kernel/debug/huawei-wmi/call
echo 0x010b04 | sudo tee /sys/kernel/debug/huawei-wmi/arg
(micmute LED on)
sudo cat /sys/kernel/debug/huawei-wmi/arg
sudo cat /sys/kernel/debug/huawei-wmi/call
echo 0x0b04 | sudo tee /sys/kernel/debug/huawei-wmi/arg
(micmute LED off)
sudo cat /sys/kernel/debug/huawei-wmi/arg
sudo cat /sys/kernel/debug/huawei-wmi/call
I would also need someone with a MateBook X (2017) to test this and/or to help with implementing the "legacy" interface, @nekr0z @wasakakero if you guys know someone it would be really really appreciated! This is one of those times where your code isn't complete but works. As a dev, I'm really really annoyed that this part isn't complete because I don't have the hardware and can't use debugging tools to figure it out since this old freaking interface has parts tied to the hardware level that won't be emulated with software such as LED stuff.
Finally, thank you guys for your contributions toward this project, without you guys, and the latest news regarding Huawei and the US 👎, we wouldn't get this far with the driver.
OK, here's for MateBook 13:
- Driver compiles and installs as expected.
- Hotkeys (special keys, fn keys, etc)
Works as expected, no issues, all correct.
- Set micmute LED through the driver (workaround using ACPI EC on MateBook X 2017)
Works as expected.
- Set/get battery charging threshold values (doesn't exist in MateBook X 2017)
Again, works as expected.
- Set/get fn-lock (Should now work on MateBook X 2017 NEED TESTING!!)
What do you think, works as expected!
- Debugfs interface
Well, here we go...
$ echo 0xffff | sudo tee /sys/kernel/debug/huawei-wmi/arg
0xffff
$ sudo cat /sys/kernel/debug/huawei-wmi/arg
0x000000000000ffff
$ sudo cat /sys/kernel/debug/huawei-wmi/call
[{0x00,0x00,0x00,0x00},{0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}]
Not sure whether this is expected or not, but let's go on...
$ echo 0x010b04 | sudo tee /sys/kernel/debug/huawei-wmi/argnel/debug/huawei-wmi/arg
0x010b04
$ sudo cat /sys/kernel/debug/huawei-wmi/arg
0x0000000000010b04
$ sudo cat /sys/kernel/debug/huawei-wmi/call
[{0x00,0x00,0x00,0x00},{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}]
The last command here brings micmute led on (I kinda expected the first command would, but what do I know). From this moment on, micmute led doesn't react to actual ALSA micmute settings and can only be switched on or off manually through the driver, not sure if this is expected either.
$ echo 0x0b04 | sudo tee /sys/kernel/debug/huawei-wmi/arg
0x0b04
$ sudo cat /sys/kernel/debug/huawei-wmi/arg
0x0000000000000b04
$ sudo cat /sys/kernel/debug/huawei-wmi/call
[{0x00,0x00,0x00,0x00},{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}]
Again, the last command (not the first one) kills micmute led.
After sudo rmmod huawei_wmi && sudo modprobe huawei-wmi
micmute led returns to expected functionality (i.e. reacting not only to manual setting via driver but to ALSA micmute state as well.
All along, nothing in dmesg other than initial registering Huawei WMI hotkeys as input.
I would also need someone with a MateBook X (2017) to test this and/or to help with implementing the "legacy" interface, @nekr0z @wasakakero if you guys know someone it would be really really appreciated!
@lidel, care to join in?
@cytrinox @thisisshi care to join?
@aymanbagabas sorry, i didnt see that you also added the matebook-e label here. Can i still help with this issue?
@aymanbagabas sorry, i didnt see that you also added the matebook-e label here. Can i still help with this issue?
Yes, the Matebook E has the same interface. However, unlike the Matebook X, keyboard keys are not handled through this WMI interface, it uses USBHID instead.
You can see from the files attached that the WMI event handler has the same guid that the Matebook X has 39142400-C6A3-40fa-BADB-8A2652834100
.
MBE WMI mof
[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("MyWMIEventCodeClass used for Query EventCode"), guid("{39142400-C6A3-40fa-BADB-8A2652834100}")]
class MyWMIEventCodeClass {
[key, read] String InstanceName;
[read] Boolean Active;
[WmiDataId(1), read, Description("Get EventCode")] uint32 EVCD;
};
[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("MyWMIDataClass1 used for WMI Argument1"), guid("{49142400-C6A3-40fa-BADB-8A2652834100}")]
class MyWMIARGClass1 {
[key, read] String InstanceName;
[read] Boolean Active;
[WmiDataId(1), read, write, Description("used for passing WMI Argumnts")] uint8 WAG1[256];
};
[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("MyWMIPayloadClass1 used for WMI Payload1"), guid("{4A142400-C6A3-40fa-BADB-8A2652834100}")]
class MyWMIPayloadClass1 {
[key, read] String InstanceName;
[read] Boolean Active;
[WmiDataId(1), read, write, Description("used for passing WMI Payloads")] uint8 WPD1[4096];
};
[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("MyWMIDataClass2 used for WMI Argument2"), guid("{49142401-C6A3-40fa-BADB-8A2652834100}")]
class MyWMIARGClass2 {
[key, read] String InstanceName;
[read] Boolean Active;
[WmiDataId(1), read, write, Description("used for passing WMI Argumnts")] uint8 WAG2[256];
};
[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("MyWMIPayloadClass2 used for WMI Payload2"), guid("{4A142401-C6A3-40fa-BADB-8A2652834100}")]
class MyWMIPayloadClass2 {
[key, read] String InstanceName;
[read] Boolean Active;
[WmiDataId(1), read, write, Description("used for passing WMI Payloads")] uint8 WPD2[4096];
};
[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("MyWMIDataClass3 used for WMI Argument3"), guid("{49142402-C6A3-40fa-BADB-8A2652834100}")]
class MyWMIARGClass3 {
[key, read] String InstanceName;
[read] Boolean Active;
[WmiDataId(1), read, write, Description("used for passing WMI Argumnts")] uint8 WAG3[256];
};
[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("MyWMIPayloadClass3 used for WMI Payload3"), guid("{4A142402-C6A3-40fa-BADB-8A2652834100}")]
class MyWMIPayloadClass3 {
[key, read] String InstanceName;
[read] Boolean Active;
[WmiDataId(1), read, write, Description("used for passing WMI Payloads")] uint8 WPD3[4096];
};
[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("MyWMIDataClass4 used for WMI Argument4"), guid("{49142403-C6A3-40fa-BADB-8A2652834100}")]
class MyWMIARGClass4 {
[key, read] String InstanceName;
[read] Boolean Active;
[WmiDataId(1), read, write, Description("used for passing WMI Argumnts")] uint8 WAG4[256];
};
[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("MyWMIPayloadClass4 used for WMI Payload4"), guid("{4A142403-C6A3-40fa-BADB-8A2652834100}")]
class MyWMIPayloadClass4 {
[key, read] String InstanceName;
[read] Boolean Active;
[WmiDataId(1), read, write, Description("used for passing WMI Payloads")] uint8 WPD4[4096];
};
[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("MyWMIDataClass5 used for WMI Argument5"), guid("{49142404-C6A3-40fa-BADB-8A2652834100}")]
class MyWMIARGClass5 {
[key, read] String InstanceName;
[read] Boolean Active;
[WmiDataId(1), read, write, Description("used for passing WMI Argumnts")] uint8 WAG5[256];
};
[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("MyWMIPayloadClass5 used for WMI Payload5"), guid("{4A142404-C6A3-40fa-BADB-8A2652834100}")]
class MyWMIPayloadClass5 {
[key, read] String InstanceName;
[read] Boolean Active;
[WmiDataId(1), read, write, Description("used for passing WMI Payloads")] uint8 WPD5[4096];
};
[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("MyWMIDataClass6 used for WMI Argument6"), guid("{49142405-C6A3-40fa-BADB-8A2652834100}")]
class MyWMIARGClass6 {
[key, read] String InstanceName;
[read] Boolean Active;
[WmiDataId(1), read, write, Description("used for passing WMI Argumnts")] uint8 WAG6[256];
};
[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("MyWMIPayloadClass6 used for WMI Payload6"), guid("{4A142405-C6A3-40fa-BADB-8A2652834100}")]
class MyWMIPayloadClass6 {
[key, read] String InstanceName;
[read] Boolean Active;
[WmiDataId(1), read, write, Description("used for passing WMI Payloads")] uint8 WPD6[4096];
};
[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("MyWMIDataClass7 used for WMI Argument7"), guid("{49142406-C6A3-40fa-BADB-8A2652834100}")]
class MyWMIARGClass7 {
[key, read] String InstanceName;
[read] Boolean Active;
[WmiDataId(1), read, write, Description("used for passing WMI Argumnts")] uint8 WAG7[256];
};
[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("MyWMIPayloadClass7 used for WMI Payload7"), guid("{4A142406-C6A3-40fa-BADB-8A2652834100}")]
class MyWMIPayloadClass7 {
[key, read] String InstanceName;
[read] Boolean Active;
[WmiDataId(1), read, write, Description("used for passing WMI Payloads")] uint8 WPD7[4096];
};
[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("MyWMIDataClass8 used for WMI Argument8"), guid("{49142407-C6A3-40fa-BADB-8A2652834100}")]
class MyWMIARGClass8 {
[key, read] String InstanceName;
[read] Boolean Active;
[WmiDataId(1), read, write, Description("used for passing WMI Argumnts")] uint8 WAG8[256];
};
[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("MyWMIPayloadClass8 used for WMI Payload8"), guid("{4A142407-C6A3-40fa-BADB-8A2652834100}")]
class MyWMIPayloadClass8 {
[key, read] String InstanceName;
[read] Boolean Active;
[WmiDataId(1), read, write, Description("used for passing WMI Payloads")] uint8 WPD8[4096];
};
[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("MyWMIEventClass used for receiving events"), guid("{59142400-C6A3-40fa-BADB-8A2652834100}")]
class MyWMIEventClass : WMIEvent {
[key, read] String InstanceName;
[read] Boolean Active;
[WmiDataId(1), read, write, Description("used for event")] uint32 Force;
};
[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("MyWMIMethodClass used to call method"), guid("{69142400-C6A3-40fa-BADB-8A2652834100}")]
class MyWMIMethodClass {
[key, read] String InstanceName;
[read] Boolean Active;
[WmiMethodId(1), Implemented, read, write, Description("Execute the WMI Generic Functions")] void MyFn1([in] uint32 Indx);
};
[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("MyWMIInitClass used to call ACPI Method Init"), guid("{79142400-C6A3-40fa-BADB-8A2652834100}")]
class MyWMIInitClass {
[key, read] String InstanceName;
[read] Boolean Active;
[WmiMethodId(1), Implemented, read, write, Description("Execute the Init Method")] void Init([in] uint32 Arg0);
};
[WMI, Dynamic, Provider("WmiProv"), Locale("MS\\0x409"), Description("MyWMIWatchDogClass used to call ACPI Method WDOG"), guid("{89142400-C6A3-40fa-BADB-8A2652834100}")]
class MyWMIWatchDogClass {
[key, read] String InstanceName;
[read] Boolean Active;
[WmiMethodId(1), Implemented, read, write, Description("Execute the WDOG")] void WDOG([in] uint32 Arg0, [out] uint32 REST);
};
MBE WMI decoded mof
Class 0:
Name=MyWMIEventCodeClass
Superclassname=(null)
Classflags=0
Namespace=root\default
Qualifier 0:
Name=WMI
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=Dynamic
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Provider
Tosubclass=FALSE
Type=String
Value=WmiProv
Qualifier 3:
Name=Locale
Tosubclass=FALSE
Type=String
Value=MS\0x409
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=MyWMIEventCodeClass used for Query EventCode
Qualifier 5:
Name=guid
Tosubclass=FALSE
Type=String
Value={39142400-C6A3-40fa-BADB-8A2652834100}
Variable 0:
Name=InstanceName
Type=Basic:String
Qualifier 0:
Name=key
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 1:
Name=Active
Type=Basic:Boolean
Qualifier 0:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 2:
Name=EVCD
Type=Basic:uint32
Qualifier 0:
Name=WmiDataId
Tosubclass=FALSE
Type=Numeric
Value=1
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Description
Tosubclass=FALSE
Type=String
Value=Get EventCode
Class 1:
Name=MyWMIARGClass1
Superclassname=(null)
Classflags=0
Namespace=root\default
Qualifier 0:
Name=WMI
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=Dynamic
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Provider
Tosubclass=FALSE
Type=String
Value=WmiProv
Qualifier 3:
Name=Locale
Tosubclass=FALSE
Type=String
Value=MS\0x409
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=MyWMIDataClass1 used for WMI Argument1
Qualifier 5:
Name=guid
Tosubclass=FALSE
Type=String
Value={49142400-C6A3-40fa-BADB-8A2652834100}
Variable 0:
Name=InstanceName
Type=Basic:String
Qualifier 0:
Name=key
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 1:
Name=Active
Type=Basic:Boolean
Qualifier 0:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 2:
Name=WAG1
Type=Basic:uint8[256]
Qualifier 0:
Name=WmiDataId
Tosubclass=FALSE
Type=Numeric
Value=1
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=write
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 3:
Name=Description
Tosubclass=FALSE
Type=String
Value=used for passing WMI Argumnts
Class 2:
Name=MyWMIPayloadClass1
Superclassname=(null)
Classflags=0
Namespace=root\default
Qualifier 0:
Name=WMI
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=Dynamic
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Provider
Tosubclass=FALSE
Type=String
Value=WmiProv
Qualifier 3:
Name=Locale
Tosubclass=FALSE
Type=String
Value=MS\0x409
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=MyWMIPayloadClass1 used for WMI Payload1
Qualifier 5:
Name=guid
Tosubclass=FALSE
Type=String
Value={4A142400-C6A3-40fa-BADB-8A2652834100}
Variable 0:
Name=InstanceName
Type=Basic:String
Qualifier 0:
Name=key
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 1:
Name=Active
Type=Basic:Boolean
Qualifier 0:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 2:
Name=WPD1
Type=Basic:uint8[4096]
Qualifier 0:
Name=WmiDataId
Tosubclass=FALSE
Type=Numeric
Value=1
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=write
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 3:
Name=Description
Tosubclass=FALSE
Type=String
Value=used for passing WMI Payloads
Class 3:
Name=MyWMIARGClass2
Superclassname=(null)
Classflags=0
Namespace=root\default
Qualifier 0:
Name=WMI
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=Dynamic
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Provider
Tosubclass=FALSE
Type=String
Value=WmiProv
Qualifier 3:
Name=Locale
Tosubclass=FALSE
Type=String
Value=MS\0x409
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=MyWMIDataClass2 used for WMI Argument2
Qualifier 5:
Name=guid
Tosubclass=FALSE
Type=String
Value={49142401-C6A3-40fa-BADB-8A2652834100}
Variable 0:
Name=InstanceName
Type=Basic:String
Qualifier 0:
Name=key
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 1:
Name=Active
Type=Basic:Boolean
Qualifier 0:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 2:
Name=WAG2
Type=Basic:uint8[256]
Qualifier 0:
Name=WmiDataId
Tosubclass=FALSE
Type=Numeric
Value=1
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=write
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 3:
Name=Description
Tosubclass=FALSE
Type=String
Value=used for passing WMI Argumnts
Class 4:
Name=MyWMIPayloadClass2
Superclassname=(null)
Classflags=0
Namespace=root\default
Qualifier 0:
Name=WMI
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=Dynamic
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Provider
Tosubclass=FALSE
Type=String
Value=WmiProv
Qualifier 3:
Name=Locale
Tosubclass=FALSE
Type=String
Value=MS\0x409
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=MyWMIPayloadClass2 used for WMI Payload2
Qualifier 5:
Name=guid
Tosubclass=FALSE
Type=String
Value={4A142401-C6A3-40fa-BADB-8A2652834100}
Variable 0:
Name=InstanceName
Type=Basic:String
Qualifier 0:
Name=key
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 1:
Name=Active
Type=Basic:Boolean
Qualifier 0:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 2:
Name=WPD2
Type=Basic:uint8[4096]
Qualifier 0:
Name=WmiDataId
Tosubclass=FALSE
Type=Numeric
Value=1
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=write
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 3:
Name=Description
Tosubclass=FALSE
Type=String
Value=used for passing WMI Payloads
Class 5:
Name=MyWMIARGClass3
Superclassname=(null)
Classflags=0
Namespace=root\default
Qualifier 0:
Name=WMI
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=Dynamic
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Provider
Tosubclass=FALSE
Type=String
Value=WmiProv
Qualifier 3:
Name=Locale
Tosubclass=FALSE
Type=String
Value=MS\0x409
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=MyWMIDataClass3 used for WMI Argument3
Qualifier 5:
Name=guid
Tosubclass=FALSE
Type=String
Value={49142402-C6A3-40fa-BADB-8A2652834100}
Variable 0:
Name=InstanceName
Type=Basic:String
Qualifier 0:
Name=key
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 1:
Name=Active
Type=Basic:Boolean
Qualifier 0:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 2:
Name=WAG3
Type=Basic:uint8[256]
Qualifier 0:
Name=WmiDataId
Tosubclass=FALSE
Type=Numeric
Value=1
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=write
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 3:
Name=Description
Tosubclass=FALSE
Type=String
Value=used for passing WMI Argumnts
Class 6:
Name=MyWMIPayloadClass3
Superclassname=(null)
Classflags=0
Namespace=root\default
Qualifier 0:
Name=WMI
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=Dynamic
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Provider
Tosubclass=FALSE
Type=String
Value=WmiProv
Qualifier 3:
Name=Locale
Tosubclass=FALSE
Type=String
Value=MS\0x409
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=MyWMIPayloadClass3 used for WMI Payload3
Qualifier 5:
Name=guid
Tosubclass=FALSE
Type=String
Value={4A142402-C6A3-40fa-BADB-8A2652834100}
Variable 0:
Name=InstanceName
Type=Basic:String
Qualifier 0:
Name=key
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 1:
Name=Active
Type=Basic:Boolean
Qualifier 0:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 2:
Name=WPD3
Type=Basic:uint8[4096]
Qualifier 0:
Name=WmiDataId
Tosubclass=FALSE
Type=Numeric
Value=1
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=write
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 3:
Name=Description
Tosubclass=FALSE
Type=String
Value=used for passing WMI Payloads
Class 7:
Name=MyWMIARGClass4
Superclassname=(null)
Classflags=0
Namespace=root\default
Qualifier 0:
Name=WMI
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=Dynamic
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Provider
Tosubclass=FALSE
Type=String
Value=WmiProv
Qualifier 3:
Name=Locale
Tosubclass=FALSE
Type=String
Value=MS\0x409
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=MyWMIDataClass4 used for WMI Argument4
Qualifier 5:
Name=guid
Tosubclass=FALSE
Type=String
Value={49142403-C6A3-40fa-BADB-8A2652834100}
Variable 0:
Name=InstanceName
Type=Basic:String
Qualifier 0:
Name=key
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 1:
Name=Active
Type=Basic:Boolean
Qualifier 0:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 2:
Name=WAG4
Type=Basic:uint8[256]
Qualifier 0:
Name=WmiDataId
Tosubclass=FALSE
Type=Numeric
Value=1
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=write
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 3:
Name=Description
Tosubclass=FALSE
Type=String
Value=used for passing WMI Argumnts
Class 8:
Name=MyWMIPayloadClass4
Superclassname=(null)
Classflags=0
Namespace=root\default
Qualifier 0:
Name=WMI
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=Dynamic
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Provider
Tosubclass=FALSE
Type=String
Value=WmiProv
Qualifier 3:
Name=Locale
Tosubclass=FALSE
Type=String
Value=MS\0x409
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=MyWMIPayloadClass4 used for WMI Payload4
Qualifier 5:
Name=guid
Tosubclass=FALSE
Type=String
Value={4A142403-C6A3-40fa-BADB-8A2652834100}
Variable 0:
Name=InstanceName
Type=Basic:String
Qualifier 0:
Name=key
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 1:
Name=Active
Type=Basic:Boolean
Qualifier 0:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 2:
Name=WPD4
Type=Basic:uint8[4096]
Qualifier 0:
Name=WmiDataId
Tosubclass=FALSE
Type=Numeric
Value=1
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=write
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 3:
Name=Description
Tosubclass=FALSE
Type=String
Value=used for passing WMI Payloads
Class 9:
Name=MyWMIARGClass5
Superclassname=(null)
Classflags=0
Namespace=root\default
Qualifier 0:
Name=WMI
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=Dynamic
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Provider
Tosubclass=FALSE
Type=String
Value=WmiProv
Qualifier 3:
Name=Locale
Tosubclass=FALSE
Type=String
Value=MS\0x409
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=MyWMIDataClass5 used for WMI Argument5
Qualifier 5:
Name=guid
Tosubclass=FALSE
Type=String
Value={49142404-C6A3-40fa-BADB-8A2652834100}
Variable 0:
Name=InstanceName
Type=Basic:String
Qualifier 0:
Name=key
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 1:
Name=Active
Type=Basic:Boolean
Qualifier 0:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 2:
Name=WAG5
Type=Basic:uint8[256]
Qualifier 0:
Name=WmiDataId
Tosubclass=FALSE
Type=Numeric
Value=1
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=write
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 3:
Name=Description
Tosubclass=FALSE
Type=String
Value=used for passing WMI Argumnts
Class 10:
Name=MyWMIPayloadClass5
Superclassname=(null)
Classflags=0
Namespace=root\default
Qualifier 0:
Name=WMI
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=Dynamic
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Provider
Tosubclass=FALSE
Type=String
Value=WmiProv
Qualifier 3:
Name=Locale
Tosubclass=FALSE
Type=String
Value=MS\0x409
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=MyWMIPayloadClass5 used for WMI Payload5
Qualifier 5:
Name=guid
Tosubclass=FALSE
Type=String
Value={4A142404-C6A3-40fa-BADB-8A2652834100}
Variable 0:
Name=InstanceName
Type=Basic:String
Qualifier 0:
Name=key
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 1:
Name=Active
Type=Basic:Boolean
Qualifier 0:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 2:
Name=WPD5
Type=Basic:uint8[4096]
Qualifier 0:
Name=WmiDataId
Tosubclass=FALSE
Type=Numeric
Value=1
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=write
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 3:
Name=Description
Tosubclass=FALSE
Type=String
Value=used for passing WMI Payloads
Class 11:
Name=MyWMIARGClass6
Superclassname=(null)
Classflags=0
Namespace=root\default
Qualifier 0:
Name=WMI
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=Dynamic
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Provider
Tosubclass=FALSE
Type=String
Value=WmiProv
Qualifier 3:
Name=Locale
Tosubclass=FALSE
Type=String
Value=MS\0x409
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=MyWMIDataClass6 used for WMI Argument6
Qualifier 5:
Name=guid
Tosubclass=FALSE
Type=String
Value={49142405-C6A3-40fa-BADB-8A2652834100}
Variable 0:
Name=InstanceName
Type=Basic:String
Qualifier 0:
Name=key
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 1:
Name=Active
Type=Basic:Boolean
Qualifier 0:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 2:
Name=WAG6
Type=Basic:uint8[256]
Qualifier 0:
Name=WmiDataId
Tosubclass=FALSE
Type=Numeric
Value=1
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=write
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 3:
Name=Description
Tosubclass=FALSE
Type=String
Value=used for passing WMI Argumnts
Class 12:
Name=MyWMIPayloadClass6
Superclassname=(null)
Classflags=0
Namespace=root\default
Qualifier 0:
Name=WMI
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=Dynamic
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Provider
Tosubclass=FALSE
Type=String
Value=WmiProv
Qualifier 3:
Name=Locale
Tosubclass=FALSE
Type=String
Value=MS\0x409
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=MyWMIPayloadClass6 used for WMI Payload6
Qualifier 5:
Name=guid
Tosubclass=FALSE
Type=String
Value={4A142405-C6A3-40fa-BADB-8A2652834100}
Variable 0:
Name=InstanceName
Type=Basic:String
Qualifier 0:
Name=key
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 1:
Name=Active
Type=Basic:Boolean
Qualifier 0:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 2:
Name=WPD6
Type=Basic:uint8[4096]
Qualifier 0:
Name=WmiDataId
Tosubclass=FALSE
Type=Numeric
Value=1
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=write
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 3:
Name=Description
Tosubclass=FALSE
Type=String
Value=used for passing WMI Payloads
Class 13:
Name=MyWMIARGClass7
Superclassname=(null)
Classflags=0
Namespace=root\default
Qualifier 0:
Name=WMI
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=Dynamic
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Provider
Tosubclass=FALSE
Type=String
Value=WmiProv
Qualifier 3:
Name=Locale
Tosubclass=FALSE
Type=String
Value=MS\0x409
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=MyWMIDataClass7 used for WMI Argument7
Qualifier 5:
Name=guid
Tosubclass=FALSE
Type=String
Value={49142406-C6A3-40fa-BADB-8A2652834100}
Variable 0:
Name=InstanceName
Type=Basic:String
Qualifier 0:
Name=key
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 1:
Name=Active
Type=Basic:Boolean
Qualifier 0:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 2:
Name=WAG7
Type=Basic:uint8[256]
Qualifier 0:
Name=WmiDataId
Tosubclass=FALSE
Type=Numeric
Value=1
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=write
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 3:
Name=Description
Tosubclass=FALSE
Type=String
Value=used for passing WMI Argumnts
Class 14:
Name=MyWMIPayloadClass7
Superclassname=(null)
Classflags=0
Namespace=root\default
Qualifier 0:
Name=WMI
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=Dynamic
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Provider
Tosubclass=FALSE
Type=String
Value=WmiProv
Qualifier 3:
Name=Locale
Tosubclass=FALSE
Type=String
Value=MS\0x409
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=MyWMIPayloadClass7 used for WMI Payload7
Qualifier 5:
Name=guid
Tosubclass=FALSE
Type=String
Value={4A142406-C6A3-40fa-BADB-8A2652834100}
Variable 0:
Name=InstanceName
Type=Basic:String
Qualifier 0:
Name=key
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 1:
Name=Active
Type=Basic:Boolean
Qualifier 0:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 2:
Name=WPD7
Type=Basic:uint8[4096]
Qualifier 0:
Name=WmiDataId
Tosubclass=FALSE
Type=Numeric
Value=1
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=write
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 3:
Name=Description
Tosubclass=FALSE
Type=String
Value=used for passing WMI Payloads
Class 15:
Name=MyWMIARGClass8
Superclassname=(null)
Classflags=0
Namespace=root\default
Qualifier 0:
Name=WMI
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=Dynamic
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Provider
Tosubclass=FALSE
Type=String
Value=WmiProv
Qualifier 3:
Name=Locale
Tosubclass=FALSE
Type=String
Value=MS\0x409
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=MyWMIDataClass8 used for WMI Argument8
Qualifier 5:
Name=guid
Tosubclass=FALSE
Type=String
Value={49142407-C6A3-40fa-BADB-8A2652834100}
Variable 0:
Name=InstanceName
Type=Basic:String
Qualifier 0:
Name=key
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 1:
Name=Active
Type=Basic:Boolean
Qualifier 0:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 2:
Name=WAG8
Type=Basic:uint8[256]
Qualifier 0:
Name=WmiDataId
Tosubclass=FALSE
Type=Numeric
Value=1
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=write
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 3:
Name=Description
Tosubclass=FALSE
Type=String
Value=used for passing WMI Argumnts
Class 16:
Name=MyWMIPayloadClass8
Superclassname=(null)
Classflags=0
Namespace=root\default
Qualifier 0:
Name=WMI
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=Dynamic
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Provider
Tosubclass=FALSE
Type=String
Value=WmiProv
Qualifier 3:
Name=Locale
Tosubclass=FALSE
Type=String
Value=MS\0x409
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=MyWMIPayloadClass8 used for WMI Payload8
Qualifier 5:
Name=guid
Tosubclass=FALSE
Type=String
Value={4A142407-C6A3-40fa-BADB-8A2652834100}
Variable 0:
Name=InstanceName
Type=Basic:String
Qualifier 0:
Name=key
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 1:
Name=Active
Type=Basic:Boolean
Qualifier 0:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 2:
Name=WPD8
Type=Basic:uint8[4096]
Qualifier 0:
Name=WmiDataId
Tosubclass=FALSE
Type=Numeric
Value=1
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=write
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 3:
Name=Description
Tosubclass=FALSE
Type=String
Value=used for passing WMI Payloads
Class 17:
Name=MyWMIEventClass
Superclassname=WMIEvent
Classflags=0
Namespace=root\default
Qualifier 0:
Name=WMI
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=Dynamic
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Provider
Tosubclass=FALSE
Type=String
Value=WmiProv
Qualifier 3:
Name=Locale
Tosubclass=FALSE
Type=String
Value=MS\0x409
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=MyWMIEventClass used for receiving events
Qualifier 5:
Name=guid
Tosubclass=FALSE
Type=String
Value={59142400-C6A3-40fa-BADB-8A2652834100}
Variable 0:
Name=InstanceName
Type=Basic:String
Qualifier 0:
Name=key
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 1:
Name=Active
Type=Basic:Boolean
Qualifier 0:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 2:
Name=Force
Type=Basic:uint32
Qualifier 0:
Name=WmiDataId
Tosubclass=FALSE
Type=Numeric
Value=1
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=write
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 3:
Name=Description
Tosubclass=FALSE
Type=String
Value=used for event
Class 18:
Name=MyWMIMethodClass
Superclassname=(null)
Classflags=0
Namespace=root\default
Qualifier 0:
Name=WMI
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=Dynamic
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Provider
Tosubclass=FALSE
Type=String
Value=WmiProv
Qualifier 3:
Name=Locale
Tosubclass=FALSE
Type=String
Value=MS\0x409
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=MyWMIMethodClass used to call method
Qualifier 5:
Name=guid
Tosubclass=FALSE
Type=String
Value={69142400-C6A3-40fa-BADB-8A2652834100}
Variable 0:
Name=InstanceName
Type=Basic:String
Qualifier 0:
Name=key
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 1:
Name=Active
Type=Basic:Boolean
Qualifier 0:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Method 0:
Name=MyFn1
Qualifier 0:
Name=WmiMethodId
Tosubclass=FALSE
Type=Numeric
Value=1
Qualifier 1:
Name=Implemented
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 3:
Name=write
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=Execute the WMI Generic Functions
Return value:
Type=Void
Parameter 0:
Direction=in
Name=Indx
Type=Basic:uint32
Class 19:
Name=MyWMIInitClass
Superclassname=(null)
Classflags=0
Namespace=root\default
Qualifier 0:
Name=WMI
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=Dynamic
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Provider
Tosubclass=FALSE
Type=String
Value=WmiProv
Qualifier 3:
Name=Locale
Tosubclass=FALSE
Type=String
Value=MS\0x409
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=MyWMIInitClass used to call ACPI Method Init
Qualifier 5:
Name=guid
Tosubclass=FALSE
Type=String
Value={79142400-C6A3-40fa-BADB-8A2652834100}
Variable 0:
Name=InstanceName
Type=Basic:String
Qualifier 0:
Name=key
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 1:
Name=Active
Type=Basic:Boolean
Qualifier 0:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Method 0:
Name=Init
Qualifier 0:
Name=WmiMethodId
Tosubclass=FALSE
Type=Numeric
Value=1
Qualifier 1:
Name=Implemented
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 3:
Name=write
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=Execute the Init Method
Return value:
Type=Void
Parameter 0:
Direction=in
Name=Arg0
Type=Basic:uint32
Class 20:
Name=MyWMIWatchDogClass
Superclassname=(null)
Classflags=0
Namespace=root\default
Qualifier 0:
Name=WMI
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=Dynamic
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=Provider
Tosubclass=FALSE
Type=String
Value=WmiProv
Qualifier 3:
Name=Locale
Tosubclass=FALSE
Type=String
Value=MS\0x409
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=MyWMIWatchDogClass used to call ACPI Method WDOG
Qualifier 5:
Name=guid
Tosubclass=FALSE
Type=String
Value={89142400-C6A3-40fa-BADB-8A2652834100}
Variable 0:
Name=InstanceName
Type=Basic:String
Qualifier 0:
Name=key
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 1:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Variable 1:
Name=Active
Type=Basic:Boolean
Qualifier 0:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Method 0:
Name=WDOG
Qualifier 0:
Name=WmiMethodId
Tosubclass=FALSE
Type=Numeric
Value=1
Qualifier 1:
Name=Implemented
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 2:
Name=read
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 3:
Name=write
Tosubclass=FALSE
Type=Boolean
Value=TRUE
Qualifier 4:
Name=Description
Tosubclass=FALSE
Type=String
Value=Execute the WDOG
Return value:
Type=Void
Parameter 0:
Direction=in
Name=Arg0
Type=Basic:uint32
Parameter 1:
Direction=out
Name=REST
Type=Basic:uint32