|
|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:
. J7 J. J& b s+ ~, g. V# C
2 c& ]9 [: @- d" R1 tclass Package
# a1 K; f, r$ `" e{/ m4 G: ^* b5 S3 b9 ?
[WmiDataId(1),
. [8 z* [1 \! p* i8 h read, write,9 [1 [! l. u _9 p9 C9 |" x
Description("16 bytes of data")9 E0 k- J! K |" b' J
] uint8 Bytes[16];
) J6 U- O7 Y" V7 F/ h; j# t7 l};
6 Y. p! P# S2 | X3 k! E A( T/ f
[WMI,
- i0 P* N) E( R: p" B: E Dynamic,% A3 A1 t! M u$ \6 W( r
Provider("WmiProv"),- l1 p+ g7 J' @9 W
Locale("MS\\0x409"),
! N0 Q- Y0 I, c- u v3 | Description("Class to test Query/Set a package"),
( I) k; q6 i7 E- M9 z5 H guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")" O" f- |' M7 t4 B1 ]+ R% T
]2 H4 n; U) j/ d- ]) |
class AcpiTest_QSPackage
% x( l3 `+ v" G9 m9 G2 a7 T. ]{
. K9 C# P' D( q: h [key, read]8 b& e5 r5 f9 a" k& N2 W8 Z
string InstanceName;( S/ Q! B$ b: e, H, Q! [* T- _
[read] boolean Active;& i' D `% N+ O* m! y
$ {( ]% w, a" Z: ~: _ [WmiDataId(1),
! ^* U; N* H' x3 X2 X! t( ` read, write,
7 ^* Q! y. A7 K( D4 p+ b9 w Description("description")
9 n9 e( c0 d: n; f( M9 a4 ^ ] Package Data;- w5 J( k3 [7 T+ C
" J9 W5 x9 x. P8 b7 U3 J- S- D};. u6 [1 X: d/ E% I( s3 U/ x; A# G
7 m* p& l1 B; j* @请教各位大侠,如果我想得到 packge 类型的Data 是不是用:
9 z# o+ {& i, m0 S4 e& m0 M& n, M3 R# l. r* I
hres = pSvc->ExecQuery(3 w1 M- [% o1 w, \& t8 }- \8 ]7 E1 D
bstr_t("WQL"), ' a# t& Y( U) M* J# J" p
bstr_t("SELECT * FROM AcpiTest_QSPackage"),3 @3 g' J# M0 V: Z0 W/ _: D
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
" x G) M7 }: H, P- q. g, O NULL,
0 z/ l+ N2 G/ o6 l6 ` &pEnumerator);
1 ?+ K) `5 V0 {+ w, d Y5 E+ ^" L( {, o+ _& h
HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
: f8 j+ y: M6 G4 @5 k- p" y1 w- C &pclsObj, &uReturn);3 f9 |$ J1 O- ~+ ^) d
" f: @4 l4 f4 K8 t1 W3 j% y: g* L4 ghr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);6 ^( d4 ^+ q- Z8 B0 V) {- z
如果是的话,我下一步要怎么操作vtProp?" ]/ j' K" x$ n, b7 y' F+ Y
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|