|
|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:5 X4 p: m7 l0 K5 t6 o/ F
. ^: e" i8 l+ D; K
class Package4 l" p9 w$ G6 R3 ~, R: p" z8 w: l8 _; {
{
$ y+ s. a* a E3 E [WmiDataId(1),
4 ?* ?% _ `3 f1 v2 ^& q read, write,$ P4 u2 U1 x; r/ m8 T2 q4 @8 m; t
Description("16 bytes of data"); Z( c. Y/ z0 G1 u
] uint8 Bytes[16];
/ p0 [8 H" M. {% Y/ ]};
& S. B, e0 V; G
; G; q3 r0 J5 @[WMI,+ B% p1 R( C- k/ K% f$ G S- N) L; B
Dynamic,
7 G; k2 `& z8 E4 v! ^2 F Provider("WmiProv"),
6 ` B) I! |0 A( S8 z2 [ Locale("MS\\0x409"),
- R4 }, J5 L# `$ u% v8 d0 i3 g7 ^ Description("Class to test Query/Set a package"),8 L6 E8 Z8 Q: @
guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")! N5 L# F$ M8 J1 H
]
2 K' @3 K+ O9 Z" Vclass AcpiTest_QSPackage5 W) H8 |$ n- |& |
{
* j; I/ @1 e) k9 x# X7 E$ ? [key, read]" c+ [, n# Z% Q% u$ s( I! w
string InstanceName;
8 z& f, a. s: h* l& q [read] boolean Active;! R7 C, n) J. U! a8 Q3 x' F
4 V* X& L1 j0 r2 H/ \. w; Q/ B% v [WmiDataId(1),/ n! j2 Q, J* e, P9 j, O1 e
read, write,
1 r& Y0 u f: [; C- v/ E8 @ Description("description")6 i' K8 h* |8 b: O0 H- ~( @
] Package Data;
$ p3 |' w! m9 I E. l8 W( U) D5 R( |. R; ?0 l! L5 R
};
: m; g) |7 K5 r5 I
" K B+ P( \6 x8 K请教各位大侠,如果我想得到 packge 类型的Data 是不是用:6 g0 W" ]9 w3 z @
) J9 a9 H! {" \7 s
hres = pSvc->ExecQuery(
9 \. d" \6 p* n7 c' B5 \+ k! N bstr_t("WQL"),
% Q' R0 Z) V( |5 T bstr_t("SELECT * FROM AcpiTest_QSPackage"),4 l" S" S4 B5 q# W
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, : g' z& v' @2 S2 O9 M# {& ^
NULL,6 m6 N, ~7 A% {# A
&pEnumerator);
. A3 F5 y$ d. K: Q
( o* Z. G" o, f& k' H# LHRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
, A6 C, J: n, d' W- |! V$ m. P; R &pclsObj, &uReturn);, u6 h3 o& b2 C8 E/ H+ A8 q
3 x5 V; n1 j) z4 ?: v3 l
hr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);/ u: [1 k$ c. |2 ]! Y
如果是的话,我下一步要怎么操作vtProp?0 s, K9 a: @: E2 M: d# @7 {
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|