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

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

[复制链接]
发表于 2009-1-19 13:45:27 | 显示全部楼层 |阅读模式
Dear bini大師,
3 O4 z& }' b/ r* j            大師您好~~7 t' [0 o( t, F) ]6 i9 x
            最近發現可以不用寫WDM Driver就可以執行或存取ACPI的方式,7 q- _( m/ c. L( F% R* O+ r
            ACPI-WMI。: C' o( |/ h5 ^. z
. L3 p* z! _0 E& {( p" I: v
            花了很多時間的survey跟尋找,發現了您的topwmirw.dll,並且可以- D4 k3 L* e2 F1 D3 r) T
                正確運作。原來您己經早在幾年前實作了這個部分,非常地佩服。
3 {& @2 a! l; o& F' ^ 1 M9 ^6 O+ c8 K. L0 h
                想要自己實作一遍Read/Write的Function,於是自己也動手寫。" T" B2 D& H4 F5 C2 M4 O" F
                Query Data (會call ACPI的WQxx method)的部分看來是沒有問題的。0 e: r4 e, G, T6 C8 e
+ Z1 x5 p2 ~4 B- d- A- j1 R& R+ t
                可是寫了Set Data (call ACPI的WSxx method) 的部分卻是一直不能正確運作。
0 {( j" {4 w8 z3 K6 B2 w                (IWbemClassObject:: Put回傳值卻都是NO_ERROR), J) T! x& w! t  e3 V) K

; K+ P7 r; b$ z: K                非常地困擾,請問大師可以指點一下我的源碼中的問題嗎?
  p+ w' Y0 C2 H7 d                非常感激您的指導。
8 ]4 g$ ~' u+ |, ~0 R- z' `                謝謝。
7 P. y' \5 S: C$ c ' m* F! }7 H& `7 X9 ^7 {, m: |9 X) `
...; H" ~  q7 V( T& j; y( ^; ?) A
源碼於附件中

mycode.rar

942 Bytes, 下载次数: 467

发表于 2009-1-20 10:14:00 | 显示全部楼层
你的代码看起来没有问题,请你确认一下:
8 |" J$ }" l9 F9 z/ i; a4 b4 w1、BIOS WS方法是否是正常(ASL Code 中GUID&申明方法明细)。5 `$ x3 k- R1 s- Q, j
2、VB Script的_put方法访问是否正常。
5 F& w/ R6 ]/ W- ^. c, _6 i3、用我的DLL是否可以。
回复

使用道具 举报

发表于 2009-7-30 15:23:52 | 显示全部楼层
我在做这一块的时候也碰到和楼主一样的问题:
7 N% |2 P+ |1 f+ f5 S/ J5 E  用Query Data的时候可以进到 WQxx method, 且可以读出正确的数,
/ j: X2 s8 ^9 O! T  但是在用IWbemClassObject:: Put写数据的时候,系统却跑不进WSxx method,不知道是什么原因。
8 b( E4 z8 V6 r; H5 N; d, r# ~& R/ U3 Z, d6 d2 o* T  g
但是,我用BINI大哥的topwmirw.dll就可以实现正常的读写,/ R2 N& }6 J6 }! u4 r5 E
希望BINI大哥能否将写数据的这一部分源码公开一下,帮小弟解决问题,同时也帮后来做的兄弟提供一些借鉴。
回复

使用道具 举报

发表于 2009-7-31 15:36:23 | 显示全部楼层
问题已经解决了,还是对WMI不熟悉导致的.
4 F  c# [' x, w* sIWbemClassObject:: Put写数据之后,记得用IWbemServices:utInstance更新到WMI repository中就OK了.
回复

使用道具 举报

发表于 2012-2-2 16:10:15 | 显示全部楼层
原帖由 Morgen 于 2009-7-31 15:36 发表
' @/ h/ X7 b; x2 J! u) C" M# i; R问题已经解决了,还是对WMI不熟悉导致的.
6 P  n3 D9 x, ?! |6 F7 t; tIWbemClassObject:: Put写数据之后,记得用IWbemServices:utInstance更新到WMI repository中就OK了.

1 D" O% Z; {0 ]% p. h8 n我现在也遇到这种情况,加上PutInstance之后还是不会call到WSxx里,不知道怎么回事
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-16 08:26 , Processed in 0.029071 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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