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

请教关于wmi and acpi

[复制链接]
发表于 2008-6-23 17:45:13 | 显示全部楼层 |阅读模式
在MS提供的acpimof.mof文件里定义了两个class,分别如下:
; k. Q$ y, k" W; p0 V0 B; ?3 C) D& v" A7 ]) t1 Q4 ]
class Package
) J) m) A- Q5 m  C% t{+ A0 g+ z2 ]; n/ l9 h8 V
    [WmiDataId(1),
: O! z: A" ~# T) {# I     read, write,
/ E, ^. o7 {: @! Z3 n& D     Description("16 bytes of data")
" X9 a  x; ]1 p6 Y    ] uint8 Bytes[16];
+ e# J' G: Z# t) H: M+ t* c};
% ^3 I" w4 K: ]/ z* S: G
2 f, h$ t9 V  u+ D7 S8 M* X[WMI,7 f1 B, i9 k3 _( F0 m  o# U
Dynamic,0 {7 U3 p1 Q) t% B. P* \+ r( Q
Provider("WmiProv"),9 o% ]8 H' u6 _
Locale("MS\\0x409"),$ v" j! _- ]4 z' j
Description("Class to test Query/Set a package"),  h. t! j& @0 J
guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")! j7 m0 O5 ]& ?: S7 v- x/ ~7 U
]
. ~. h" w5 L5 U3 y% V3 F) Yclass AcpiTest_QSPackage- w6 n. n+ I; \# b3 h  i- R- H$ M. Q6 x
{: _* [5 F. @5 @  V) w
    [key, read]2 m/ J0 Q0 g* [
     string InstanceName;
9 i/ y% P9 z7 ^% S0 ~* G0 h4 G  B    [read] boolean Active;, y( O3 ~8 p. E) [
6 c% K* O' x$ s1 U$ E: ^' c
    [WmiDataId(1),
5 V# e3 a: }2 z+ m6 S) \2 e     read, write,
: V$ L; x! t! V( V" m5 Y2 c( f     Description("description")$ J* R  [+ w/ u! D* h( D# ]
    ] Package Data;) X; g! M5 \& x5 O
- |* e: ]& t+ Q" L4 @
};/ y3 c; k: _9 r/ F6 h
8 y( j! x& O3 i& G" ]; ~' U
请教各位大侠,如果我想得到 packge 类型的Data 是不是用:
6 [- L  Q3 ~) _6 b- f$ D9 ^3 y* M% C8 o6 x/ z3 ]* n
hres = pSvc->ExecQuery(
6 P) m  P0 M& e  Y        bstr_t("WQL"), * X* r1 A+ @% K
        bstr_t("SELECT * FROM AcpiTest_QSPackage"),5 Y  {- }! F' W% L" O3 M
        WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, " e" [$ |$ f6 h" l. b& _4 L  r
        NULL,! u' _1 C- a* U
        &pEnumerator);9 }7 H/ ?( l( b5 v3 e% `- j

( Q3 k; y. O# p* y' B, E! bHRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
7 P7 B8 G* g- W) ]) C            &pclsObj, &uReturn);
8 _+ m* U$ D' A! X7 _. ~8 a4 H# M1 n: I) @- P, c
hr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);7 x1 C: Q; ~$ D( U( [
如果是的话,我下一步要怎么操作vtProp?& p; z9 Y0 `7 @. X! A+ U( |9 R3 F
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了!
发表于 2008-6-23 18:32:31 | 显示全部楼层
方法之一:在Package已知长度的情况下,使用固定长度的数组。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-10-12 08:06 , Processed in 0.056610 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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