takeiteasy 发表于 2015-4-28 19:25:11

CreateToolhelp32Snapshot 失败的解决方法

在工作中遇到这样一个问题:CreateToolhelp32Snapshot 失败,利用GetLastError获得错误值是8,存储空间不足,无法处理此命令。

查看我们的存储空间,还有很多。这是为什么呢?

昨天跑到MSDN上去问了一下这个问题,没想到今天就有人给了我回答:使用TH32CS_SNAPNOHEAPS参数,既可解决这个问题。原因在于如果不采用改参数的话,有可能快照会占用整个堆的空间。

于是我们的使用方式将变为:
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS| TH32CS_SNAPNOHEAPS, 0);

目前我也只是简单验证了一下,OK。如果大家也遇到这种情况的话,不妨试一下。
页: [1]
查看完整版本: CreateToolhelp32Snapshot 失败的解决方法