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

请教关于wmi and acpi

[复制链接]
发表于 2008-6-23 17:45:13 | 显示全部楼层 |阅读模式
在MS提供的acpimof.mof文件里定义了两个class,分别如下:' Q' ~& c6 G" [1 k
; M, F3 B+ q! o  |
class Package6 R  i' n' n  U) w& _* L+ x. u
{; F: E1 ^1 w+ I
    [WmiDataId(1),
) m9 d/ Q* n4 h" T" i$ P' b4 `     read, write,
6 U; F5 |( P9 V; Z% @     Description("16 bytes of data")
  u% x: j% j1 n2 [& `: D' T    ] uint8 Bytes[16];( c0 ^& D" X9 g; `
};- X1 {! o8 P4 j6 u
. R8 g, S* C2 ^( O! _/ c. X
[WMI,
- m7 k* ^  q4 _) t$ J8 d6 M Dynamic,
: I+ q2 \& h2 J3 e+ m7 g9 S, \8 [: D Provider("WmiProv"),
$ X/ Y* ?# T# z& F# z* e& a/ L Locale("MS\\0x409"),
" t8 q3 k) o0 r$ O Description("Class to test Query/Set a package"),& y$ z  o: d0 b0 e% Y. V8 L) S& `
guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")% W, Y; y0 W, v9 H* k
]
+ [+ _4 W( @7 [  bclass AcpiTest_QSPackage
) Y- F+ G1 J! H{% V* u. c2 \$ d3 @; X; h, Z+ @
    [key, read]
: q; R. [, G( f$ R" S. r7 l     string InstanceName;$ h4 c/ z% }; p# ^1 p4 Z6 ]) A/ f
    [read] boolean Active;! y; ]6 s# {& U# D' X6 p7 I" v. U
  M0 H& ^5 f: o9 f
    [WmiDataId(1),4 {3 B, ?& M1 P/ H6 X
     read, write,8 C7 L* n1 z, m# Q& x7 W& Y0 f' r
     Description("description")
4 z' g. s* v/ F- X, x* L9 r    ] Package Data;
9 B* c. _9 H4 L( G1 @9 n) Z3 Q' [* t2 \! f
};
' N: W4 G  O; V; W: u* d0 c. _% \1 x
请教各位大侠,如果我想得到 packge 类型的Data 是不是用:4 |# X) c% S' t& p4 H

5 Z9 \$ G' v) a! x/ Lhres = pSvc->ExecQuery(
* m' x8 |4 F8 g1 K# S. D        bstr_t("WQL"), + L: [2 X9 G: K. _6 b. e) G- X! K
        bstr_t("SELECT * FROM AcpiTest_QSPackage"),
. q6 x8 }6 ]8 n6 E        WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
) i) @7 s& e1 n5 Q- `/ w: m        NULL,& _4 {2 w- R& S! p  U
        &pEnumerator);
2 D2 ]  E, o8 [' T  w; Q1 I* a& P) \) b" I- r4 Z  u- `$ [( F
HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, 4 E6 D0 q2 y4 t! z
            &pclsObj, &uReturn);
7 i4 o& s0 H9 @* Y( |2 D; \* M& ?0 ]+ {# n7 l7 j
hr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);- e! V+ U. g* y; x* R  A
如果是的话,我下一步要怎么操作vtProp?3 X  z2 x6 m2 R, s+ {8 O, b
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了!
发表于 2008-6-23 18:32:31 | 显示全部楼层
方法之一:在Package已知长度的情况下,使用固定长度的数组。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-4 18:24 , Processed in 0.306446 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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