Microsoft psapi方法是否使用十进制或二进制表示法返回字节?

Does Microsoft psapi methods return bytes using decimal or binary notation?

本文关键字:表示 二进制 返回 字节 十进制 方法 psapi 是否 Microsoft      更新时间:2023-10-16

我刚刚开始了一个已经持续了几年的项目。它使用微软的PSAPI接口来获取内存数据。更具体地说,我们使用GetProcessMemoryInfo() .

我在假设我们收集的数据是以二进制记数法存储的(即1kb是1024字节)的情况下开始研究它。但是,我注意到已经编写的所有内容都是在假设数据采用小数表示法(千字节等于1000字节)的情况下编写的。当我问这个问题时,没有人知道数据的真实形式,到目前为止,我的谷歌搜索也没有透露任何关于这个的信息。


编辑:选择答案后:所以,我只是对一个字节在十进制和二进制中是什么有一个误解(例如它们是同一件事)。我只是很惊讶,我在这里问的人没有一个纠正我。不管怎样,谢谢你的解释。

这个API返回字节数。换句话说,这个问题基于以千字节为单位返回值的错误前提。你所说的二进制和十进制数量的区别适用于千字节、兆字节、千兆字节等。对于字节来说,这是一个没有意义的区别。

文档可以在这里找到:

  • PROCESS_MEMORY_COUNTERS .
  • PROCESS_MEMORY_COUNTERS_EX .

你会看到这样描述这些结构体的成员:

PeakWorkingSetSize

峰值工作集大小,单位为字节。

我只包含了一个例子,但它们都是相同的形式。

现在,如果您选择以千字节或兆字节或其他形式表示这些值,则可以自由使用您选择的任何定义