Best Practice: GetProcessHeaps 和 GetProcessHeap 的使用。(The best practice of GetProcessHeaps and GetProcessHeap)
2009-03-30 21:23 Jialiang 阅读(2464) 评论(0) 编辑 收藏 举报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?为什么这将导致无法预估的后果?