【发布时间】:2015-03-23 02:28:22
【问题描述】:
我正在尝试阅读根据 MSDN 应为 VT_UI4 类型的信息,
相当于Cardinal。
有问题的值是 WPD 设备WPD_STORAGE_TYPE,它指示设备中存在什么类型的存储。
MSDN 文章建议使用程序GetUnsignedInteger(),
但在 Delphi 中,它一直给我一个错误。
但是在 Microsoft WPDInfo 调试应用程序中,代表我需要阅读的内容的值非常正确地呈现。
但是,当使用过程 GetValue() 填充 tag_inner_PROPVARIANT 时,不会返回错误,但我找不到要读取的正确值。
我已经使用CompareMem 进行了测试,方法是比较两个tag_inner_PROPVARIANT,然后调用GetVaue() 填充其中一个,然后再次比较它们,实际上是传递给GetValue()被填充。
我也查看了填充的 tag_inner_PROPVARIANT 中的指针
在填充之前和填充之后,从pcVal 到pdblVal 的指针都在填充之后分配。
因此,通过使用 CPU 窗口或 Delphi 中的某种工具,应该可以指示正在更改的值。对吧?
基本上,我想监控一块内存,特定于一条记录或任何定义指向tag_inner_PROPVARIANT的变量。
【问题讨论】:
标签: delphi debugging memory cpu monitor