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

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

[复制链接]
发表于 2009-1-19 13:45:27 | 显示全部楼层 |阅读模式
Dear bini大師,2 x) {8 _9 [7 c( q, g- V
            大師您好~~/ ~3 A: U( `8 `! \2 _& \4 J0 `% q9 c
            最近發現可以不用寫WDM Driver就可以執行或存取ACPI的方式,: d3 ^& V. ]# q: p
            ACPI-WMI。. b% \" n0 t3 H7 b- y$ |) D1 G9 l

, h( f& f: \* L' ^! b7 ?            花了很多時間的survey跟尋找,發現了您的topwmirw.dll,並且可以
9 b) z+ d0 k; M- m- {! X+ s                正確運作。原來您己經早在幾年前實作了這個部分,非常地佩服。' N/ a2 g, O+ M/ x: y4 G5 I% y8 g

" ~. h3 {: S1 Y" D8 S: Z4 q) d3 b* _                想要自己實作一遍Read/Write的Function,於是自己也動手寫。% V( W8 [  }* v" C- [
                Query Data (會call ACPI的WQxx method)的部分看來是沒有問題的。+ E+ [* |! C1 W8 B2 D: B

, b( M* w# V0 R7 R                可是寫了Set Data (call ACPI的WSxx method) 的部分卻是一直不能正確運作。
1 ]* M+ C' t5 L8 W$ h5 g                (IWbemClassObject:: Put回傳值卻都是NO_ERROR)( k( g4 F* [; O2 m) K) Q
9 P2 K% H  H: b5 U
                非常地困擾,請問大師可以指點一下我的源碼中的問題嗎?  \3 r( Y( ?: y' R/ _
                非常感激您的指導。' N! K/ T3 G; \# T: o; A* H0 r
                謝謝。
- u  v- F( x0 F
2 t+ n0 n  J# |' M" I9 l...0 F5 E# G4 A! ]( y2 w( d0 S
源碼於附件中

mycode.rar

942 Bytes, 下载次数: 1047

发表于 2009-1-20 10:14:00 | 显示全部楼层
你的代码看起来没有问题,请你确认一下:0 D/ }8 \/ `& T) h  p" f7 l; u$ n9 k
1、BIOS WS方法是否是正常(ASL Code 中GUID&申明方法明细)。2 v- Y" m% G0 S
2、VB Script的_put方法访问是否正常。6 ^) f" a& r: T& [; L7 a* E4 o
3、用我的DLL是否可以。
回复

使用道具 举报

发表于 2009-7-30 15:23:52 | 显示全部楼层
我在做这一块的时候也碰到和楼主一样的问题:
; K# F3 H6 x) \: N; o" o  用Query Data的时候可以进到 WQxx method, 且可以读出正确的数,
$ k7 h; G. E  \- K  但是在用IWbemClassObject:: Put写数据的时候,系统却跑不进WSxx method,不知道是什么原因。: a+ k# r% d" L4 W5 ~! N
, @6 v. @; n  @/ G+ ^& {; c7 i
但是,我用BINI大哥的topwmirw.dll就可以实现正常的读写,
! R1 O3 f5 H+ g" U4 F希望BINI大哥能否将写数据的这一部分源码公开一下,帮小弟解决问题,同时也帮后来做的兄弟提供一些借鉴。
回复

使用道具 举报

发表于 2009-7-31 15:36:23 | 显示全部楼层
问题已经解决了,还是对WMI不熟悉导致的.: X1 V. u8 T% M4 D  [# p3 D) [
IWbemClassObject:: Put写数据之后,记得用IWbemServices:utInstance更新到WMI repository中就OK了.
回复

使用道具 举报

发表于 2012-2-2 16:10:15 | 显示全部楼层
原帖由 Morgen 于 2009-7-31 15:36 发表
( b4 V7 z  k" t) B! l) _7 h, _问题已经解决了,还是对WMI不熟悉导致的.3 [% B* D7 m$ q2 K* H! g. W
IWbemClassObject:: Put写数据之后,记得用IWbemServices:utInstance更新到WMI repository中就OK了.
' t) Y( G8 M, X! m8 R
我现在也遇到这种情况,加上PutInstance之后还是不会call到WSxx里,不知道怎么回事
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-19 00:34 , Processed in 0.059764 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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