|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:/ K" U5 U4 h, N
. Q/ Z& N. O/ q3 Hclass Package
2 k* B- l# ~: e' l# F8 x/ \/ o/ l{, x% H+ a" i. [ ?
[WmiDataId(1),2 L2 v% T$ d4 u4 J! |
read, write,3 ]" G+ E: }8 a$ r) G( ]
Description("16 bytes of data")
2 U# B7 B. k4 l& @ ] uint8 Bytes[16];* K9 s% m- k0 T+ o1 I p8 Z% G
};
) H0 X0 w% h0 g# u+ N# r9 ^( f; k( S' G
[WMI,# V6 S/ X- F/ }5 s% i, y3 Y
Dynamic,0 c# b0 }) k `
Provider("WmiProv"),
" r( V6 b) n; c7 d+ k4 l. C# C* H Locale("MS\\0x409"),
7 m( |* |% @5 g3 b Description("Class to test Query/Set a package"),# n9 S/ n* G7 K1 L- v0 G
guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")
' _7 M2 Z7 H& B7 k" h. j]: a! w$ ]% w2 U; `6 z
class AcpiTest_QSPackage
1 [2 _5 d, z2 @, C2 \/ H$ z. z{
- E0 a9 V, E! |1 S% v# c% S+ r [key, read]2 }9 p6 n3 C; D7 C5 K
string InstanceName;
* K6 Z& N8 [" N& R; C/ W [read] boolean Active;6 U5 H5 z0 n! X2 G- ^" l
, H7 C, p. m6 N. E
[WmiDataId(1),
% d' }/ g, t9 I# z O9 S- p9 K+ i read, write,
- m/ t5 w/ M- u) j1 A Description("description"). P; U3 i% j" g$ C. i# ^! G+ N
] Package Data;
. g$ w6 N( v/ l* z. p* t+ `9 x% L. v) y
};8 k3 j) g6 q2 }
( t3 T/ c# s$ H2 i% @请教各位大侠,如果我想得到 packge 类型的Data 是不是用:0 f8 ^7 e ~/ S' G
/ a# l4 L, G. {- g4 |
hres = pSvc->ExecQuery(4 W8 P$ S2 ?# ?. H0 g' c
bstr_t("WQL"),
7 D6 O% w0 E6 w) s bstr_t("SELECT * FROM AcpiTest_QSPackage"),, V7 ~% w" ^6 I. Q" ?5 h) G
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
8 D3 e2 K- C: X2 @ NULL,
" F$ b6 B1 Z8 h' u; y3 f &pEnumerator);
/ T; C H- H( ]2 G
" N U5 ]% N D* Z4 mHRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
) w7 D- s% o C( x+ M* t& c &pclsObj, &uReturn);
/ X0 Z1 f1 R0 T! j/ u& Q* l3 x, E
/ m& ]2 z+ C+ c9 M" _9 H5 Q- Fhr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);3 I( b8 j* g. r1 _8 D: x% F j2 x
如果是的话,我下一步要怎么操作vtProp?- j1 o4 `' F# y8 q0 W
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|