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

请教关于wmi and acpi

[复制链接]
发表于 2008-6-23 17:45:13 | 显示全部楼层 |阅读模式
在MS提供的acpimof.mof文件里定义了两个class,分别如下:0 n3 d! D( I9 E1 x4 T' Z% ~2 @/ t, e

, `; t5 v* v+ Pclass Package
1 `8 M3 D& T; Z6 M; I* O{1 d9 T" X5 R6 s3 `$ Z8 F3 e9 D( Y3 W
    [WmiDataId(1),* U* Z0 s" q$ K2 _
     read, write,
) I( t9 V8 k0 ^9 Q" j9 V1 d4 j     Description("16 bytes of data")) X% i/ U, Q2 J# d1 J  n
    ] uint8 Bytes[16];/ @; P. _+ @1 g3 `: k
};
0 n5 ]) D) L% _; ]) @8 i; r) S5 t! |- K7 X
[WMI,! L" t7 U$ V" ^. r' w! E* X
Dynamic,; n4 p( l; H" S* a4 T! ^) n
Provider("WmiProv"),+ f, A0 A; y5 T* d; p
Locale("MS\\0x409"),* D0 w$ h9 S; |- E
Description("Class to test Query/Set a package"),
8 `( B5 H( k8 u2 N. s: p' j- {1 B guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")
5 }8 A0 z3 V$ @5 q, G6 F- j9 y]
% t2 S+ s: C7 o2 c& s9 r# }class AcpiTest_QSPackage' j- [: }7 q0 ^. k. j
{- j6 M0 E3 \: I3 c. Z1 m. V+ x& G
    [key, read]
0 S# S5 v  Q, }8 O  Y     string InstanceName;
% q. l6 [/ U/ C" T, m% M$ |* Z" ?    [read] boolean Active;
8 h& K: {7 h, Z3 f/ H
) c: q# U2 D+ O    [WmiDataId(1),
9 p) ^2 L6 T7 n4 q6 `5 [     read, write,
1 w/ F  t, i2 J     Description("description")
' z6 `3 U  G$ C' P3 S9 Q    ] Package Data;- @. {" L4 m* N; Z( W2 Q9 ?
: f. q  Y5 X, ^! ~0 J/ g$ ~" D  L
};
' n( _1 ?- u; t: l+ n
* D% d( T; E  W7 j请教各位大侠,如果我想得到 packge 类型的Data 是不是用:* W3 v2 A2 y% n0 x' D

: M0 ?( Y4 t7 M) Z+ h$ ghres = pSvc->ExecQuery(0 m$ p3 n" n2 a- R
        bstr_t("WQL"),
4 f' f! m, @1 i+ O$ _) x        bstr_t("SELECT * FROM AcpiTest_QSPackage"),* k" [4 p; q5 t& @1 Z5 ^  n
        WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
( S$ I7 q) M% p& a/ C        NULL,
! _  U3 D5 [$ X# [9 n. k' A% b  v+ v        &pEnumerator);+ o7 |) V" `8 l
8 a0 S. C" e: e
HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
  I* M' N0 }  h% Y  _! m            &pclsObj, &uReturn);
5 X! Z# k5 ?' f2 B
6 Z4 ~6 N: F: _# B- ]$ Bhr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);
9 v5 p* i! n0 s$ ?4 y$ `  X; E如果是的话,我下一步要怎么操作vtProp?* C& _/ B: @+ o% T% w
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了!
发表于 2008-6-23 18:32:31 | 显示全部楼层
方法之一:在Package已知长度的情况下,使用固定长度的数组。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-10-12 08:44 , Processed in 0.057426 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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