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

请教关于wmi and acpi

[复制链接]
发表于 2008-6-23 17:45:13 | 显示全部楼层 |阅读模式
在MS提供的acpimof.mof文件里定义了两个class,分别如下:/ N' i5 E0 d5 k) {
/ @3 S/ }  a: B/ Y1 h8 e
class Package
# s+ A' W1 M: ]' d{& k) q- b6 T% E6 p
    [WmiDataId(1),
6 U8 Q1 W* h" }& F$ y     read, write,
) {4 B6 w7 A, Z. C- n     Description("16 bytes of data")2 i  C5 ^  x. O0 ]6 }" k9 c
    ] uint8 Bytes[16];* J% k* Q: M) l1 J( y& G1 F
};  o  I3 p9 ~. p* [( o& n

% M' q# H6 ^  U0 L[WMI,
9 e8 {! [" d0 `0 u Dynamic,
: j- \+ {& Z$ e  t& w3 I Provider("WmiProv"),7 j, W& [; P, X. y7 H0 c9 G
Locale("MS\\0x409"),
! p1 R  O/ {, k# |8 n8 x Description("Class to test Query/Set a package"),/ D7 n2 ^$ f8 H4 Q! f
guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")
& U. B' Y2 P" X; @]  t/ I% i$ ^/ U% Z! G
class AcpiTest_QSPackage4 M( Y. o1 M# [6 L) Y$ g
{) {9 o9 I# |8 A' c7 A, e$ b# C  c
    [key, read]
/ N, x, T& K8 `0 |, @3 f     string InstanceName;
% l6 ~; }! E  ]* a% B    [read] boolean Active;7 ?  z% c: Z/ R8 u
' I  n: H% r7 @  t" c  S, [6 W
    [WmiDataId(1),$ u3 I4 T) J# z6 s  y
     read, write,: E6 w. _& U* b. H2 A& ?, S
     Description("description")
( G! G7 @$ o$ u# `' p* S) M5 l) o    ] Package Data;8 J, o% D7 t6 @$ D

3 \5 ~4 h9 t6 c5 |1 E( _! }( J};4 h' S" E$ o* ^' {) c# U4 n, t% ?
+ `& y; Y3 z3 _8 F7 W
请教各位大侠,如果我想得到 packge 类型的Data 是不是用:  l1 x7 j1 r$ w. h1 Y2 @
# A3 `- W7 d# C, b- z# v
hres = pSvc->ExecQuery(
7 O7 D, W2 R, q5 ]" D! k7 e0 v        bstr_t("WQL"), * \( J, [$ s& A
        bstr_t("SELECT * FROM AcpiTest_QSPackage"),
2 w/ V( Y' {% X$ ^; F4 }        WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
/ i7 X. ~; T% U! f! v7 R7 z        NULL,1 B" u. K8 p8 H- J6 _
        &pEnumerator);% [6 e' i* M' ^( m* |5 x+ V& k$ J' q

; f9 [% [7 N/ l+ T% DHRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
0 Y) O/ K  V+ s* M! N" `            &pclsObj, &uReturn);
: f/ n: Z9 o6 u2 Q, Q5 U2 L6 ~
hr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);
9 G/ s* c1 E5 }如果是的话,我下一步要怎么操作vtProp?
" {6 O% x3 G0 H/ U2 S  a; w# D单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了!
发表于 2008-6-23 18:32:31 | 显示全部楼层
方法之一:在Package已知长度的情况下,使用固定长度的数组。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-1 02:19 , Processed in 0.071675 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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