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

请教关于wmi and acpi

[复制链接]
发表于 2008-6-23 17:45:13 | 显示全部楼层 |阅读模式
在MS提供的acpimof.mof文件里定义了两个class,分别如下:
4 C6 p6 a# ^( i, c7 u$ y2 O* }" }, \! u! M2 {
class Package( \+ s4 ~- s3 Z1 N5 i1 R/ ?4 L
{. ^; @- R6 [. e+ e" u+ A
    [WmiDataId(1),7 a& N6 y+ b5 w9 B8 H3 e0 s
     read, write,
3 ^' e4 h+ d- W     Description("16 bytes of data")
, C: J8 O5 o& L# O+ x* y    ] uint8 Bytes[16];5 n$ g4 M  D4 j8 o, x; h1 W
};
" ]( _0 u+ Y0 x, b- k
& a! A$ O2 D8 f2 e) ^# M; \5 l[WMI,
! e3 ^% U) H4 ^' b: H Dynamic,
7 o7 }3 L  h# j: [& N% L Provider("WmiProv"),0 V" e# d( i  \, g
Locale("MS\\0x409")," M  j2 a7 A1 w6 [
Description("Class to test Query/Set a package"),
7 q  g& Q- ]: [, g$ d& [  P guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")
$ D* f$ N7 n% K. o) W! F]
7 g+ H  P! k6 }: _- ~2 mclass AcpiTest_QSPackage
# O2 p2 Z: B5 Q{( M6 R6 e/ x6 E/ K1 o; @6 e5 l  w
    [key, read]4 E' f2 \, z- p
     string InstanceName;
5 d6 R+ s3 N  `  _/ a    [read] boolean Active;% _6 U4 C  u$ j
3 u8 P* y( ?' l/ r) E8 i
    [WmiDataId(1),: |" C" M; N' x6 }+ ^! A
     read, write,0 s+ j0 U* W, ?* Q
     Description("description")3 K0 d1 ^% A; ^& ^) ~7 V. k9 ^2 r
    ] Package Data;6 w. O  Z5 F$ E$ s

+ A7 y! H  S9 c% c& [};. d. X+ Z5 ~/ T% K8 {1 u9 b0 b/ t  n

7 S2 [* I5 L$ [( o3 l请教各位大侠,如果我想得到 packge 类型的Data 是不是用:7 }+ ~, _  z) b# X" o# w

# u* n. k8 L) |1 p8 n3 jhres = pSvc->ExecQuery(
- F/ `1 v( B2 V        bstr_t("WQL"),
, F9 |1 ^4 `$ {        bstr_t("SELECT * FROM AcpiTest_QSPackage"),1 y7 L& Z. Y2 ?2 Y( k% x
        WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, 9 v. |( k1 `6 C! Q
        NULL,) z5 j1 l" E( z6 A  P6 D8 i5 M, C
        &pEnumerator);
6 h: b( P7 c+ A* x; J) ~3 {6 C
4 }* _7 _6 x& F5 \, b- J! D- RHRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
8 S+ v  j2 {/ c. R. R6 W            &pclsObj, &uReturn);
9 M: `2 E, O1 F
) G' H6 J7 _5 {8 ghr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);
6 m1 G- R; {4 x1 `! v' }4 ]如果是的话,我下一步要怎么操作vtProp?* Y/ ?- l" f# J+ @, P' y3 w. l% O
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了!
发表于 2008-6-23 18:32:31 | 显示全部楼层
方法之一:在Package已知长度的情况下,使用固定长度的数组。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-20 03:47 , Processed in 0.039295 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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