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

请教关于wmi and acpi

[复制链接]
发表于 2008-6-23 17:45:13 | 显示全部楼层 |阅读模式
在MS提供的acpimof.mof文件里定义了两个class,分别如下:0 |# X& w5 f9 {4 r  |

# z8 Y9 m5 T1 `# rclass Package- c) m; W0 l' b1 j0 [! r5 u
{" @$ u$ k% ?+ {& w. d
    [WmiDataId(1),
; b6 t' p) {, Z" N: n- U: E2 d     read, write,3 Y; |3 c( q6 H' a( k) A
     Description("16 bytes of data")+ d  E4 J: H5 q3 @5 ], A! l/ u+ c
    ] uint8 Bytes[16];" x) j5 h; C  e0 |0 E8 m. Y
};5 y) @" V6 |( k- D8 i* y
$ E7 U" I4 ^( C, ~4 C
[WMI,/ Z  X" Q4 C8 z( n  i
Dynamic,
; Z5 W5 ^  B2 k+ [7 Q Provider("WmiProv"),' @" ]. ?" y/ D" C6 B  F
Locale("MS\\0x409"),
1 s: h' n5 Z( x; v# R Description("Class to test Query/Set a package"),
2 ^4 K4 I1 G1 T$ q7 V$ } guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")
6 |# a, @/ [. i% ^]
. J- D% N. j" gclass AcpiTest_QSPackage, Y& j6 S' ?6 T+ F3 b) b3 Y: f5 ^# A
{
# p: @; u1 [8 k    [key, read]0 q0 V- D3 [9 i2 r- W: N5 z
     string InstanceName;
  s8 R) i: R& s& N: Y$ c    [read] boolean Active;9 e5 g+ n+ ~1 _( {+ h

% R& O: d1 v/ N    [WmiDataId(1),/ N% r( `) ~0 @1 e; a$ B1 t. ]$ |5 h
     read, write,. w7 A- \8 E) r. g
     Description("description")
' q8 T  q) E0 U) y8 b7 w    ] Package Data;# t7 P; g2 J8 O& Z) s% T0 h! J
1 V- V$ o' `) j4 G& l& S$ @% K  M( G
};+ `3 W9 j  `3 K6 B! ]( @3 n
5 _7 l( ?2 k$ Y4 T% W# I
请教各位大侠,如果我想得到 packge 类型的Data 是不是用:* P0 R( G4 ?; J) q7 I% h' c
8 S2 X7 D9 p/ O4 f3 R
hres = pSvc->ExecQuery(
, b  D, m* m1 F3 W% p4 }9 p) _# `4 b        bstr_t("WQL"),
+ t5 A" w! m) R        bstr_t("SELECT * FROM AcpiTest_QSPackage"),- V' ?; v! N% l5 U& B! t3 P! @
        WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
. e, b/ [( ?. K. I4 V/ T5 ^, u        NULL,6 G3 A' v6 l1 P& h+ ^
        &pEnumerator);( g' `4 m& }+ _# z7 K

+ N  R: B, L8 K( `9 v* z% W" N: _HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
5 M0 |/ O3 S2 f2 f1 F6 {            &pclsObj, &uReturn);2 q0 c* `9 G2 O5 r, G& c
' W# P8 D; Z4 n+ c2 L8 u9 ]
hr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);" D6 ]/ Y& e) o
如果是的话,我下一步要怎么操作vtProp?/ ^7 V+ Z, j8 s4 O! q
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了!
发表于 2008-6-23 18:32:31 | 显示全部楼层
方法之一:在Package已知长度的情况下,使用固定长度的数组。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-7-20 22:23 , Processed in 0.100410 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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