|
|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:2 L8 E" M! T6 x) a# F7 p2 p
. {" J) k3 p; k" ?- C
class Package" p2 {; _5 R) D, C3 r% L% j) ^
{
8 u- N" ?$ v# H c9 z7 u N [WmiDataId(1),% D6 o- E* D5 i! Q
read, write,
, Q! Y9 A+ ?( ^ Description("16 bytes of data")
" w& B% r% W7 x ] uint8 Bytes[16];" }4 A6 _2 R% h
};( C ?" s2 L8 F. W C( k
& h; S% K$ U6 K4 O0 i: B[WMI,
9 \5 ]" V2 O- i/ } Dynamic,2 X: @# M# v0 m" x5 J: f
Provider("WmiProv"),
" y' K6 h- H/ M7 y Locale("MS\\0x409"),8 q5 M7 H0 r+ w3 ^4 q; e
Description("Class to test Query/Set a package"),
6 m/ c' r/ B" @7 ~ guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")/ B( ~% N; y1 s0 H
]0 K1 j1 y) w1 M7 j7 s4 ]7 m3 X
class AcpiTest_QSPackage
0 H- Q- \8 H( `2 Q4 {* O, C" b{4 z" |# f( x+ P( j, k, Y
[key, read]0 ?4 i8 ^9 T+ i# l5 R
string InstanceName;
5 u: i7 p- Q) H8 @ [read] boolean Active;
* V$ @1 l+ N9 S
T% U f' ?! c [WmiDataId(1),8 p5 J- s# r7 ]' ~, }2 o+ @" A( X
read, write,3 g6 y2 ? d5 ~. F# ?
Description("description")7 c, W% O$ r! E/ @3 b
] Package Data;
2 o6 [4 I1 S! k" l: w3 h+ m9 ?% g$ H/ {# q* r* a, v
};
8 S+ \- D8 f& {& A5 m/ E" y6 e' f ~ g6 U; I+ t3 Z
请教各位大侠,如果我想得到 packge 类型的Data 是不是用:2 f' i' M7 L* ~4 r A- g
+ U# a2 n% X* {0 o Uhres = pSvc->ExecQuery(
+ s' E: x/ m9 c& a, {+ H& | bstr_t("WQL"),
+ g# M% p7 T3 B9 q5 _: {, y bstr_t("SELECT * FROM AcpiTest_QSPackage"),, [: J: K$ n. j8 C2 z5 f
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
% D& N1 @2 V+ g0 F$ s1 W NULL,4 M( O& I3 p! i! h& J
&pEnumerator);
7 H( B+ ~9 `+ V7 H$ r/ I3 c& A9 s; G$ \
HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, - l! p' R3 g( _1 z) y% O
&pclsObj, &uReturn);7 g! Z& Y: p6 ^
% J+ a# k, @' U: Bhr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);
6 l5 ^$ |# h. o# A如果是的话,我下一步要怎么操作vtProp?
* M* Y; _: t3 M- F单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|