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

请教关于wmi and acpi

[复制链接]
发表于 2008-6-23 17:45:13 | 显示全部楼层 |阅读模式
在MS提供的acpimof.mof文件里定义了两个class,分别如下:
- O" F& p8 i, Q' k8 L- o4 H6 ?/ }0 ?2 Z* i: Z- i& o8 {
class Package$ ]6 g5 P6 y, y% v$ o, Y
{) a: q/ B- n) M/ n4 z
    [WmiDataId(1),
1 d0 ~0 x' o# ^: ~8 _4 h8 S: |     read, write,
- f- [: i" H4 b# F     Description("16 bytes of data")6 L/ {# i# w/ @& C
    ] uint8 Bytes[16];4 v9 D6 _" A* q* G4 s6 i" |
};. W; ~7 X4 M" p! b; J+ ^' X

! Q% Q/ o9 e' |/ a[WMI,4 Q# g& K/ Y" h) M  B0 U
Dynamic,  s3 |7 J5 a1 `0 j" [0 w( K
Provider("WmiProv"),
: i/ ?: ]9 P- M- j& w" I Locale("MS\\0x409"),
7 C8 F4 O1 C$ \4 {# k+ z: @ Description("Class to test Query/Set a package"),
2 w) u/ o5 I3 O! |, u- z" b( p guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")! V) O& [" {; s/ c8 I* m6 K# u) a/ F+ A
]4 a4 D& n' l( z& D/ ~* n
class AcpiTest_QSPackage$ a4 ~, W9 j6 @0 w* l8 I! X/ J
{
0 d( `6 D. T: J; m6 Z# m    [key, read]% _  S: t5 M: T
     string InstanceName;% p% L* Y! W4 o9 M
    [read] boolean Active;
, }) w0 s# R% O0 e
2 Q# }$ R. Z8 d' A    [WmiDataId(1),
5 w" E0 _- \1 ?. s     read, write,1 _7 B5 f, x+ ~- {  G3 {8 v' h3 }9 Q
     Description("description")
3 a  G& I' Q! D2 e    ] Package Data;3 O, c. n0 u2 |, Q6 f* h9 g
6 `% b4 N% j- c6 c$ Q( y$ |# a
};! @3 _6 ~! y+ t

$ F1 s7 G. M( z请教各位大侠,如果我想得到 packge 类型的Data 是不是用:
! Y. q7 r0 Y6 r
& j& g( D3 J+ Y+ M& Q$ Chres = pSvc->ExecQuery(
/ k% n2 `+ z: d0 ?* N( Y  r3 ]0 A6 a        bstr_t("WQL"), 6 Y- h# h  k4 f1 m, y
        bstr_t("SELECT * FROM AcpiTest_QSPackage"),* @' y( e0 i% ?( b2 Y
        WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
) G/ a1 \0 V0 L, y$ ~" m3 v* F        NULL,8 }! [4 ?* L  v4 l+ Q3 D1 U
        &pEnumerator);
  E! {0 X( |8 F/ H( s% Q
7 m4 U5 v: B  qHRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, * D8 m. n3 k# t& W& L7 a
            &pclsObj, &uReturn);
: x: }: O( L+ A/ U2 C0 m4 O0 |
6 o3 G2 E/ A0 V  u4 a) Y; H% r2 @hr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);
' U) e2 N" t# K7 M* p如果是的话,我下一步要怎么操作vtProp?
# R) W; ]9 v! k+ s单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了!
发表于 2008-6-23 18:32:31 | 显示全部楼层
方法之一:在Package已知长度的情况下,使用固定长度的数组。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-5 16:01 , Processed in 1.616228 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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