|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:+ V' ^* l2 s. W3 T
; I3 }' c- M. J* Q9 t
class Package/ O3 c& A2 e3 J' C) K c
{
% d# r4 d) Q' g# J! e. T [WmiDataId(1),
0 |7 q3 }8 \% [ read, write,
: b- ]; X2 u! v Description("16 bytes of data")
7 P; L/ Y' C5 x4 ~! ^+ m ] uint8 Bytes[16];9 Q5 y1 H, M- k% r5 U
};" V& `0 {& Y. c8 I4 P0 O
% w" Q: ]- ~" q. @# X. s
[WMI,
6 J2 x* G6 D* s" Y' S8 E: d Dynamic,/ X/ s3 q, \* S0 f; U2 K
Provider("WmiProv")," k$ x1 s, o3 P/ v3 m
Locale("MS\\0x409"),/ d t; X. c. y6 Y
Description("Class to test Query/Set a package"),, Z0 E, x& B; s9 Z' l- n
guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")
4 }/ J' q: R2 k; o- P7 i% l]% m& s2 T7 o5 r$ }, A! L' i
class AcpiTest_QSPackage
/ X: p7 U( y* c( X{
5 \, v# s! w% Z% A [key, read]) s0 x1 H) ?! s7 U# y
string InstanceName;
* [ A: Y9 N2 r; {) s0 v [read] boolean Active;4 j% ^" \( [, B0 b5 z
. B1 W& w$ ^" w0 ^, O [WmiDataId(1),
% k' p$ K, M/ ?( ^" s' C read, write,2 I3 Y; ~' E \
Description("description")
$ k0 ^5 }% Z! K5 l5 n ] Package Data;8 u( F' y, c/ P; ]
% H- h4 R; h% o. @5 P
};. x" e% z; x! p. a7 F" W3 k3 K
4 n$ @5 L2 J$ e' V3 \7 }7 L
请教各位大侠,如果我想得到 packge 类型的Data 是不是用:
: M* s" X" h1 z' u3 |7 w2 k; @$ h5 b: U5 _3 Z3 j) D
hres = pSvc->ExecQuery(
0 Z; l3 T1 O3 k8 P$ h& i bstr_t("WQL"), 5 a# K4 i) R: F+ h
bstr_t("SELECT * FROM AcpiTest_QSPackage"),8 a1 [ V/ N' Y0 N. ]+ b
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
' R2 `) Z+ ?% T NULL,
$ w4 Y0 z ]8 N' y/ S &pEnumerator);
" U. w" p% z% Y
; z2 i9 l$ v; }1 n- O4 _HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, 9 Z+ N$ F9 F0 d$ H9 I
&pclsObj, &uReturn);
+ {' U! M0 y3 q( |8 s- ]: I
- y5 \3 N. z/ l- ]' shr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);' e9 P4 V0 d/ {; a/ q4 f
如果是的话,我下一步要怎么操作vtProp?1 E1 D; S' N; P& C3 S' a, u
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|