求助,GlobalAlloc函数到底返回什么值?

SteveYoung 2004-11-29 11:30:20
罗sir的书上(P360)写的:

“如果内存申请失败,eax 返回 NULL,否则返回只是一个纸箱内存块的起始地址的指针,用户需要保存这个指针,在使用内存或者释放内存的时候还要用到它”

查阅MSDN得到如下结果:

Return Values:

If the function succeeds, the return value is a handle to the newly allocated memory object.

If the function fails, the return value is NULL. To get extended error information, call GetLastError.


----------
请教高手,这里到底返回句柄还是指针???请指教一下,谢谢啦!
...全文
113 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangziz 2004-11-29
  • 打赏
  • 举报
回复
句柄, 指向一个 DROPFILES 结构体

hGlobal = GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT | GMEM_SHARE,
1024); // nice big chunk
if (!hGlobal)
return FALSE;
pData = GlobalLock(hGlobal);

在vc那边开贴问问吧。
Areslee 2004-11-29
  • 打赏
  • 举报
回复
句柄,需要LOCK之后才能用
xqlez 2004-11-29
  • 打赏
  • 举报
回复
如果用 GMEM_FIXED 返回指针
如果用 GMEM_MOVEABLE 返回句柄

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧