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

请教关于wmi and acpi

[复制链接]
发表于 2008-6-23 17:45:13 | 显示全部楼层 |阅读模式
在MS提供的acpimof.mof文件里定义了两个class,分别如下:
' P# f5 `" {1 g( B1 l- ^8 W' m: T# |
( @  x: j9 x: x  g3 e3 f2 aclass Package
4 A! w4 d3 F* _# w, A{# ^: b$ C: t1 }% K& [5 Q
    [WmiDataId(1),% _3 e( Z$ G* j( [& h+ n
     read, write,
1 v$ s; N# A1 x1 [9 P( `     Description("16 bytes of data")
$ R% Z9 \+ e" S$ v    ] uint8 Bytes[16];+ n& @. K& c3 R5 I& ?: M
};
5 N/ x3 J0 L& ]3 u" s
: j4 [9 h- {1 D6 t0 N[WMI,# M; e% L# `) O7 j" ?
Dynamic,! l* H8 Q. r6 _. Z5 j0 a
Provider("WmiProv"),! M; Q& Z  ~# ^) V" v  l' g, B
Locale("MS\\0x409"),
' v3 T5 v. w. _$ `$ _0 B, |$ G. z" i# G Description("Class to test Query/Set a package"),
/ v, z' ]+ Z5 W: ~% t guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")
6 h( f- D% B3 u! r]
0 b* I- s7 G, q; Vclass AcpiTest_QSPackage+ {; R" D% E* \" j
{, [, k6 `$ [, P; D1 h
    [key, read]0 l6 n, H" I/ q( e% y' L- k0 |
     string InstanceName;
- j7 r  F' x; k4 V7 F    [read] boolean Active;
% ~7 W- E9 J2 P$ d  I3 P% V
# C+ W% L7 T/ R3 f    [WmiDataId(1),
: `1 x6 h2 h+ V     read, write,
! T' R5 J5 W2 J: O5 k     Description("description")
7 L. V% A: d$ K$ W* u    ] Package Data;
" }, n/ R" d9 R) q& T" x
  [( v( T* t3 L+ e/ Y+ Y5 C};1 L* N" H; Z% s8 k/ k0 W

& o* W: D) S8 V& o& x# o) z7 J请教各位大侠,如果我想得到 packge 类型的Data 是不是用:0 r2 v; ^- s' |& B( d

' ^& t0 U) d' U1 jhres = pSvc->ExecQuery(6 P9 R. Y6 A: C0 P, ~1 H
        bstr_t("WQL"),
! \1 e' P% f3 N/ ?        bstr_t("SELECT * FROM AcpiTest_QSPackage"),
, m, `. x& H& Y( z: J" ]        WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, % z2 x9 h6 w& X
        NULL,% |9 l9 O0 i# [! S% d
        &pEnumerator);
2 H: s$ p% g5 K8 Z6 d% b; h: A9 |( }. @1 ]
HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
9 I  f9 I2 X' U+ D, T/ o  R9 H            &pclsObj, &uReturn);
! O. s& o$ J+ p  G0 }6 b3 ^& _7 L: X% l7 f' C# A4 ~1 T0 o, S4 n4 Z% F" I
hr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);
& p( D/ ~5 @/ U/ `; E; g如果是的话,我下一步要怎么操作vtProp?# L9 \" y& \; A- [6 R) |
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了!
发表于 2008-6-23 18:32:31 | 显示全部楼层
方法之一:在Package已知长度的情况下,使用固定长度的数组。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-12 06:32 , Processed in 0.022429 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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