|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:0 H# s& P" r3 T! f: v
) `9 Z4 g/ e6 X* X# K, Zclass Package; K. u4 J6 g( ]0 I! q; Z6 Z
{$ G! |; v$ D8 @3 f L! S
[WmiDataId(1),; t) p# Q! @; A# J' I6 n1 B( ]
read, write,
6 K% r* m9 g9 N6 p/ h) l+ k$ _ Description("16 bytes of data")
+ ~' G. t4 w( A9 e' g ] uint8 Bytes[16];* u5 x, Q3 r: m, X9 k) c# M
};& `# A. S1 f& L5 L
2 d1 D/ j4 S8 }" A8 B! x- n[WMI,6 D1 ]! {, n0 N* T# u4 {8 [% M
Dynamic,
" O. J% d( M7 c o Provider("WmiProv"),. q. u! f7 Z0 x5 q& W: ?
Locale("MS\\0x409"),
$ W9 @% h3 @/ n0 O: D Description("Class to test Query/Set a package"),
9 E: v( h& C! b+ o3 L, v* [ guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")6 P6 d2 m; w6 L: X2 W$ J
]
" |3 g0 g8 R4 y+ E8 l. ^class AcpiTest_QSPackage: _6 T, H( z5 W4 c
{8 r; i; g& v9 S9 r% e! d/ |
[key, read]7 B+ o" ?0 w6 e" Z3 f" k
string InstanceName;
& T6 _1 e0 M' a+ S* o" y [read] boolean Active;
3 ^9 B: ^ y3 B& S) X, T! B& F8 Q" u. ~: P
[WmiDataId(1),+ t( a( d: c) G
read, write,9 m- Y% a: ^- c+ h6 B. A+ B5 R
Description("description")
! _4 \# V/ f) @ P3 S4 y ] Package Data;. B1 h6 H% z. K, ~; k
: R2 p) h A: [0 m y! F5 ?};
' h5 B+ q6 y2 P7 A9 x/ _# e/ V& I5 Y, r9 X
请教各位大侠,如果我想得到 packge 类型的Data 是不是用:2 J. P8 |$ x" A5 A5 U
9 @3 @7 M) \- G9 w5 h
hres = pSvc->ExecQuery(
- p$ T3 H4 j c- `3 h: Q% E bstr_t("WQL"), 8 Y% W" ^$ Z- t1 J5 R* N" x# d
bstr_t("SELECT * FROM AcpiTest_QSPackage"),
% e) D/ b9 j. `* o3 }3 E WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
9 D, a, x8 W/ P2 l NULL,# Z9 s* f1 L! g. L1 C1 _0 N
&pEnumerator);
" R1 w1 n0 b7 |. U$ v, K& Z9 j2 Q2 O8 t8 L& i' [: V/ O
HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
. s" @( o% H' d6 L$ u &pclsObj, &uReturn);
S+ a8 |1 B- X+ @$ J# ?- k2 ]
hr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);
2 {7 A) i* T {$ T9 k# Z: u2 j如果是的话,我下一步要怎么操作vtProp?
4 Z" M/ c4 c8 U8 U7 V单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|