|
|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:& X" H" D, L% d
' m+ M+ U) P0 |class Package
: ~# q' `* R f6 r6 s; C{4 K) c. _. T3 c% H! O
[WmiDataId(1),5 ^' {2 d# ?( y N+ H
read, write,
& }8 g" ^! F! W Description("16 bytes of data")
+ j9 g7 Y: z6 h7 V+ P- L* H$ g ] uint8 Bytes[16];5 C E0 y# o q# S" x/ O$ [: e
};
: O: H7 C+ t' N/ S4 V2 e* f1 q: ]
[WMI,+ ~2 n' P+ S* B3 r5 e6 N
Dynamic,# J6 |9 B4 m0 F& E
Provider("WmiProv"),
% ]1 E& P) e/ y; w- ~; y5 x0 p; e8 T" }; z Locale("MS\\0x409"),
$ J1 h9 ~* ?' V2 q. U' d Description("Class to test Query/Set a package"),
) m: j2 B9 p9 T- z( w: E1 M* j' }! F guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")
: `# U' b# v0 O8 [ F% |9 Z/ G. m+ u( k]
2 j) v: S& A3 h! u) ~ gclass AcpiTest_QSPackage
, m1 P7 x5 C- X{
5 t$ V: j: w2 n% }# b$ h [key, read]
, G$ B+ {5 h; ]5 T. H, r string InstanceName;
1 b% m9 l' g0 K T, X! h [read] boolean Active;# }! p. M" o: q1 p
$ f; u7 Y' ]. }) p* j& z [WmiDataId(1),
: a- i2 P. K( \# c5 K" I6 x( R read, write," w9 n+ f. S$ C9 _! C, f' G
Description("description"), q# Y3 x6 I0 P& \" t
] Package Data;
) F! d4 }) {2 D3 \
2 K. \0 w! n# p};
. I) Q7 r! t) E3 z' N2 g
7 F# E% |, m( z0 A6 Y请教各位大侠,如果我想得到 packge 类型的Data 是不是用:
& q# F/ J- p, n6 q# ?1 N9 o6 ]2 `
hres = pSvc->ExecQuery(
/ G( o4 P7 Q% D) v; X4 x& j+ `0 Y" J bstr_t("WQL"), 3 E& U$ }4 p0 f) U k- I
bstr_t("SELECT * FROM AcpiTest_QSPackage"),9 m5 Z: d1 I; Q
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, & u5 ~) q1 `" v2 L
NULL,
( A. d% s p# i &pEnumerator);8 d+ |1 b4 U' C ^% }
/ L5 \3 ?8 C3 K K+ c- g
HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, ( ^( n! q" o. D
&pclsObj, &uReturn);
* b- `1 D# V5 U' q
( @ b% t/ L6 d3 ohr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);- Z f8 f- P0 m) ]6 ^- z
如果是的话,我下一步要怎么操作vtProp?- d4 \) R5 u: H2 f: h8 W$ u+ k/ j
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|