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

请教关于wmi and acpi

[复制链接]
发表于 2008-6-23 17:45:13 | 显示全部楼层 |阅读模式
在MS提供的acpimof.mof文件里定义了两个class,分别如下:
, e- a, r& a: c) ?0 ^1 {# i0 c# y3 g1 j& G: `
class Package3 d# Q+ O# i5 `! [# H
{
, t( \+ \1 R0 @; `4 x: \    [WmiDataId(1),
7 n: A1 G8 r" ~; p; c% t! |     read, write,7 O) [# v% w0 ]2 h
     Description("16 bytes of data")
( o# x4 J% {- X& r3 I1 a2 d1 ^    ] uint8 Bytes[16];/ N" `8 A, D1 {5 e% z
};
: l- ]: g, c+ O" L) ~3 d. Z5 a9 J
/ g. |+ g' O! F& O7 c[WMI,
) z7 d8 k1 o: @3 R1 V5 T. D; L5 R7 \* x Dynamic,
* T, c8 _2 ?1 Y# J& p, n* M6 F) x Provider("WmiProv"),* w' o" G9 \; ^
Locale("MS\\0x409"),# l( u0 N8 [' G& H$ y6 j" M
Description("Class to test Query/Set a package"),: y7 H# [$ R; g" w2 }
guid("{ABBC0F6a-8EA1-11d1-00A0-C90629100000}")' v! r8 S+ G: M' D  O1 r1 S( Z5 Z  Y
]' H: f* q) e& ~0 ?
class AcpiTest_QSPackage' _* S" J" w( ^+ u# E
{; D7 K( z" G* F3 q* y
    [key, read]3 Y+ U! c+ R0 s) I* J
     string InstanceName;9 J7 t' U/ k4 K$ v
    [read] boolean Active;
7 E0 r4 E/ V* R& `, j- |
  L9 \* _4 A( n! p* b/ x( m# k    [WmiDataId(1),
; d2 _8 \' u! e1 W( k     read, write,
# k7 M% I% v) J6 m     Description("description")
& u7 M2 ]' i/ A$ T5 l    ] Package Data;; t& P3 v, ^& w, h: M. x
' S5 N+ q$ Z" c( m
};
  ~' ]! B! L, H& _, ^
+ Q8 R+ K! r! W5 z5 J7 e请教各位大侠,如果我想得到 packge 类型的Data 是不是用:" k8 |9 _! w) M3 q

) D, p4 j4 r, r3 Bhres = pSvc->ExecQuery(; P' w4 f$ _) S2 r- n
        bstr_t("WQL"),
; Q0 @# A3 C! @: |5 v4 c  M! z0 I        bstr_t("SELECT * FROM AcpiTest_QSPackage"),9 f6 d9 S9 p. N, y# |) t
        WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, 4 t; b7 W2 ~4 P+ S, ~
        NULL,
  z; ~# F$ |# |* Y        &pEnumerator);0 G4 u+ W* Y0 E* R3 N
! p# u6 M! z$ b7 R4 x: H  p+ U
HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, - X  z4 A% k) w2 X' _  G" l0 F
            &pclsObj, &uReturn);: |% T0 m0 R9 O& q$ ]

( a& M" w/ a$ U9 a% S1 o& Shr = pclsObj->Get(L"Data", 0, &vtProp, 0, 0);
* `3 ]' r- H' R" F如果是的话,我下一步要怎么操作vtProp?
) h# M. w  a2 f; g$ U- K# t单个的数或者字符串能得到,就是不知道怎么得到这种package类型的数,这个问题困扰了好几天了,望知道的大侠能指点小弟。谢谢了!
发表于 2008-6-23 18:32:31 | 显示全部楼层
方法之一:在Package已知长度的情况下,使用固定长度的数组。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-16 07:35 , Processed in 0.036427 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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