|
|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:0 ]# @' _: M4 \
% q* Q! b; t1 N
class Package5 V1 i% H0 Z8 A9 N7 E
{
R' _0 p: `. H0 x! f [WmiDataId(1),
- D7 c) i' c% K read, write,
4 ]0 j- U) |- E0 w$ | Description("16 bytes of data")
7 B4 `, T7 v4 l ] uint8 Bytes[16];
2 K0 w% h. b8 b};) [' ], N1 H# ~; ?' m3 ?6 s
\, q- o% E0 D+ a" P1 J$ S4 T) h
[WMI,
) A$ d! m- a2 N9 w3 L5 z' Z Dynamic,
, y. L [; Q g- y0 _4 f _ Provider("WmiProv"),
6 v( e. w8 ~) {6 q6 g/ M0 | e0 a Locale("MS\\0x409"),
/ \4 D/ J' P2 |( m Description("Class to test Query/Set a package"),1 u- k7 u" S( M! l$ c2 l; l
guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")
4 Q8 ]. N# S" M* P5 t# Z* n/ J9 m9 r]
% A0 c2 ^6 k( I5 c; ?class AcpiTest_QSPackage
: y/ D4 U. x% [/ w; I{/ K$ \% ^0 J4 J0 P3 G" d+ C
[key, read]
1 g5 J4 A2 b z string InstanceName;
+ t6 i% w: ?4 \+ G# r- ?( v [read] boolean Active;6 i& O' u" H" ?3 F3 D3 i
+ x: J/ D. ~! d9 t9 h' q" C2 U [WmiDataId(1),5 O7 e% B7 L1 p3 j# m
read, write,
3 W( J0 c N& V Description("description"): g4 J) R0 G4 _3 _5 E
] Package Data;
- R: J' G/ U( R0 g8 p3 ~% T G8 E1 P
};
4 h ` x- w8 i8 I
' ]- s5 t3 R' ^; q* b: g请教各位大侠,如果我想得到 packge 类型的Data 是不是用:0 C# t3 G; X" L7 N3 G
- C6 C! }. J- h6 w" h" {
hres = pSvc->ExecQuery(
# z) y% r' [( v Y; v bstr_t("WQL"), : w8 I( {9 q1 i
bstr_t("SELECT * FROM AcpiTest_QSPackage"),
8 W9 u' Q* W0 M" ] WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, ( L& u+ t( x1 Z% o4 }
NULL,
( c9 c- p! J0 R &pEnumerator);
) [, _% M Q- [& h1 ]
" Q2 H# B$ I2 |2 ^4 ~$ R! NHRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, 7 q% s S6 m7 ~( m2 v4 M( ~
&pclsObj, &uReturn);" |, h, W" Y- p8 Z K) @
) _2 u, ?8 h8 t$ g+ t* {hr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);4 X' P w" R8 ^/ Q7 s
如果是的话,我下一步要怎么操作vtProp?7 U! w3 {" I: ~* g" ~9 b
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|