|
|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:% S z, d1 h. b, r# K9 W+ u
. |+ z' b" A. q8 b
class Package ` K4 A/ o& ]$ T; K) P
{
- Z* d# {- \/ ]9 y [WmiDataId(1),4 {% M' B1 l/ k) t! {& |
read, write,
" a7 \$ P6 b/ G% \' J5 r9 u5 A Description("16 bytes of data")9 d( P% }4 F, }1 K" ]! S$ e6 e! S
] uint8 Bytes[16];
- L) y( R. Q' z5 X1 e6 r8 B3 [};: S2 K) _( |, B- T ^
: c, ]$ x4 N0 F( N3 E- i. \& a+ j[WMI,
9 f, ~7 Z* Q L Dynamic,
+ ^$ D' ]. t3 r: x9 ^ n: B Provider("WmiProv"),
7 s+ S [; x: V: l9 K- F7 j7 J Locale("MS\\0x409"),
) h2 b5 J3 A y, u& h% B Description("Class to test Query/Set a package"),6 [" ]( h3 k0 m/ z
guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}"); N4 w6 F# X/ w/ _: ~$ d
]
1 n% h- x" k9 Lclass AcpiTest_QSPackage
) d4 w8 r) W( F{
' ~5 D. o% c! n; b [key, read]) j4 Z6 n! _/ N
string InstanceName;0 {% r7 ~! \3 Q( J4 q4 _- T
[read] boolean Active;+ a* t- Q$ _+ Q( M6 V! i. k
9 `2 v8 ?6 O/ o/ s) Y8 G4 W [WmiDataId(1),+ c5 U* T! s4 N. D3 ?1 ]' Z+ M
read, write,
$ r6 Q+ g, g1 R Description("description")
. P' z8 i. V4 p8 \: [3 B ] Package Data;
2 ^2 p- s) m( f6 k
( J9 m2 r3 M: O) ]% P3 _6 y- N& |};
6 z0 u# G) w3 [) `
! d, L+ b/ x5 T1 Y6 t8 n请教各位大侠,如果我想得到 packge 类型的Data 是不是用:1 W* U$ e% N1 c. g0 r+ l
% y9 h4 h) Z. i( Q3 l) _hres = pSvc->ExecQuery(( T& s8 m+ {: T0 q
bstr_t("WQL"), 8 J" K& T! p2 _' c4 B E
bstr_t("SELECT * FROM AcpiTest_QSPackage"),% n) O& y& ?9 f$ z% { O' y w2 @
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
' D- J$ n+ r q! q! d NULL,
# @, ~0 B0 Y6 `7 w0 x; f6 J &pEnumerator);
/ @1 m" [: W4 @3 n# R V3 m: Z1 r$ u# M, }2 ^, ~9 j! o E
HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
) E" }3 v) Y' ?2 n5 P- U &pclsObj, &uReturn);
& Y! I5 T. K- A+ q$ o g# w
+ j' D5 k+ _3 i, o! h/ ]! Whr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);0 D: j* Z2 p( L: d
如果是的话,我下一步要怎么操作vtProp?% i7 E6 }2 N5 O6 R) ]( v& j K
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|