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

请教关于wmi and acpi

[复制链接]
发表于 2008-6-23 17:45:13 | 显示全部楼层 |阅读模式
在MS提供的acpimof.mof文件里定义了两个class,分别如下:
0 \! b+ r) c/ N
  l3 \8 O  g# z, G' w, ~2 f3 ~class Package* c, K2 G2 b, u& G  s0 O
{
' d& |! {: K. M2 w: [8 a) M# S9 H    [WmiDataId(1),
% _' D4 C8 @  ^4 y5 t+ L     read, write,! t3 B3 ^  @) x! d- k2 t/ D" K
     Description("16 bytes of data")+ S9 ], T: {* L9 ~' y. S
    ] uint8 Bytes[16];7 T  f. m8 \' z  a2 g! U
};
' O1 e* X  ^9 E/ {# S% j; i+ r5 [; P5 ~" m5 n
[WMI,/ a- }2 X8 P) T7 W
Dynamic," a8 U* D4 @, w2 P% \0 L& \) a
Provider("WmiProv"),
: m% e* M1 H  l" S9 F Locale("MS\\0x409"),/ n" |2 X: O1 ~6 a; X# d% O
Description("Class to test Query/Set a package"),# f8 s1 o8 m! v  ^9 {, n5 r) N
guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")! j9 U3 j  _* H' g: ~9 Z  H
]
, D; U1 t1 H2 {7 m: T7 u8 c' Tclass AcpiTest_QSPackage
9 {! j. [( p; W, r& U{
! u9 _. @0 l0 G1 \; {1 @' k    [key, read]& `2 B& q. u% w+ A4 I  g
     string InstanceName;
  }: J! `% C1 ]& y# [0 b$ v    [read] boolean Active;4 X. `" N; ]/ A  ]8 N

, @2 {0 @( P* f1 T) ?  A    [WmiDataId(1),
: V0 E7 M( r2 |     read, write,
! x* h+ ?# q4 D" h6 H" T8 W; v* F     Description("description")
# D6 d2 N% t2 [    ] Package Data;
* O4 B+ Y6 Q" F- X
+ o4 f" ^* J+ h# D% u/ K8 I8 f};
* z: p) N* N8 r' x* e: U, @+ _) L$ G0 D- A
请教各位大侠,如果我想得到 packge 类型的Data 是不是用:( ^- f$ z6 p8 e7 `( L$ ]7 @% c+ |) s

# u) I% Q+ F; Z" u2 [% p9 H* lhres = pSvc->ExecQuery(& A- g& i# H& G+ @* x8 [
        bstr_t("WQL"), 4 I# ^6 f4 \2 f6 U$ V+ q
        bstr_t("SELECT * FROM AcpiTest_QSPackage"),
; \( k; X6 u# x- I        WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, 3 M, X$ P  @" a
        NULL,
* W/ B3 O3 d1 ?. s) l1 c        &pEnumerator);
" d6 l1 D5 n7 F0 T: l0 l
: m1 u+ Y/ O# \5 Q- ]7 J% jHRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
$ e, @3 Y; \% [- |+ w5 ~# Q            &pclsObj, &uReturn);
: k5 z: P3 m' I/ U0 z" M' ]! z  [- I; R* f' h" i
hr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);5 `+ D+ H* }: }% h4 ^% Z
如果是的话,我下一步要怎么操作vtProp?
0 W$ W- A+ R# S) f0 }9 h) b单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了!
发表于 2008-6-23 18:32:31 | 显示全部楼层
方法之一:在Package已知长度的情况下,使用固定长度的数组。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-19 21:00 , Processed in 0.054317 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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