|
|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:
: y8 \3 U+ c! w5 q2 v! N/ @- V
E1 Q" K0 Y8 D/ xclass Package- ~: `3 f9 c8 j1 |! v# Z, w
{
- E1 V, r9 E5 h% X [WmiDataId(1),4 \3 b3 h. w2 d( Y, ?1 d- u
read, write,* J6 v1 k) z! ? i4 S9 U
Description("16 bytes of data")
# I# ~$ Z- K5 e3 L- _; k) @ ] uint8 Bytes[16];
2 X5 C, @7 c+ {% E: Q0 S};
3 c% W- s1 s5 [# g7 N
& U& D2 A) ^9 F5 \# \7 Y[WMI,0 @2 S! [3 L4 e6 \
Dynamic,
& |5 @2 g! e- ?7 ]0 s; i! o% t Provider("WmiProv"),
3 e4 k7 I3 o) [- T% i: J Locale("MS\\0x409"),
4 \# v; n) h$ i5 t3 J8 O Description("Class to test Query/Set a package"),- A+ w( O% t3 f1 r4 H" Q( F
guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")% K6 ]+ ]1 a( Y# s& M6 q
]# x4 U+ i3 q4 F! J4 q
class AcpiTest_QSPackage: j) i3 G$ L: n$ }
{
* H# ~* r, x3 i) S m {0 V+ {9 Z [key, read]
6 ~5 W+ P7 k( \' U string InstanceName;
; X6 p3 H8 w/ n# F& m [read] boolean Active;
. G8 x$ y6 v4 i# \6 q$ [" y" T9 L; J, x
[WmiDataId(1),
% F* u* _, `! w& I5 Q read, write,
& O9 ~7 y( ~0 u3 r3 ^' h Description("description")7 N4 s+ v; B2 [, z* h7 [
] Package Data;" a, t: }5 ]/ |
+ V7 p5 {; ~9 [
};) y0 E9 w2 ^% D& h
% F& R1 A8 k: c$ W v5 q7 V4 V请教各位大侠,如果我想得到 packge 类型的Data 是不是用:
2 J0 J7 ^; _1 v* f" D6 e% T& [, x# l' @( v
hres = pSvc->ExecQuery() {) P4 w3 P- @! g3 K0 Z* }$ [
bstr_t("WQL"),
3 e* p% j6 T( {6 g1 n bstr_t("SELECT * FROM AcpiTest_QSPackage"),
1 p' g: z2 R2 u+ t2 V0 ? WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
. @8 I; u# S$ A6 V7 k NULL,
# |1 V1 j, B& E2 { o# u! e &pEnumerator);
* n9 @' ^! ?' [$ o) E8 J8 l# H$ a ^+ f; W3 c
HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
* b+ U9 }1 }. x8 J, w0 _' \6 M' C &pclsObj, &uReturn);
3 D9 K) R5 k' e; [0 O: G
8 [( R$ z2 T% _* o6 X9 H' khr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);& x9 Q9 \- j9 P5 l7 |
如果是的话,我下一步要怎么操作vtProp?
1 F; {2 p2 Q* l7 ?单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|