|
在MS提供的acpimof.mof文件里定义了两个class,分别如下:3 `3 Z1 e: X# Z/ m6 J! U) M
( o/ D' B. D9 {( v7 a& I9 kclass Package
1 _, L! _0 C; j% ?) U{. k L5 q. K- R# U# e* f
[WmiDataId(1),
& A- H% S7 X) A) y read, write,
9 _! {' d3 s5 |- g8 N7 \ Description("16 bytes of data")
# [- B1 q; T* p' \2 b. T ] uint8 Bytes[16];) {) x4 D* o% J- ~0 V. {: X) R
};4 H+ q- i" h* v+ q0 V% h; `4 M
5 I- D8 M9 e$ {1 @+ j" _[WMI,0 f8 s% u3 D. ~2 r; O& i
Dynamic,: n. E+ @8 X8 z% J. I6 r* [
Provider("WmiProv"),
1 v/ x" a( u4 a( i' s Locale("MS\\0x409"),
0 ?# C0 A% X/ U5 e* `7 X Description("Class to test Query/Set a package"), w, T, F0 ]( M3 H5 c( e
guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")1 | M, X8 c; O; c' ~! [
]
9 K1 o0 j @2 k0 c8 K* W# s5 A" @class AcpiTest_QSPackage, E. A6 A7 c$ g! N Q
{4 }5 t0 S, K: z n: I9 o
[key, read]; q& p' G/ T) u4 l: ]) E5 _6 i1 U& X
string InstanceName;. j0 l- R7 w. P1 J5 w
[read] boolean Active;+ @& I) K4 Q- p) s! l
; j4 X3 c% f7 T6 u" A
[WmiDataId(1),* S5 L1 J4 Q1 X" A
read, write,
, M1 k" l" l3 e# O% ^$ \ Description("description")$ Y/ W {$ ^, }6 m' Q
] Package Data;) i4 N& A3 E; l
}. m8 F; ~* h# o5 G};9 K+ G! Z! I9 d: B# y
1 _/ C( ]& H, N/ H/ \" ?
请教各位大侠,如果我想得到 packge 类型的Data 是不是用:+ X9 f) P- S. O+ ^
- z# V" g8 g8 r4 Y7 z& d7 W0 _
hres = pSvc->ExecQuery(
9 D v: b1 x1 ]9 o& V$ x' T, l$ i0 Z7 K bstr_t("WQL"), & C! y/ @- R6 [& H# t+ P. x0 H
bstr_t("SELECT * FROM AcpiTest_QSPackage"),, W3 j: s; L( f7 {
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
. Z- o. p; x$ n# D9 f8 L+ W NULL,
6 G8 s; X) S. m- d2 q+ n &pEnumerator);6 p1 ?8 ^/ W" x" X5 K$ u/ c) u( Q. `
8 T9 ^3 T- U/ K* s3 k" ^- \% a
HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
G/ g& g9 \, ~; c# }3 K1 r# } &pclsObj, &uReturn);( |' M4 i7 u! g3 L: m
# H6 [& X; ~' X3 i# Ehr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);0 K0 B2 s' W$ E/ w
如果是的话,我下一步要怎么操作vtProp?
# o* ]$ t. F' B; y单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了! |
|