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

请教关于wmi and acpi

[复制链接]
发表于 2008-6-23 17:45:13 | 显示全部楼层 |阅读模式
在MS提供的acpimof.mof文件里定义了两个class,分别如下:
. J7 J. J& b  s+ ~, g. V# C
2 c& ]9 [: @- d" R1 tclass Package
# a1 K; f, r$ `" e{/ m4 G: ^* b5 S3 b9 ?
    [WmiDataId(1),
. [8 z* [1 \! p* i8 h     read, write,9 [1 [! l. u  _9 p9 C9 |" x
     Description("16 bytes of data")9 E0 k- J! K  |" b' J
    ] uint8 Bytes[16];
) J6 U- O7 Y" V7 F/ h; j# t7 l};
6 Y. p! P# S2 |  X3 k! E  A( T/ f
[WMI,
- i0 P* N) E( R: p" B: E Dynamic,% A3 A1 t! M  u$ \6 W( r
Provider("WmiProv"),- l1 p+ g7 J' @9 W
Locale("MS\\0x409"),
! N0 Q- Y0 I, c- u  v3 | Description("Class to test Query/Set a package"),
( I) k; q6 i7 E- M9 z5 H guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")" O" f- |' M7 t4 B1 ]+ R% T
]2 H4 n; U) j/ d- ]) |
class AcpiTest_QSPackage
% x( l3 `+ v" G9 m9 G2 a7 T. ]{
. K9 C# P' D( q: h    [key, read]8 b& e5 r5 f9 a" k& N2 W8 Z
     string InstanceName;( S/ Q! B$ b: e, H, Q! [* T- _
    [read] boolean Active;& i' D  `% N+ O* m! y

$ {( ]% w, a" Z: ~: _    [WmiDataId(1),
! ^* U; N* H' x3 X2 X! t( `     read, write,
7 ^* Q! y. A7 K( D4 p+ b9 w     Description("description")
9 n9 e( c0 d: n; f( M9 a4 ^    ] Package Data;- w5 J( k3 [7 T+ C

" J9 W5 x9 x. P8 b7 U3 J- S- D};. u6 [1 X: d/ E% I( s3 U/ x; A# G

7 m* p& l1 B; j* @请教各位大侠,如果我想得到 packge 类型的Data 是不是用:
9 z# o+ {& i, m0 S4 e& m0 M& n, M3 R# l. r* I
hres = pSvc->ExecQuery(3 w1 M- [% o1 w, \& t8 }- \8 ]7 E1 D
        bstr_t("WQL"), ' a# t& Y( U) M* J# J" p
        bstr_t("SELECT * FROM AcpiTest_QSPackage"),3 @3 g' J# M0 V: Z0 W/ _: D
        WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
" x  G) M7 }: H, P- q. g, O        NULL,
0 z/ l+ N2 G/ o6 l6 `        &pEnumerator);
1 ?+ K) `5 V0 {+ w, d  Y5 E+ ^" L( {, o+ _& h
HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
: f8 j+ y: M6 G4 @5 k- p" y1 w- C            &pclsObj, &uReturn);3 f9 |$ J1 O- ~+ ^) d

" f: @4 l4 f4 K8 t1 W3 j% y: g* L4 ghr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);6 ^( d4 ^+ q- Z8 B0 V) {- z
如果是的话,我下一步要怎么操作vtProp?" ]/ j' K" x$ n, b7 y' F+ Y
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了!
发表于 2008-6-23 18:32:31 | 显示全部楼层
方法之一:在Package已知长度的情况下,使用固定长度的数组。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-15 17:16 , Processed in 0.052924 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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