CreateToolhelp32Snapshot 失败的解决方法

CreateToolhelp32Snapshot 失败的解决方法


     在工作中遇到这样一个问题:CreateToolhelp32Snapshot 失败,利用GetLastError获得错误值是8,存储空间不足,无法处理此命令。 
     查看我们的存储空间,还有很多。这是为什么呢?

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

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

     目前我也只是简单验证了一下,OK。如果大家也遇到这种情况的话,不妨试一下。

你可能感兴趣的:(CreateToolhelp32Snapshot 失败的解决方法)