|
|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:
4 d, [" I7 G2 a9 M
4 i1 s% C& C, \$ p# q8 _class Package. j3 o0 I: x; x# Z' }6 |- }
{
& f5 ~- b" |5 x* ~# [ [WmiDataId(1),- D, M, d6 O& q# I! j h5 h
read, write,
# G# G, \" a9 H( g3 J" u; x Description("16 bytes of data")" L9 t' D# @: h7 ?& U# }3 t& S
] uint8 Bytes[16];
: O5 i: w% m' G" p$ ?};$ u8 [$ O- M0 O* j/ r# l
. G0 G( }1 F5 ^1 g* ^& r ^[WMI,) G7 Q; `. M' M+ r; P
Dynamic,% M, I+ Z# E+ S! g; ~
Provider("WmiProv"),
8 [( [8 u& F% R/ i Locale("MS\\0x409"),
% A2 g( e: A. x6 K5 p( m1 i Description("Class to test Query/Set a package"),$ U- X- M; \, }8 Q3 g" X
guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")( a# V/ d5 ^7 c/ T8 F
]( N/ {8 Y! v- D
class AcpiTest_QSPackage
' N+ W$ F8 i4 m6 E{
! Q( O( D5 o7 k. s. a# ^2 i [key, read]$ L1 G- C' @$ [7 l9 n
string InstanceName;
8 R$ l7 f; d0 x [read] boolean Active;* t- x# j8 `' q$ Z0 M+ L k
/ B7 u0 _1 k+ c* t6 o1 y8 g( @4 z
[WmiDataId(1),( R5 a0 k' Y" e) n7 S% }
read, write,
) U6 V( ~2 A% y" K- t6 _4 m) a Description("description")
' e$ y" k" ^2 o! T, H ] Package Data;$ E @% q( P1 N& o# Z$ _
6 q% y+ e, U* o8 }0 s
};
9 r1 C, c9 U5 {- K1 Y" X+ B: e0 S! [7 v& j" T" H3 g) b7 x
请教各位大侠,如果我想得到 packge 类型的Data 是不是用:1 t4 x* x. f; d$ b
! `$ O- k& e; |. U' i. ^( i/ b$ |hres = pSvc->ExecQuery(
# W. \( m0 a9 J/ T2 T9 G" _ bstr_t("WQL"),
% S7 T3 \5 q0 h bstr_t("SELECT * FROM AcpiTest_QSPackage"),
' O- ~! t/ z, o7 Q- h& y WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
+ p, A2 w% T8 G3 R NULL,7 j! h) l. t9 ]+ O3 |/ z
&pEnumerator);; v c9 l# t8 X! G B( _3 }; w
" V* I) u) f* E1 H! k, m# h
HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, ; A' j% [* b; U# S2 b0 Z$ _
&pclsObj, &uReturn);( G1 n$ w/ Y4 h& o0 `$ P
$ Q/ |+ K" l* @8 Y5 F8 @
hr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);9 N! u _& Z# {! G- R2 {' T
如果是的话,我下一步要怎么操作vtProp?3 E! y. b9 v0 K' ]- g: n! ?
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|