|
|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:
4 F. W) X! n0 x+ k# c8 k' i) ]& u. h6 o/ f
class Package
3 ^! K6 w: l7 v. H7 G5 a( Q$ O{- }* g' F$ U" B
[WmiDataId(1),7 Z1 h! G7 K) \5 Y, m9 X
read, write,% R/ g; G, I9 l: }" H
Description("16 bytes of data")
; T4 {6 J# U) X: W% g* ]6 R ] uint8 Bytes[16];9 o* x) o5 i. W5 c. E
};/ n m3 T7 A. P E% |
0 @' H, `" w8 |
[WMI,
w" i% ?0 W Z Dynamic, a& O9 o. f0 S) p8 z
Provider("WmiProv"),: y" g; V6 m- O: q+ g8 S
Locale("MS\\0x409"),
5 W" D1 t" |9 m8 x# w7 l Description("Class to test Query/Set a package"),. D7 P& K, z- s9 g8 c! A
guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")
# P6 x% x0 x5 u7 @$ g" E! T]
9 k9 d$ k9 @% D3 Jclass AcpiTest_QSPackage5 D7 V: O* c, @7 g! D3 y+ w
{
; k) x5 m% J' Z [key, read]
7 S4 |3 M! S- j q/ l$ [! h& K string InstanceName;+ U6 r8 H4 y6 _' C1 _: a
[read] boolean Active;1 B$ X) E3 @7 f* G9 n" p
. y/ E. ?3 N' ?; a9 R( b! s- B [WmiDataId(1),: n) p/ U+ P; H. i
read, write,$ U4 Z" d! R3 ?$ [! k
Description("description")
8 o: J C0 R5 G1 Y: j ] Package Data;
" Q0 W1 Q* H1 }* O9 N+ \- N1 i
" s" ?+ i: q( t* q$ n};
7 k" g- D6 j( t0 ~) F! S7 G: n) ?& }0 X" T5 V; Z. D) B
请教各位大侠,如果我想得到 packge 类型的Data 是不是用:7 P# ~% T$ G+ b2 e! c
0 @5 j& S3 f. v0 {% i$ k1 _hres = pSvc->ExecQuery(7 Q* f4 U" C" d. P
bstr_t("WQL"), 8 S% H5 ~5 M$ C( Y: U% @4 d' R
bstr_t("SELECT * FROM AcpiTest_QSPackage"),
! ^& L" T+ W8 u! @4 Z WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, 0 E- y% J: E8 D: [2 }" X7 Y
NULL,
7 x# S5 h) g- w; t: q+ r- T &pEnumerator);5 Q9 F3 r1 p% G: i! K% A1 V) S% C/ x
( @5 c6 L s- q- p! x( m
HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
) S& C) T" q; H5 [% \ &pclsObj, &uReturn);
$ B- V: P0 [& ~! u* R8 o0 l' Q# Q ]( I \( _" c7 C) @1 T
hr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);1 E) Z* L9 e) W6 i
如果是的话,我下一步要怎么操作vtProp?& E. }6 c% \& ~3 p! ^% r) E4 P$ {* m& i
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|