找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 15501|回复: 4

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

[复制链接]
发表于 2009-1-19 13:45:27 | 显示全部楼层 |阅读模式
Dear bini大師,, R7 c9 c- @& w( {( e
            大師您好~~
' p# e4 o% c8 f) U% c+ @  f            最近發現可以不用寫WDM Driver就可以執行或存取ACPI的方式,# U& v, C! V' z
            ACPI-WMI。' u2 h0 L' }+ ]# g: |2 {, @
$ O9 M+ w6 v/ P- y$ W
            花了很多時間的survey跟尋找,發現了您的topwmirw.dll,並且可以5 E8 C7 g. D( c1 M0 w! c( r6 ?, @
                正確運作。原來您己經早在幾年前實作了這個部分,非常地佩服。
0 z2 Z$ G: W2 W  e: Y7 ~
* j4 g" k  ?2 E: i! L" I                想要自己實作一遍Read/Write的Function,於是自己也動手寫。5 @5 Y( s7 x! j! }# Q9 g0 L; |! ]
                Query Data (會call ACPI的WQxx method)的部分看來是沒有問題的。
& D1 I. ~8 M5 O9 Q0 w
. [/ [6 n  y! c& h3 p* e' C* l                可是寫了Set Data (call ACPI的WSxx method) 的部分卻是一直不能正確運作。( H% p# f* H- f! a/ b& ?1 N9 d. N
                (IWbemClassObject:: Put回傳值卻都是NO_ERROR)
  `! f2 X" x2 l9 V& H4 l% ^6 m/ _
3 e. H- o; G4 R$ Q' r% V# V  N6 [                非常地困擾,請問大師可以指點一下我的源碼中的問題嗎?
, \7 k, {, ^/ ~* ~0 o& o                非常感激您的指導。
3 I* w) h" t5 K4 H0 c5 w) C* ~4 ?                謝謝。, h2 `: k' n# R* |
' F, y! U# i7 J9 r& Z8 o4 e+ f& Y+ h: P1 g1 ]
...6 ?. v0 E2 J7 N9 K" v" |+ F
源碼於附件中

mycode.rar

942 Bytes, 下载次数: 873

发表于 2009-1-20 10:14:00 | 显示全部楼层
你的代码看起来没有问题,请你确认一下:" `2 A) e/ {  \; t3 ?; F
1、BIOS WS方法是否是正常(ASL Code 中GUID&申明方法明细)。0 J) B8 S0 S! ?6 C, C/ S, A
2、VB Script的_put方法访问是否正常。
! G3 {* W; Y1 X$ P, C, K/ t3、用我的DLL是否可以。
回复

使用道具 举报

发表于 2009-7-30 15:23:52 | 显示全部楼层
我在做这一块的时候也碰到和楼主一样的问题:9 W6 D+ h4 [4 Y
  用Query Data的时候可以进到 WQxx method, 且可以读出正确的数,+ v4 ~2 O/ d/ B1 t1 N7 I
  但是在用IWbemClassObject:: Put写数据的时候,系统却跑不进WSxx method,不知道是什么原因。, w9 U9 X( n2 U

$ {7 n. Z$ b$ i* ]! d但是,我用BINI大哥的topwmirw.dll就可以实现正常的读写,
6 x+ B8 A' h$ ^! f0 B希望BINI大哥能否将写数据的这一部分源码公开一下,帮小弟解决问题,同时也帮后来做的兄弟提供一些借鉴。
回复

使用道具 举报

发表于 2009-7-31 15:36:23 | 显示全部楼层
问题已经解决了,还是对WMI不熟悉导致的.' }# u5 V# ]! B, e# t/ U, q
IWbemClassObject:: Put写数据之后,记得用IWbemServices:utInstance更新到WMI repository中就OK了.
回复

使用道具 举报

发表于 2012-2-2 16:10:15 | 显示全部楼层
原帖由 Morgen 于 2009-7-31 15:36 发表
8 r" H+ W4 ^" y4 K+ g' ]- h8 S问题已经解决了,还是对WMI不熟悉导致的.. @) o3 C4 f! B0 U" L8 a( s
IWbemClassObject:: Put写数据之后,记得用IWbemServices:utInstance更新到WMI repository中就OK了.
' O/ z9 D9 L; j" |: L5 M' d
我现在也遇到这种情况,加上PutInstance之后还是不会call到WSxx里,不知道怎么回事
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2025-12-1 01:40 , Processed in 3.009540 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表