|
|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:; I4 S- G: n) D
$ E7 ~& \0 j) J* N$ r8 z8 {( t& K, c+ o
class Package- n: D4 H2 q( K3 T2 o- [& |
{
. j; r' P/ F, d v$ r+ ~ [WmiDataId(1),
" j* g* p/ ^) C6 V9 q/ w9 z, D! a! i read, write,, \; C/ C+ b6 q# w
Description("16 bytes of data")1 h: O d$ M* d2 X
] uint8 Bytes[16];# c* x: M0 x! u8 y1 i
};. G) H1 J5 y; _% F, K7 K. i
7 Y* a$ f8 Q2 [1 G9 Q$ ?/ u
[WMI,
: B( T; g! R- g- F Dynamic,
4 ^2 T! k$ M; Z+ e7 J Provider("WmiProv"),9 T6 D1 q+ S# P3 }
Locale("MS\\0x409"),
+ G9 F: E+ c: `, s% q( g2 Q4 @4 v Description("Class to test Query/Set a package"),
2 `; e/ k% W: z0 r4 q/ m- R guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")8 l7 @; n: |5 i+ s0 ^5 o
]
3 K+ P, \: G) w4 G Vclass AcpiTest_QSPackage
& \# }/ R* N2 _6 [' r$ p{
8 V% g* Z; J1 j [key, read]
& n* w1 r$ F, g3 x string InstanceName;
9 g$ s" x* T* L7 Y [read] boolean Active;4 B. o; o# f' q) P
8 t4 p$ Y; n, @) M
[WmiDataId(1),
. L, h" o# Q/ b B read, write,
/ C& o5 _( D* u0 J Description("description"); F) G# N) j' r0 T/ n: t/ M
] Package Data;
2 {" {$ v# I# h( w, ^3 R9 x; \3 S+ k5 Q4 z3 m
};- a+ I4 R6 l7 }1 m9 C& L v
1 D, d9 ^, Q1 Q4 ~7 q
请教各位大侠,如果我想得到 packge 类型的Data 是不是用:
. ~) j" |2 Q' v5 _" Y) L' [7 e) M0 R" K
hres = pSvc->ExecQuery(2 r5 I A5 @" B0 M5 P
bstr_t("WQL"),
% u8 ^1 i/ y; b7 ?% Q0 x% u bstr_t("SELECT * FROM AcpiTest_QSPackage"),( v2 J1 t* O1 U2 z9 a% S; }
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
5 V, l3 h( E, _ NULL,
% h* j- K5 Z; w, H# z+ j &pEnumerator);% k7 }( T3 v9 z8 K
9 M7 M3 k' ~+ o5 L- Q" wHRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
5 F# f4 N$ I2 g9 m h! [ &pclsObj, &uReturn);
3 W0 x+ V" F, T) m3 y+ A: r
. Y6 Y8 i; h! v/ zhr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);
/ u6 W8 j. H- f( |* p4 ~5 D$ Q+ z如果是的话,我下一步要怎么操作vtProp?
( l" \* v8 S" Q0 F& u单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|