|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:4 ]: L o: B- J) ]& v
3 T$ k& o. L; K! y9 e* B/ p2 e7 q3 kclass Package
/ W1 w+ p) e5 W{
9 x s6 E* v! F [WmiDataId(1),
1 h/ u: `6 _5 Z) |/ ] read, write,
6 O6 c9 { T' y4 h, [* I5 r( K Description("16 bytes of data")+ R; [; F9 j6 k3 Q K+ n
] uint8 Bytes[16];
9 |/ y8 I" J' p};
$ W! \% @- [9 y7 ^
9 B4 M; n; M m[WMI,% J: `. @2 r) e# Z* w6 q
Dynamic,( ~) _3 p% X; I' ]$ k A
Provider("WmiProv"),
8 m$ b4 K0 r* b: S; \ Locale("MS\\0x409")," |, b* c; \7 s# {0 u1 y
Description("Class to test Query/Set a package"),7 y/ V3 ^ {/ {8 \! q# K9 m! n$ x
guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}"), k% t$ d! |; _' O" t" ?
]
# c9 I$ Z2 N, R- l, \class AcpiTest_QSPackage7 D6 R+ W) t9 j9 z8 c1 x D
{7 F, Q6 T; x! C& k
[key, read]
0 r$ T* i0 ?6 _5 }; \7 T! V string InstanceName;
6 R8 ~5 |) P. Y& [" Z/ l3 b8 w [read] boolean Active;/ `9 Z/ m. g g$ G4 U3 E
( ^; }& o- i$ L% O! t& [
[WmiDataId(1),8 V$ G+ O0 H7 z) v' J; J u' K3 s
read, write,! B% e G$ e$ [4 `- j. ^* n0 d0 ~! w
Description("description")( h+ D) F* Q% S+ S0 D
] Package Data;3 c3 I1 ^1 w0 r. f( o
2 f+ C7 W; A5 @, v};
; u* P3 ~3 w9 S- h
5 `% k% j+ i5 ~/ r! ?请教各位大侠,如果我想得到 packge 类型的Data 是不是用:
- ?6 ^4 n* Y6 F1 ]
* @1 Y3 D+ F7 R$ \6 Mhres = pSvc->ExecQuery(
4 }5 r( M9 B* a$ ^( V bstr_t("WQL"), s7 n3 r- h& c7 j$ E- L+ h3 D
bstr_t("SELECT * FROM AcpiTest_QSPackage"),
( b o N7 W* [3 J WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, ' N0 F. _" g: t4 K% ]
NULL,% j1 |$ r$ R0 b
&pEnumerator);; I$ P$ g: g+ O( w
' O9 [1 X) `% z( x# o6 T1 x. {
HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, ( W! s6 B# [4 }$ h8 f
&pclsObj, &uReturn);
5 N+ C- k' u h! V4 O4 v% S" @
! I; x! f6 R# O! d' Y( t) }( ~hr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);2 [$ Y* W# ]- ~& D
如果是的话,我下一步要怎么操作vtProp?5 x8 q, Q2 Q( e* ?" x2 N1 G
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|