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

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

[复制链接]
发表于 2009-1-19 13:45:27 | 显示全部楼层 |阅读模式
Dear bini大師,
# A# f7 e- ~( z3 [# ~% j  d            大師您好~~2 r' K* i% Z5 @7 c& I
            最近發現可以不用寫WDM Driver就可以執行或存取ACPI的方式,
1 k& Z) V2 W) H; B6 j8 }; s            ACPI-WMI。! h) S0 `0 J; v8 m/ C4 }3 I
& `7 L- y: q% g* @9 e+ E9 r
            花了很多時間的survey跟尋找,發現了您的topwmirw.dll,並且可以9 V$ e% e) H/ ^2 Q+ D+ T
                正確運作。原來您己經早在幾年前實作了這個部分,非常地佩服。9 F3 l7 O$ P9 j+ [3 K" b

; I* [* v* L9 A* a/ U" ?                想要自己實作一遍Read/Write的Function,於是自己也動手寫。
( J6 t$ ~  g* S1 \3 W1 O6 ?% X                Query Data (會call ACPI的WQxx method)的部分看來是沒有問題的。
' l" P7 E" l3 k/ L' u) _
& d. c6 u& o. X                可是寫了Set Data (call ACPI的WSxx method) 的部分卻是一直不能正確運作。0 f9 N8 e1 k4 ~  f& w9 ?
                (IWbemClassObject:: Put回傳值卻都是NO_ERROR)
4 A- R6 D9 S2 s& j5 Y; J; L * B' x5 f: b0 \6 R1 w, M# w! e- M
                非常地困擾,請問大師可以指點一下我的源碼中的問題嗎?
  R* w. `- B2 e' d/ r                非常感激您的指導。( q8 x/ _0 l+ ^% B: f
                謝謝。/ i* G  @1 H' B. h
+ m& H* \7 t& m
...
% ^. t* k; z0 D* I+ n! e9 s! `8 e源碼於附件中

mycode.rar

942 Bytes, 下载次数: 730

发表于 2009-1-20 10:14:00 | 显示全部楼层
你的代码看起来没有问题,请你确认一下:
) G) L% s1 k4 f1 x6 T7 Q1、BIOS WS方法是否是正常(ASL Code 中GUID&申明方法明细)。+ A, z' U9 s9 x& P
2、VB Script的_put方法访问是否正常。/ G1 e( j& J. b& K, G' h
3、用我的DLL是否可以。
回复

使用道具 举报

发表于 2009-7-30 15:23:52 | 显示全部楼层
我在做这一块的时候也碰到和楼主一样的问题:
8 W  F/ K: S% R5 z6 R% @  用Query Data的时候可以进到 WQxx method, 且可以读出正确的数,
2 s1 b# ^7 ~" W  但是在用IWbemClassObject:: Put写数据的时候,系统却跑不进WSxx method,不知道是什么原因。
' s  C$ @! t( M3 _9 b, k  E3 W' Q( M8 ~7 ]+ k4 N
但是,我用BINI大哥的topwmirw.dll就可以实现正常的读写,1 r  n/ u: A- `& g# D5 I
希望BINI大哥能否将写数据的这一部分源码公开一下,帮小弟解决问题,同时也帮后来做的兄弟提供一些借鉴。
回复

使用道具 举报

发表于 2009-7-31 15:36:23 | 显示全部楼层
问题已经解决了,还是对WMI不熟悉导致的.
  ^: o" h# ^9 A' p4 g# e( QIWbemClassObject:: Put写数据之后,记得用IWbemServices:utInstance更新到WMI repository中就OK了.
回复

使用道具 举报

发表于 2012-2-2 16:10:15 | 显示全部楼层
原帖由 Morgen 于 2009-7-31 15:36 发表 / C# E) n- ~' z9 W, O. k3 P4 x* @
问题已经解决了,还是对WMI不熟悉导致的.$ q3 R+ s7 C4 u9 h. ]9 L3 ^
IWbemClassObject:: Put写数据之后,记得用IWbemServices:utInstance更新到WMI repository中就OK了.

$ `0 |- q4 c! y+ z( ^8 x我现在也遇到这种情况,加上PutInstance之后还是不会call到WSxx里,不知道怎么回事
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-5 00:30 , Processed in 0.027825 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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