|
|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:
, B# p$ H2 E8 v+ n' v; Z. y! t% x/ @
. c0 l* W0 p1 ^, e* Eclass Package
' j6 k1 t' q* s, u9 ^{
' y% G" ]1 A5 V, v4 } [WmiDataId(1),& J2 i. ?& X) Q( m+ _* c4 q
read, write,4 q$ \7 B0 h2 l% F
Description("16 bytes of data")
+ H; [& B& T" {+ B ` ] uint8 Bytes[16];1 n+ E- N' r8 e9 d
};
2 K( M: ~ s$ `% W9 w) ]& N4 m/ x# D/ b! w
[WMI,
& l. g* Z& e- V1 b) n* R) p Dynamic,
! h: Y; \9 w, C Provider("WmiProv"),+ ^; x; Y; f! V! a
Locale("MS\\0x409"),
% |! V& v" s% K2 ^2 R. ] Description("Class to test Query/Set a package"),
& p: C, @, c, y2 _ guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")( w# l* i3 o' @' j- o7 A
]8 e* q9 s# @4 p
class AcpiTest_QSPackage
; D7 {! V F* m% `/ \{
; v" j* u9 i" ^ Z2 T) C [key, read]
& E: ?+ V! v4 j/ z7 i* P string InstanceName;4 }9 Q. h; D2 o9 F# _
[read] boolean Active;
4 x8 M+ R! [) @9 N5 L; P
^1 E: k# M' G7 B& C; a- @7 P8 h [WmiDataId(1),
$ X( t% \9 V, }8 v; e read, write,( Y" @; G, T5 T: {, _2 z
Description("description")+ E3 J4 @: x- p4 y
] Package Data;
! _2 \/ e3 c' M, Z% W5 g7 H D& V% i6 H4 t
};
4 c7 Q# |5 r9 q0 E! I' g7 m5 n
- `6 t' C( z: v: n a请教各位大侠,如果我想得到 packge 类型的Data 是不是用:
5 n0 W6 L1 Q$ Z- d R2 C5 h! T) W
hres = pSvc->ExecQuery(7 m6 t5 [" E3 h; J# u
bstr_t("WQL"), ( W% p- e3 _8 [4 j4 Y
bstr_t("SELECT * FROM AcpiTest_QSPackage"),* M( L& f6 q& x6 |) z
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, 9 M5 t" M8 b: F( R9 X5 y4 i M
NULL,
; n4 m' q! ^ h0 C &pEnumerator);
1 M1 Q- s6 b2 Q' S# |( k% N" u" x
HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, ' x0 z8 i' M. J; M
&pclsObj, &uReturn);
/ P! {6 G1 ?) R9 \; w7 Z5 q3 x6 Q" H! R! z6 ^
hr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);
6 _/ {1 p4 O" _5 D( w* i如果是的话,我下一步要怎么操作vtProp? w* E/ \& R5 Z* @ d; u6 u
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|