|
|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:5 `: Z: j8 q! u& {( _
+ W1 y+ c# D5 G1 T5 x. q2 G9 x
class Package
; w: T' H# u' b# }( G{5 D* o) h W9 M
[WmiDataId(1)," A# \, t- W' [
read, write,5 Z/ S) [- Q# T
Description("16 bytes of data")& ~9 _4 U) v: q) T% {: o
] uint8 Bytes[16];
) {, r8 f) I& d9 X6 z" u$ r- G};
3 o7 Q" T! ?6 d+ P, g1 L7 w, G; c
# q5 a( R* V! x[WMI,
& T/ }! Q! f0 l2 p: G) O Dynamic,
) K% R" X/ q; C5 P6 M4 N: M Provider("WmiProv"),' M3 {2 L& E2 |& ?+ ~1 J9 B) T: A
Locale("MS\\0x409"),+ r% ]- C" l" B
Description("Class to test Query/Set a package"),5 U- a4 S3 K, v, p- t
guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")
% T* X# \0 D* B7 H% x. O]
" P* d+ ]: c, N; ]5 @( |* }class AcpiTest_QSPackage8 D+ _3 \ X( W1 j5 a- p: r; {6 F
{
/ E6 ~) e, g3 E1 y [key, read]
# X' W- k. \* \0 W string InstanceName;% U* @& d; I# f7 M
[read] boolean Active;6 |9 u4 S# f8 t: U/ T. x
7 m) [ K b8 U# p5 }# @/ s [WmiDataId(1),
& F8 Z8 z& ?9 b* W# I, U' D* @" l read, write,% u1 d0 D6 C% z
Description("description")
& h7 p4 j3 i3 e7 e1 @5 r ] Package Data;6 @ @" w8 K* r8 x$ t ~4 Z/ n- {9 N
2 e2 R' F' s5 A2 i};
0 Z& w0 \5 L* m+ |4 Y# G j; p- J9 }6 z( L
请教各位大侠,如果我想得到 packge 类型的Data 是不是用:
0 m& P$ a7 l( h% c4 [4 S6 z4 n9 t h9 [) c1 }
hres = pSvc->ExecQuery(" O+ C5 J% z/ A
bstr_t("WQL"), . {0 w7 u- A3 x f2 {
bstr_t("SELECT * FROM AcpiTest_QSPackage"),
5 r. ]5 X$ x5 }) ]; a, k; A WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
6 U/ {. S0 o! u" E# q1 S, n NULL,
0 {. E0 k; r( Q# s" R &pEnumerator);* k0 Z. c" s/ ?1 _+ @ D( k( `
$ z) Q0 I( E8 ?: X; I' `3 y& SHRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, 7 r, U" ~# W% W4 s
&pclsObj, &uReturn);1 H" r! ^1 b% }. R
2 j0 L9 y5 u* W+ Bhr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);' P" \! @: V- p2 ^0 N6 @
如果是的话,我下一步要怎么操作vtProp?( _, X+ r8 T) U
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|