banana
欢迎访问香蕉部落http://www.bananatribe.net
函数HeapAlloc声明如下:
WINBASEAPI
__bcount(dwBytes)
LPVOID
WINAPI
HeapAlloc(
    __in HANDLE hHeap,
    __in DWORD dwFlags,
    __in SIZE_T dwBytes
    );
hHeap是进程堆内存开始位置。
dwFlags是分配堆内存的标志。
dwBytes是分配堆内存的大小。

调用函数的例子如下:

//分配堆内存。
void MemHeap(void)
{
        //
        const int nHeapSize = 1024;
        PBYTE pNewHeap = (PBYTE) HeapAlloc(GetProcessHeap(), 0, nHeapSize);
       
        if(pNewHeap)
        {
               //测试分配堆内存。
      ZeroMemory(pNewHeap,nHeapSize);
               memcpy(pNewHeap,_T("分配堆内存成功\r\n"),
                    sizeof(_T("分配堆内存成功\r\n")));
               OutputDebugString((LPWSTR)pNewHeap);
     
               //释放内存
               BOOL bRes = ::HeapFree(GetProcessHeap(), 0, pNewHeap);
               if (bRes != TRUE)
               {
                   OutputDebugString(_T("释放内存出错\r\n"));
               }
        }
}

posted on 2008-08-04 17:05  香蕉部落blog  阅读(648)  评论(0编辑  收藏  举报

欢迎点击访问香蕉部落