|
|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:
0 \! b+ r) c/ N
l3 \8 O g# z, G' w, ~2 f3 ~class Package* c, K2 G2 b, u& G s0 O
{
' d& |! {: K. M2 w: [8 a) M# S9 H [WmiDataId(1),
% _' D4 C8 @ ^4 y5 t+ L read, write,! t3 B3 ^ @) x! d- k2 t/ D" K
Description("16 bytes of data")+ S9 ], T: {* L9 ~' y. S
] uint8 Bytes[16];7 T f. m8 \' z a2 g! U
};
' O1 e* X ^9 E/ {# S% j; i+ r5 [; P5 ~" m5 n
[WMI,/ a- }2 X8 P) T7 W
Dynamic," a8 U* D4 @, w2 P% \0 L& \) a
Provider("WmiProv"),
: m% e* M1 H l" S9 F Locale("MS\\0x409"),/ n" |2 X: O1 ~6 a; X# d% O
Description("Class to test Query/Set a package"),# f8 s1 o8 m! v ^9 {, n5 r) N
guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")! j9 U3 j _* H' g: ~9 Z H
]
, D; U1 t1 H2 {7 m: T7 u8 c' Tclass AcpiTest_QSPackage
9 {! j. [( p; W, r& U{
! u9 _. @0 l0 G1 \; {1 @' k [key, read]& `2 B& q. u% w+ A4 I g
string InstanceName;
}: J! `% C1 ]& y# [0 b$ v [read] boolean Active;4 X. `" N; ]/ A ]8 N
, @2 {0 @( P* f1 T) ? A [WmiDataId(1),
: V0 E7 M( r2 | read, write,
! x* h+ ?# q4 D" h6 H" T8 W; v* F Description("description")
# D6 d2 N% t2 [ ] Package Data;
* O4 B+ Y6 Q" F- X
+ o4 f" ^* J+ h# D% u/ K8 I8 f};
* z: p) N* N8 r' x* e: U, @+ _) L$ G0 D- A
请教各位大侠,如果我想得到 packge 类型的Data 是不是用:( ^- f$ z6 p8 e7 `( L$ ]7 @% c+ |) s
# u) I% Q+ F; Z" u2 [% p9 H* lhres = pSvc->ExecQuery(& A- g& i# H& G+ @* x8 [
bstr_t("WQL"), 4 I# ^6 f4 \2 f6 U$ V+ q
bstr_t("SELECT * FROM AcpiTest_QSPackage"),
; \( k; X6 u# x- I WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, 3 M, X$ P @" a
NULL,
* W/ B3 O3 d1 ?. s) l1 c &pEnumerator);
" d6 l1 D5 n7 F0 T: l0 l
: m1 u+ Y/ O# \5 Q- ]7 J% jHRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
$ e, @3 Y; \% [- |+ w5 ~# Q &pclsObj, &uReturn);
: k5 z: P3 m' I/ U0 z" M' ]! z [- I; R* f' h" i
hr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);5 `+ D+ H* }: }% h4 ^% Z
如果是的话,我下一步要怎么操作vtProp?
0 W$ W- A+ R# S) f0 }9 h) b单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|