|
|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:
' p4 ?% v0 H& e8 ~5 }
# I$ A1 H$ ?& q- V `* z% I. vclass Package+ w9 U1 Y4 A7 U
{
# P4 i& E$ |9 r9 _* B r4 w6 a [WmiDataId(1),
5 `. `6 _6 c9 u0 w8 z& w) v& ~ read, write,2 j4 j; ~6 o0 T) x# O6 ~7 _
Description("16 bytes of data")
1 e4 @# o, W! ]4 S. p$ ? ] uint8 Bytes[16];
; d) L) r* F2 {, c};
! i; B& a; e0 L( E) } m' m+ r8 M+ }# I8 V3 |/ @1 P
[WMI,
3 m& D1 x! F5 ~1 }$ P) A Dynamic,
- D* q9 s/ h. d4 o0 |" l7 z2 T Provider("WmiProv"),1 n- X) v# X* {& G8 {5 V1 ~
Locale("MS\\0x409"),6 w7 {# o2 D) p. [! p$ x
Description("Class to test Query/Set a package"),
8 H9 S4 ?- T9 f* k# z$ Y guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")
6 _9 v. ?; U* q* T* ]0 a' t]( b. Z+ y, v0 h$ ]' w7 s+ K2 M/ x
class AcpiTest_QSPackage' U8 a/ Z3 U& j
{: o. m3 E F) t, ~# u$ c) c. l0 b/ A
[key, read]
6 n7 q- ]3 v: }+ g, q( D string InstanceName;
! w, }. F& q4 U4 I/ D9 F [read] boolean Active;
$ K& m& R: d' W; Q- w
8 a; y, ^$ |9 f9 U$ A3 y. J' C [WmiDataId(1),, m# q# c0 b3 {% J6 C
read, write,
; D! G. F' _1 T Description("description")
6 m; y# J- k* v; f/ r ] Package Data;+ D/ u. q+ k7 |% {- f
& O$ j1 I- O- Z& ?4 Y
};! |1 P6 m( B3 _+ |3 m
3 T5 m- _0 p! ~8 Y请教各位大侠,如果我想得到 packge 类型的Data 是不是用: ^; `) ~+ P4 f$ r* O
6 y* P0 Y5 {& ]; Thres = pSvc->ExecQuery( R, V0 _, ~: ^/ ^% h
bstr_t("WQL"),
! ^' n$ h5 g# R1 ^ bstr_t("SELECT * FROM AcpiTest_QSPackage"),! S* L) g8 l. u5 M
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, : | l0 W; t, |
NULL,
% T, }8 P. C+ d5 } Z/ h b &pEnumerator);
" o1 n2 X# E, }0 T1 m G# |7 M
9 t: b) X# [9 a6 b7 o5 N7 [HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, 2 j6 C; R1 a2 [2 u
&pclsObj, &uReturn);
9 r3 Q4 D5 U) Z5 k2 h, M
/ Q9 s5 w# A9 {+ Jhr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);
5 P v1 B1 ^7 f# L. g* ~) j如果是的话,我下一步要怎么操作vtProp?, j1 Y+ j. b! k
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|