Best Practice: GetProcessHeaps 和 GetProcessHeap 的使用。(The best practice of GetProcessHeaps and GetProcessHeap)

GetProcessHeaps返回当前进程的进程堆(process heap)的handle加上由HeapCreate创建的所有私有的heap的handle。

GetProcessHeap仅返回当前进程的进程堆(process heap)。

规则很简单:

1. 永远不要用GetProcessHeaps。尤其是不推荐使用GetProcessHeaps获取私有堆的handle,因为这将导致无法预估的后果。

2. 使用GetProcessHeap去获取当前进程的进程堆(process heap)。

3. 那些由HeapCreate创建出来的私有堆,必须由创建者自己去维护其生命周期。也就是说,只有创建者才可以去使用这些private heap的handle。

讨论

为什么不推荐使用GetProcessHeaps获取私有堆的handle?为什么这将导致无法预估的后果?

原文地址:https://www.cnblogs.com/Jialiang/p/GetProcessHeaps.html