|
|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:% ]' w, i y( G- Z# D
/ F3 R5 |8 T% m6 K1 ]# E
class Package
) l) W$ D- ]8 C4 ^{
: ^( V2 }1 X9 f+ X6 W [WmiDataId(1),
6 s. l6 X$ h0 [! t& p read, write,$ B, |! J" X* I# ?7 ^1 h0 R4 {
Description("16 bytes of data"): d, C0 ?# B( s. L
] uint8 Bytes[16];9 u$ p* |% t) _
};
9 j" d: g+ s4 i! M" v/ G* k( ^/ S2 s4 O: F5 B
[WMI,
% b3 h+ v. B4 U Dynamic,6 g: Y' H; e" q/ P2 }3 x
Provider("WmiProv")," z1 X8 o B; |3 L! Y
Locale("MS\\0x409"),+ m( U; O8 K. R$ r" ~; M, X: I( J
Description("Class to test Query/Set a package"),
2 D$ _6 O P% L! e6 `7 r; X7 b2 M guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")
" m9 v, J( A8 L( D! z) O* l]
1 C$ a; ?9 P: E+ Eclass AcpiTest_QSPackage' c+ {+ A7 i4 H8 H
{$ R! F) c9 g J/ H( d3 g) ^( D
[key, read]% A6 M5 j: ]4 R8 V% `% a. a" q
string InstanceName;
, g" e( O0 L7 G2 p s [read] boolean Active;
/ O8 t5 b7 H0 Y9 |+ g% x) L* Y; {- P- l8 X
[WmiDataId(1),% S0 b) g: a, \- S/ M
read, write,: Y& V, u/ O7 L8 I# j
Description("description")
1 z6 i0 I8 Y' @, c. N- j; j ] Package Data;' ]) D* Z f5 E/ @0 E
3 g+ F( J+ h$ @$ N};
1 Z* G- _. J! y6 t4 }; a+ l+ P$ y, b
请教各位大侠,如果我想得到 packge 类型的Data 是不是用:" R7 W; [) R h
# f( {9 s& L6 _) @& e) f# `! W
hres = pSvc->ExecQuery(
7 T' K5 c* H7 `2 R) @7 G bstr_t("WQL"), 4 H7 S' n' P+ F& ^) A
bstr_t("SELECT * FROM AcpiTest_QSPackage"),! m/ C* s" j6 Y4 R7 l
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, . L" y5 K( U n( |! L
NULL,$ b1 l$ p. ~! |; O' q
&pEnumerator);
) R. I Z4 L, i3 Z q# h' ~4 J5 E. s w- }1 H( X
HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
. L" W! e' j" b# G& J &pclsObj, &uReturn);8 I: P% Q, D" h% A# L& P
9 M; v4 E6 P' {% _
hr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);
9 r" ~# w4 k) \" e! x如果是的话,我下一步要怎么操作vtProp?& _- D* B2 b3 {, @. c2 C2 }2 |8 b
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|