|
|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:
- L$ V3 a, R# V' L3 l9 m/ ~
6 l3 J+ N6 B+ J$ t4 l+ C' D( z; Xclass Package
. u" m. t: V0 h" J8 ~% Z2 E8 K{
1 A6 C7 e4 y2 t$ r( o! V [WmiDataId(1),! Y( l. u. r9 E( ?" \
read, write,
% ~6 {+ q2 Y+ d0 D/ | V: K Description("16 bytes of data")- n: @9 z* v, r! Y+ b6 A5 k E0 G
] uint8 Bytes[16];
: ]# D! ]. j# N, o% }* V& T};7 ^, g. U0 {& j7 Q) ~
5 u d( k% F6 E. ?- k5 b
[WMI,+ I( O. D6 |% k1 F
Dynamic,5 W# m6 Z3 K/ K7 h2 N
Provider("WmiProv"),
- d3 ?3 b7 u9 i9 h& m4 I7 \% W Locale("MS\\0x409"),5 l m8 y5 s# d8 | B
Description("Class to test Query/Set a package"),
1 |3 B1 k" n. E, r guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")
6 b$ C, X7 O9 y5 A) }7 D]2 d7 E* k6 Y; b0 t
class AcpiTest_QSPackage
- M% N. z' i& D+ d- n' |{
# E) U: c9 ]; X [key, read]1 W; ~2 v/ r. Q: {5 Q
string InstanceName;' S/ u; w6 ]4 U
[read] boolean Active;, t7 d5 I0 B, N, a2 ~) z" V
. W- B: J, ~. w8 Z$ r: R0 M- L4 T [WmiDataId(1),2 M! @% z: v1 [. g1 E# L( u" Z
read, write,% `! d) j- v! F$ T9 p
Description("description")
3 B! S+ u3 o1 d* T+ b$ s7 \; z ] Package Data;
8 k! q* E4 g' l7 L6 `
5 `2 f; `3 Z7 y};/ X& j8 S- @# I- l1 Z
) V; |8 |3 W5 _' M请教各位大侠,如果我想得到 packge 类型的Data 是不是用:
( t; a7 ]) Z$ w1 A7 s
$ G; ?7 n6 O5 e+ G1 Phres = pSvc->ExecQuery(
, l; ^ D6 _2 r+ A9 g bstr_t("WQL"), ! X; I6 v: M5 G. z' w
bstr_t("SELECT * FROM AcpiTest_QSPackage"),
3 Z' b0 @; B/ `7 }5 a0 E! ]7 b+ X WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
1 m n' i5 t+ }6 F6 e NULL,
4 V* G# s% @! H &pEnumerator);# ]% T( ]' I+ O6 a) |
! p5 _) }! Q) T
HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, - c, Q$ B2 M( n* `
&pclsObj, &uReturn);
# a; j& N9 `4 r! j q2 I
/ F% A+ y2 h; ^: b8 ehr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);4 L0 Q" ]4 e9 d
如果是的话,我下一步要怎么操作vtProp?
# S. J8 |2 S& I) c单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|