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

请教关于wmi and acpi

[复制链接]
发表于 2008-6-23 17:45:13 | 显示全部楼层 |阅读模式
在MS提供的acpimof.mof文件里定义了两个class,分别如下:6 n& ~# X8 F' M5 Y9 q) J( a
( m. `$ e" B! K! C: L% K4 p% m; [
class Package
. C' K- r4 ^5 t0 Z{3 ~3 @# z2 K5 U* l3 D4 ?* u
    [WmiDataId(1),
. u3 k1 N5 h- i: s$ j: N# }     read, write,
% |7 P" N; F1 u     Description("16 bytes of data")/ Y- ]! i( ^! t# D7 e3 v
    ] uint8 Bytes[16];7 A9 b, N! |" i
};
/ M) q$ ?8 U- V& O2 A/ q( y7 c2 M7 a8 r; o) u) I  E3 S
[WMI,
- ^! {$ e- @& Y+ w9 j Dynamic,
) W( F7 v: y' q) Y- r Provider("WmiProv"),, k2 N: f9 i8 x
Locale("MS\\0x409"),
; C! b; b! B6 U Description("Class to test Query/Set a package"),' i8 y- b  x& T1 r& R$ |
guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")7 m; w% O$ L1 f' a. e: H
]8 F" {6 E, {% q' D5 ^5 h
class AcpiTest_QSPackage
! T& ]/ g( e. ~( s1 g7 R5 L, Q{
4 w; c1 D+ h5 W# O    [key, read]
$ n! g" {1 F- B. x     string InstanceName;
( E1 s' t+ f6 i2 A/ C    [read] boolean Active;% ]- Y0 N5 I* @( U. P5 r
4 I' }7 L' x2 l2 ^* w  @$ C! n
    [WmiDataId(1),
% W3 `- q( x6 F3 ^( ?8 L     read, write,% K- [- I' y2 [+ k( D
     Description("description")0 |& @; G- w9 e5 U
    ] Package Data;) n( ^3 @+ d# s( B

& |: f: l6 T5 Z+ i; I8 B6 g3 c. E};
; z+ H) v; X8 _2 b" R' _: u  f9 M' C8 F  s3 U* |' z( T; @+ u
请教各位大侠,如果我想得到 packge 类型的Data 是不是用:& X* {+ d3 k2 o3 ?% j+ g8 e
3 k0 s% l, @& W* ?( t( v/ w
hres = pSvc->ExecQuery(* v( v0 M1 K1 Y& o2 f& Y
        bstr_t("WQL"), 9 L  ]: T; N# v3 C/ o1 v% a5 G, u
        bstr_t("SELECT * FROM AcpiTest_QSPackage"),2 Y8 L2 ]7 b( R' T" V, s* a+ H
        WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, 9 A8 P7 _0 K+ N+ \8 L% n5 {
        NULL,
+ w+ R1 n' i+ n" [0 b        &pEnumerator);$ N0 ?0 m' z* ~9 h# S+ a: c

  {9 c$ y$ }/ {- w& ?HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
' m& V, F% d+ |/ I            &pclsObj, &uReturn);
. v. V$ d* I' V$ Z! U/ s8 N) ]1 Q2 z
hr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);
" U, j7 Z5 D7 F+ f) `5 @% b如果是的话,我下一步要怎么操作vtProp?1 b) z0 F7 e! F2 ?( y0 W$ _- n
单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了!
发表于 2008-6-23 18:32:31 | 显示全部楼层
方法之一:在Package已知长度的情况下,使用固定长度的数组。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-1 05:36 , Processed in 0.095140 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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