|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:
3 k5 g) a3 M6 u1 a$ f; |/ M; p4 @5 ?' R- U2 e8 Q7 K
class Package
5 M/ x. v7 @+ E4 ?) S{' h) Y3 J' ] w/ H
[WmiDataId(1),$ {5 X$ Z: L: _
read, write,
$ a5 p/ k/ W( Z Description("16 bytes of data"), \4 q: w" ^( G4 i4 f2 x
] uint8 Bytes[16];
( f) }9 h* \0 z. f0 m5 R8 f};/ t P- K) w$ j, t6 E1 w
& U0 W8 J$ ]$ J& w( _$ e, C& |
[WMI,
+ \+ ]# ]0 ^& P, s2 Z Dynamic,; ~+ y+ @+ Q! e# e0 q
Provider("WmiProv"),3 Q4 T& @3 X# r; h" s
Locale("MS\\0x409"),
$ S9 w/ c/ \ S+ \ Description("Class to test Query/Set a package"),
7 |- n& p. f6 ], o y guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")
! q2 W( t0 g- h6 {1 J]
- R- R* x; W$ u2 S* g% |; kclass AcpiTest_QSPackage5 {# x0 h! w+ F) }3 q
{
4 [9 {1 e+ w( ^( H. q& V; b, K0 H [key, read]
/ ~- r1 K+ {- t, o string InstanceName;& D- w: C" v) {5 f0 s; |
[read] boolean Active;
8 w X7 E5 f, B5 t; H! e
) |9 u2 j5 m4 B( f. T3 ] b" Q [WmiDataId(1)," O$ }5 T# k b. Q: m
read, write,
" t; K7 P ~$ e, X. g6 @7 i- D Description("description")
" y2 Y. T0 z) X! r r ] Package Data;
0 B N% K1 o! v O5 f0 H5 e) Y. K3 h$ b. s8 Z) ^4 f/ Y
};
% d8 h4 b7 g! E4 w6 Q
. w/ [0 A7 _2 A! j# B请教各位大侠,如果我想得到 packge 类型的Data 是不是用:
U& e' C: D) t7 z3 U2 o4 r
1 |/ H' ^$ S+ Y; [6 N& G4 `hres = pSvc->ExecQuery(
1 e" R3 T N' l7 Q bstr_t("WQL"), / k$ t B2 V+ d1 G
bstr_t("SELECT * FROM AcpiTest_QSPackage"),2 h6 I' |+ c+ |& b
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
2 l5 y3 ?- f; F! L2 p. p NULL,
( a" I' W. G- n &pEnumerator);: Q% `, ?* z' p/ `2 v
+ z2 A, N- W1 T; C! s7 }2 NHRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
- C8 ^' J. E& f) @& V &pclsObj, &uReturn);
' Z) [+ k. W I* C* V3 E9 ?/ K% J' m8 x* W( K8 S* \2 w
hr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);
. |) G8 `( P6 O/ `% x7 o9 x如果是的话,我下一步要怎么操作vtProp?4 V8 @8 A u9 @6 O8 k. b4 D
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|