|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:
% e/ v P) Q. }8 J# g1 _ Z5 e& ~0 K+ s! T! D1 F) i+ n
class Package" `9 C0 z3 i" I% H
{* F& m o3 P: K5 t$ d0 u2 f
[WmiDataId(1),0 s+ Y' o7 j: y! ]3 x: Q5 A
read, write,
- n% g# {+ t* s/ [; D, J6 q Description("16 bytes of data")
V: ]- }, o/ x1 ?% T) L" Q ] uint8 Bytes[16];, \ K% l' L4 [0 b2 {5 g
};
. J: k# ]3 m; a4 D- _% \ s& p5 b( z6 X6 ~" z) F
[WMI,) l) W1 L% q! j V2 P4 B
Dynamic,+ m" g+ n% X; P4 X) M% t& c' m
Provider("WmiProv"),
& U8 Y5 g+ [( ? Locale("MS\\0x409"),6 |# a0 ^! x( W4 H! @9 D9 G
Description("Class to test Query/Set a package"),3 {: A% M* h' Q
guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")
) L+ ~4 {5 r7 |6 e1 O8 @- ~2 l1 T]1 `0 O9 L0 S6 p! k* U7 s' A
class AcpiTest_QSPackage
* |2 J* Y8 P' q1 M e, [( d! l8 ?{' S1 P4 F: e- { t1 x" E
[key, read]3 A9 j4 o0 A9 H" c% ]4 @% Q4 u8 J
string InstanceName;1 H1 S1 C0 @& {
[read] boolean Active;
8 g" ]9 P) f+ v: K7 y: g6 ?8 e7 k6 }1 |1 p6 R7 w. g! {3 o& p5 N
[WmiDataId(1),
, c$ l( u |! f( h W read, write,7 C/ o. O3 C$ r' C" u5 H; C
Description("description"): }5 d( t4 d! L6 H3 b) C9 S2 t ~
] Package Data;
$ y. }) Z: J" j4 D9 d9 F7 Q: ]; n' w a2 M. ]
};
# D% P+ X& q9 ]" [+ }- B8 I; Q
请教各位大侠,如果我想得到 packge 类型的Data 是不是用:+ \6 O, I7 R& F. X, t. K
" n' A% _4 `5 b6 H# J
hres = pSvc->ExecQuery(
v% d0 K' w6 Q bstr_t("WQL"),
! G+ a8 ^; `% {- x6 h9 ` bstr_t("SELECT * FROM AcpiTest_QSPackage"),: ]" x. t0 n2 M/ c0 i7 N! d& y
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
- I6 y7 p1 _" R6 L7 Q2 H NULL,' m/ ~3 B# k- _! x- B5 t+ j% T
&pEnumerator);
) Q3 t: i" P# o/ s8 T* }( U
4 \8 B& ~6 g4 m9 Z) X1 xHRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
# Z6 s6 m( M/ u0 z6 j &pclsObj, &uReturn);
( L/ p* O' y6 a$ I2 Z" N& B
8 o$ m$ o* n+ \& t9 vhr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);+ T( O# }- r- c0 W7 K- {. _
如果是的话,我下一步要怎么操作vtProp?
7 f g5 ^ ~; z单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|