找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 13056|回复: 1

请教关于wmi and acpi

[复制链接]
发表于 2008-6-23 17:45:13 | 显示全部楼层 |阅读模式
在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类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了!
发表于 2008-6-23 18:32:31 | 显示全部楼层
方法之一:在Package已知长度的情况下,使用固定长度的数组。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2026-3-15 06:50 , Processed in 0.162004 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表