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

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

[复制链接]
发表于 2009-1-19 13:45:27 | 显示全部楼层 |阅读模式
Dear bini大師,- f' J6 A8 k0 J
            大師您好~~; q7 R( G3 K/ v+ \+ }* b1 Q# Q
            最近發現可以不用寫WDM Driver就可以執行或存取ACPI的方式,. |6 d0 q! ]3 h  b% \/ l/ }; ]
            ACPI-WMI。2 m7 G+ u  n/ {, ?6 ^3 s5 j
, L2 \: M( c% I* h. W. Y6 A' }6 D+ Z8 n% F
            花了很多時間的survey跟尋找,發現了您的topwmirw.dll,並且可以
+ ~3 g4 `1 n3 T6 X- H  L% T                正確運作。原來您己經早在幾年前實作了這個部分,非常地佩服。
  Q3 O' l  H3 |3 c+ e ! t. L" N1 [: v( G3 c& y
                想要自己實作一遍Read/Write的Function,於是自己也動手寫。
5 T2 m' X1 i- V: M; U                Query Data (會call ACPI的WQxx method)的部分看來是沒有問題的。
; @$ ?- ?3 {' q
2 s: {) M- ~% v  q5 u& V8 d) r( `! K                可是寫了Set Data (call ACPI的WSxx method) 的部分卻是一直不能正確運作。' R" {4 p0 E2 {& g+ m. u! G
                (IWbemClassObject:: Put回傳值卻都是NO_ERROR)$ v, _3 I! f( T" ^9 o" z
2 r$ k# x- a9 [0 U0 B9 V
                非常地困擾,請問大師可以指點一下我的源碼中的問題嗎?
3 e& C$ s. \% K- o! B                非常感激您的指導。& e: M  _9 V% P9 y$ i1 u% s% R
                謝謝。
" d2 E0 x4 I. j ! G, V; ]+ i: m8 M
...
, z0 I3 H6 g2 F; e源碼於附件中

mycode.rar

942 Bytes, 下载次数: 1361

发表于 2009-1-20 10:14:00 | 显示全部楼层
你的代码看起来没有问题,请你确认一下:! a$ O) h9 V1 W; D5 o& ?3 h
1、BIOS WS方法是否是正常(ASL Code 中GUID&申明方法明细)。. ], `9 i( R9 h3 h* s
2、VB Script的_put方法访问是否正常。; X9 a0 `' [+ H  {' t: g. x- i+ B
3、用我的DLL是否可以。
回复

使用道具 举报

发表于 2009-7-30 15:23:52 | 显示全部楼层
我在做这一块的时候也碰到和楼主一样的问题:' g! |5 G! P- {: t
  用Query Data的时候可以进到 WQxx method, 且可以读出正确的数,
- w3 ^+ \* Y, I  但是在用IWbemClassObject:: Put写数据的时候,系统却跑不进WSxx method,不知道是什么原因。6 ^& z5 v3 U, C0 e& P5 {

+ a& {$ f4 G( r) x: }但是,我用BINI大哥的topwmirw.dll就可以实现正常的读写,
" f2 W* g& T$ l. _. y3 l0 p- U8 i希望BINI大哥能否将写数据的这一部分源码公开一下,帮小弟解决问题,同时也帮后来做的兄弟提供一些借鉴。
回复

使用道具 举报

发表于 2009-7-31 15:36:23 | 显示全部楼层
问题已经解决了,还是对WMI不熟悉导致的.' J$ M; n( E8 ~. Y4 s1 X/ F
IWbemClassObject:: Put写数据之后,记得用IWbemServices:utInstance更新到WMI repository中就OK了.
回复

使用道具 举报

发表于 2012-2-2 16:10:15 | 显示全部楼层
原帖由 Morgen 于 2009-7-31 15:36 发表 - l/ c2 ]! `0 v3 I3 R& k/ s1 }
问题已经解决了,还是对WMI不熟悉导致的.
* {3 {/ A; R1 kIWbemClassObject:: Put写数据之后,记得用IWbemServices:utInstance更新到WMI repository中就OK了.
7 W$ C2 Y2 A& X. U6 i
我现在也遇到这种情况,加上PutInstance之后还是不会call到WSxx里,不知道怎么回事
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-20 05:43 , Processed in 0.047518 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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