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

请教关于wmi and acpi

[复制链接]
发表于 2008-6-23 17:45:13 | 显示全部楼层 |阅读模式
在MS提供的acpimof.mof文件里定义了两个class,分别如下:
% e/ v  P) Q. }8 J# g1 _  Z5 e& ~0 K+ s! T! D1 F) i+ n
class Package" `9 C0 z3 i" I% H
{* F& m  o3 P: K5 t$ d0 u2 f
    [WmiDataId(1),0 s+ Y' o7 j: y! ]3 x: Q5 A
     read, write,
- n% g# {+ t* s/ [; D, J6 q     Description("16 bytes of data")
  V: ]- }, o/ x1 ?% T) L" Q    ] uint8 Bytes[16];, \  K% l' L4 [0 b2 {5 g
};
. J: k# ]3 m; a4 D- _% \  s& p5 b( z6 X6 ~" z) F
[WMI,) l) W1 L% q! j  V2 P4 B
Dynamic,+ m" g+ n% X; P4 X) M% t& c' m
Provider("WmiProv"),
& U8 Y5 g+ [( ? Locale("MS\\0x409"),6 |# a0 ^! x( W4 H! @9 D9 G
Description("Class to test Query/Set a package"),3 {: A% M* h' Q
guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")
) L+ ~4 {5 r7 |6 e1 O8 @- ~2 l1 T]1 `0 O9 L0 S6 p! k* U7 s' A
class AcpiTest_QSPackage
* |2 J* Y8 P' q1 M  e, [( d! l8 ?{' S1 P4 F: e- {  t1 x" E
    [key, read]3 A9 j4 o0 A9 H" c% ]4 @% Q4 u8 J
     string InstanceName;1 H1 S1 C0 @& {
    [read] boolean Active;
8 g" ]9 P) f+ v: K7 y: g6 ?8 e7 k6 }1 |1 p6 R7 w. g! {3 o& p5 N
    [WmiDataId(1),
, c$ l( u  |! f( h  W     read, write,7 C/ o. O3 C$ r' C" u5 H; C
     Description("description"): }5 d( t4 d! L6 H3 b) C9 S2 t  ~
    ] Package Data;
$ y. }) Z: J" j4 D9 d9 F7 Q: ]; n' w  a2 M. ]
};
# D% P+ X& q9 ]" [+ }- B8 I; Q
请教各位大侠,如果我想得到 packge 类型的Data 是不是用:+ \6 O, I7 R& F. X, t. K
" n' A% _4 `5 b6 H# J
hres = pSvc->ExecQuery(
  v% d0 K' w6 Q        bstr_t("WQL"),
! G+ a8 ^; `% {- x6 h9 `        bstr_t("SELECT * FROM AcpiTest_QSPackage"),: ]" x. t0 n2 M/ c0 i7 N! d& y
        WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
- I6 y7 p1 _" R6 L7 Q2 H        NULL,' m/ ~3 B# k- _! x- B5 t+ j% T
        &pEnumerator);
) Q3 t: i" P# o/ s8 T* }( U
4 \8 B& ~6 g4 m9 Z) X1 xHRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
# Z6 s6 m( M/ u0 z6 j            &pclsObj, &uReturn);
( L/ p* O' y6 a$ I2 Z" N& B
8 o$ m$ o* n+ \& t9 vhr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);+ T( O# }- r- c0 W7 K- {. _
如果是的话,我下一步要怎么操作vtProp?
7 f  g5 ^  ~; z单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了!
发表于 2008-6-23 18:32:31 | 显示全部楼层
方法之一:在Package已知长度的情况下,使用固定长度的数组。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-29 05:16 , Processed in 0.022849 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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