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

请教关于wmi and acpi

[复制链接]
发表于 2008-6-23 17:45:13 | 显示全部楼层 |阅读模式
在MS提供的acpimof.mof文件里定义了两个class,分别如下:
# Z* T' ?( K  o( j1 ^% y6 A' U' X% p  T* ?: m2 q- L, L
class Package
' \1 |3 B% P2 [! u; C{1 @, I7 W& N$ k. D- {
    [WmiDataId(1),
/ p+ j7 Q! e: e' a% q9 z9 k     read, write,, p" p+ a) J( a1 S& `! i  i
     Description("16 bytes of data")1 r- R; I* U1 `6 A3 z
    ] uint8 Bytes[16];
3 ^% a: A& R" ~$ [};
4 a" r5 y- @8 O1 I) |4 \- A4 M8 s% {7 d- {
[WMI,
( L: u$ G, Z. w- C+ g7 a" D Dynamic,
. ^5 }# t. d8 ]1 J Provider("WmiProv"),
0 Q. ~8 X# p8 K7 P3 b Locale("MS\\0x409"),
0 \/ D% H5 G1 y0 r/ {" Y Description("Class to test Query/Set a package"),
+ y: R$ q# `" d% k+ ~5 u/ L0 U guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")8 ~/ s8 Q" P, K+ ]% T0 t/ p
]8 h) N6 H/ ^9 h' G# _) c
class AcpiTest_QSPackage6 c/ g6 @" z: m. Y7 w
{
" w& {5 C. I: O. _$ ]% g- c5 K    [key, read]
+ u/ n* Z% t' i8 q5 U     string InstanceName;: i0 B( E: b+ u7 u8 `+ D( d
    [read] boolean Active;
: x& W5 F3 {) k1 q4 [8 ^0 F
; I' `. N/ I( z/ I* w5 S: @    [WmiDataId(1),! u6 H3 X8 E* n- {$ U+ Z& \
     read, write,
7 n+ d1 {, `4 p: V     Description("description")
6 P2 I4 F9 i' [% K/ q+ B# F6 H    ] Package Data;+ P7 M6 \+ o" ]4 v

3 ^5 ?# y4 ]1 V' {0 D  w};/ Q- }  ^4 D6 B/ F2 N
; A  {/ |$ n2 F; \* C* S9 @" r
请教各位大侠,如果我想得到 packge 类型的Data 是不是用:* M% X7 J1 ^. j! j8 V: S6 |% w

& }/ F5 M* U; p" E( Y& e9 G' bhres = pSvc->ExecQuery(
/ \3 L8 P- `2 G: i' Z6 v        bstr_t("WQL"),
% a* @! m7 N8 Y$ S        bstr_t("SELECT * FROM AcpiTest_QSPackage"),
" k, Y" J6 b% Y7 L- @6 a        WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, 4 s' S" j& U# T! i% K. u
        NULL,9 p: G- B$ {: [# c$ _  w$ s$ x, w
        &pEnumerator);
* I5 }) T: `: Z3 Y
0 t* y. q) M0 W2 V- q1 Z+ eHRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
$ D- X2 C  B7 \1 J6 m# R/ Z            &pclsObj, &uReturn);" N* L4 i1 x9 q8 x9 H% T
! L8 {2 U8 N# i6 O' \! C
hr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);1 T2 X" d2 G: ~& z9 w% i2 {6 m% ^. |) v
如果是的话,我下一步要怎么操作vtProp?
# x; X0 f' J7 b+ r. t: E) _单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了!
发表于 2008-6-23 18:32:31 | 显示全部楼层
方法之一:在Package已知长度的情况下,使用固定长度的数组。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-1 09:14 , Processed in 0.110871 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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