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

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

[复制链接]
发表于 2009-1-19 13:45:27 | 显示全部楼层 |阅读模式
Dear bini大師,
* V1 _" w6 p( ]            大師您好~~0 m7 G4 c+ @1 b1 q4 J
            最近發現可以不用寫WDM Driver就可以執行或存取ACPI的方式,8 K! c. H4 D# {0 n# w) \! r, W, X/ I8 D2 I
            ACPI-WMI。9 |5 t0 D6 Z& x
1 s  q4 r2 u4 o- _5 M. k; c- y
            花了很多時間的survey跟尋找,發現了您的topwmirw.dll,並且可以
/ P8 E  e: v/ _5 b                正確運作。原來您己經早在幾年前實作了這個部分,非常地佩服。+ b6 Q3 f/ C7 N9 u% \

0 u% n! ^$ n; y                想要自己實作一遍Read/Write的Function,於是自己也動手寫。
+ W/ A) D6 x2 K' l$ l1 U( D: ?                Query Data (會call ACPI的WQxx method)的部分看來是沒有問題的。
" j/ Y3 l  {0 h* h( d: P4 S2 p; b
  I3 h* u: ^( m; f( }0 D$ l                可是寫了Set Data (call ACPI的WSxx method) 的部分卻是一直不能正確運作。
' K: I' y8 ^3 n5 T& p3 \# h                (IWbemClassObject:: Put回傳值卻都是NO_ERROR)
; h# [6 W; H2 ?" F# o# v8 S0 G ; O: ]  @6 V+ s
                非常地困擾,請問大師可以指點一下我的源碼中的問題嗎?
3 g  a7 l9 i4 p                非常感激您的指導。% }7 |) ]% @* r$ ?/ o
                謝謝。, O" S# [9 s) I8 u( V+ i
7 {5 b- L- G% u
...
, y# A( o0 r3 `+ g3 j0 i源碼於附件中

mycode.rar

942 Bytes, 下载次数: 627

发表于 2009-1-20 10:14:00 | 显示全部楼层
你的代码看起来没有问题,请你确认一下:1 e- @9 L6 k7 `: M
1、BIOS WS方法是否是正常(ASL Code 中GUID&申明方法明细)。
6 i+ X# v# q4 p+ y4 t  @) V. i2、VB Script的_put方法访问是否正常。- [  ~& T: p8 `  ^% ^4 W
3、用我的DLL是否可以。
回复

使用道具 举报

发表于 2009-7-30 15:23:52 | 显示全部楼层
我在做这一块的时候也碰到和楼主一样的问题:
# @+ T* C% l0 ~/ f) ?1 f* ?4 `$ d. t  用Query Data的时候可以进到 WQxx method, 且可以读出正确的数,1 \$ J( M* o+ O9 x! U; |  d
  但是在用IWbemClassObject:: Put写数据的时候,系统却跑不进WSxx method,不知道是什么原因。
9 q5 V9 O* N. C$ {: K7 y& _4 @- I6 z7 H) Y
但是,我用BINI大哥的topwmirw.dll就可以实现正常的读写,
2 U( M! u, t5 s- ^希望BINI大哥能否将写数据的这一部分源码公开一下,帮小弟解决问题,同时也帮后来做的兄弟提供一些借鉴。
回复

使用道具 举报

发表于 2009-7-31 15:36:23 | 显示全部楼层
问题已经解决了,还是对WMI不熟悉导致的.
7 d# D5 y# k. F; m2 P! f  iIWbemClassObject:: Put写数据之后,记得用IWbemServices:utInstance更新到WMI repository中就OK了.
回复

使用道具 举报

发表于 2012-2-2 16:10:15 | 显示全部楼层
原帖由 Morgen 于 2009-7-31 15:36 发表
' e5 t7 B6 j' E5 R( {问题已经解决了,还是对WMI不熟悉导致的.
3 j9 n5 T. n+ H# Y) {( l8 \IWbemClassObject:: Put写数据之后,记得用IWbemServices:utInstance更新到WMI repository中就OK了.

! F* C* o7 c# g- P" f6 ?' i3 l0 d我现在也遇到这种情况,加上PutInstance之后还是不会call到WSxx里,不知道怎么回事
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-3-4 21:11 , Processed in 0.066781 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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