marlborok 发表于 2009-1-19 13:45:27

請教Bini有關於ACPI-WMI的問題

Dear bini大師,
            大師您好~~
            最近發現可以不用寫WDM Driver就可以執行或存取ACPI的方式,
            ACPI-WMI。

            花了很多時間的survey跟尋找,發現了您的topwmirw.dll,並且可以
                正確運作。原來您己經早在幾年前實作了這個部分,非常地佩服。

                想要自己實作一遍Read/Write的Function,於是自己也動手寫。
                Query Data (會call ACPI的WQxx method)的部分看來是沒有問題的。

                可是寫了Set Data (call ACPI的WSxx method) 的部分卻是一直不能正確運作。
                (IWbemClassObject:: Put回傳值卻都是NO_ERROR)

                非常地困擾,請問大師可以指點一下我的源碼中的問題嗎?
                非常感激您的指導。
                謝謝。

...
源碼於附件中

bini 发表于 2009-1-20 10:14:00

你的代码看起来没有问题,请你确认一下:
1、BIOS WS方法是否是正常(ASL Code 中GUID&申明方法明细)。
2、VB Script的_put方法访问是否正常。
3、用我的DLL是否可以。

Morgen 发表于 2009-7-30 15:23:52

我在做这一块的时候也碰到和楼主一样的问题:
用Query Data的时候可以进到 WQxx method, 且可以读出正确的数,
但是在用IWbemClassObject:: Put写数据的时候,系统却跑不进WSxx method,不知道是什么原因。

但是,我用BINI大哥的topwmirw.dll就可以实现正常的读写,
希望BINI大哥能否将写数据的这一部分源码公开一下,帮小弟解决问题,同时也帮后来做的兄弟提供一些借鉴。

Morgen 发表于 2009-7-31 15:36:23

问题已经解决了,还是对WMI不熟悉导致的.
IWbemClassObject:: Put写数据之后,记得用IWbemServices::PutInstance更新到WMI repository中就OK了.

Sword 发表于 2012-2-2 16:10:15

原帖由 Morgen 于 2009-7-31 15:36 发表 http://www.ufoit.com/images/common/back.gif
问题已经解决了,还是对WMI不熟悉导致的.
IWbemClassObject:: Put写数据之后,记得用IWbemServices::PutInstance更新到WMI repository中就OK了.
我现在也遇到这种情况,加上PutInstance之后还是不会call到WSxx里,不知道怎么回事
页: [1]
查看完整版本: 請教Bini有關於ACPI-WMI的問題