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

请教关于wmi and acpi

[复制链接]
发表于 2008-6-23 17:45:13 | 显示全部楼层 |阅读模式
在MS提供的acpimof.mof文件里定义了两个class,分别如下:% B  V% V+ I  T+ L/ N: J

* ~  s5 n9 q3 X2 O3 _1 N8 ]' rclass Package" D) Y5 v1 c/ f: o
{8 C9 @3 E  F+ K1 e( A+ v, T. F6 y
    [WmiDataId(1)," i% H% J1 S! @/ v, a! n
     read, write,- K6 r1 \; T9 G& `/ ]
     Description("16 bytes of data")1 B$ R# [, [  v/ a
    ] uint8 Bytes[16];
; }( `$ u4 v3 G; }3 ~};
, C+ I: v) {4 u/ P% w& h! v: ?6 u4 I) c% s' D3 o0 J$ o
[WMI,2 ^9 u9 M) P) w4 e7 E+ t
Dynamic,
+ v6 w7 q, r$ Q: A Provider("WmiProv"),
2 k# @( I3 b; P# f Locale("MS\\0x409"),- Z* ], n! {4 C0 U2 F2 P
Description("Class to test Query/Set a package"),
- ~! m+ e: x5 `" V0 E guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")( g# T& `: u% g; y+ d
]6 \4 k4 a# n& k: V3 r
class AcpiTest_QSPackage3 v7 B0 B4 Y! t8 i
{/ o  H! j' I1 k6 A- t
    [key, read]7 K7 h% a  B% P( q0 _- @3 `" ~
     string InstanceName;
  y* c5 ]# U+ c2 ]) e2 K+ ]/ K( N    [read] boolean Active;/ q$ q- E! |; b) t; ?9 `. k, I) z
% _2 n0 y( ^  e' W; D/ ^2 R
    [WmiDataId(1),
' y" B8 E) E, p+ h# M1 a  S7 i     read, write,
( U1 k0 ~% v* }) J+ R     Description("description")
; G; G) d' k4 |: o8 ?    ] Package Data;
0 p% N  T" f8 D$ H; x5 _! Q- O% ^2 w
};8 e/ g' z1 i9 L* R* S

; G, Y, D- y2 Q+ L7 L7 O请教各位大侠,如果我想得到 packge 类型的Data 是不是用:
3 K  A% ?5 Y! l+ p( r7 g. r3 u$ ]' \( w$ j/ H; z9 A1 U
hres = pSvc->ExecQuery(
1 E8 N9 }7 U/ K. q        bstr_t("WQL"), ( B% |4 h3 W3 @' G
        bstr_t("SELECT * FROM AcpiTest_QSPackage"),# _' Q3 x; Z# U& M# l1 y
        WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
$ G; ~8 |4 A, C: c- E' v        NULL,+ `: z6 D1 ~4 }( T5 v
        &pEnumerator);$ ?" ~0 c  Z1 \5 ^4 n" k

4 f; X8 T% Q8 C! z+ IHRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, 8 w& c7 S# E3 F: L. f7 v
            &pclsObj, &uReturn);0 q* I2 E+ ~' {  c6 z) F  n

9 g3 U; Z- |5 Y  C& u" I. Thr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);) A  }3 s4 d! ^; K  y
如果是的话,我下一步要怎么操作vtProp?% k) J8 g6 U6 k2 R  h* x
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了!
发表于 2008-6-23 18:32:31 | 显示全部楼层
方法之一:在Package已知长度的情况下,使用固定长度的数组。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-11-4 00:19 , Processed in 0.045901 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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