|
|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:6 R* m$ Y3 I8 {4 W- i2 ?
! T3 P+ N; e* C6 t1 l1 fclass Package/ ]9 k5 X1 u, q$ O
{% h5 k- H; s+ G, L' b) o
[WmiDataId(1),- {# S+ m2 ~/ D# P6 q, n L
read, write," S! U5 R' n: l& x
Description("16 bytes of data")1 Q, l+ K1 t9 B
] uint8 Bytes[16];5 P4 M$ E7 [. H `( X
};
- ?' {$ @2 j: Y' V) U4 r
% r. k% {( V) U[WMI,
: _: E1 F. {9 Q/ l# Z, G Dynamic,6 Z$ A: {0 [2 l
Provider("WmiProv"),
& B8 [8 |2 b+ L4 I: I Locale("MS\\0x409"),. }# W" M9 ^# M; f0 o7 O
Description("Class to test Query/Set a package"),
+ ^0 M" j1 _, i guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")- X4 a% A5 Z$ z
]9 p2 u( G: `0 S- W9 v: E, h5 y) U
class AcpiTest_QSPackage$ C$ q- R5 @6 ^! d
{
; d: Z( M; x- y; A4 T3 ~5 W4 C- a. A [key, read]& e3 h: q" k' b, Z" H) ^
string InstanceName;
/ A' L& b# G1 p1 z [read] boolean Active;
% f5 a3 c: y. s3 M8 g5 B$ y h4 I9 K B$ i3 Z- `
[WmiDataId(1),
% t+ n0 E1 k! L+ Y4 w" J read, write,
$ t( q/ t# ]- O0 J$ N( ?; H Description("description")/ y/ u. {% L& @( A' R$ M6 x
] Package Data;8 ^+ U. i2 c1 {- K
# p6 n, i) [' ]$ [' L* C/ _};
1 x [/ {3 b3 @# p( a) ]
. g+ Q3 `8 v1 C: ~6 g- G5 r请教各位大侠,如果我想得到 packge 类型的Data 是不是用:' @6 D4 W0 a1 g- X5 c1 R( |
0 L2 B( G7 W% \) m3 e3 m
hres = pSvc->ExecQuery( o) R! i; m& s, `8 a0 k) b
bstr_t("WQL"),
- e7 [; P# l0 E( ~4 ]3 j+ K$ G bstr_t("SELECT * FROM AcpiTest_QSPackage"),$ H+ p+ g0 ]) S. J) T1 g$ E
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
2 _$ b6 Q( A9 t" K NULL,
8 ]+ N7 M/ b% D! `7 E( Q) i( R &pEnumerator);1 S$ W2 t6 _- k$ b+ A6 ^
- J8 L5 M0 c! _& }9 h5 }' dHRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
- Y) J2 x( H, p5 \ L+ g &pclsObj, &uReturn);
: Z; ~2 b: k9 j, Y" {1 `: N, Z
* M: W' v" S# k1 {- vhr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);
# d- z, y4 {7 j5 k" S4 q& w如果是的话,我下一步要怎么操作vtProp?
( i U# A+ T) v' U2 v2 Q单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|