GlobalAllock
语法:
C++
HGLOBAL WINAPI GlobalAlloc(__in UINT uFlags,__in SIZE_T dwBytes);
功能: 从堆中分配指定字节数的内存。
注意:全局函数有更大的开销,并提供比其它内存管理功能较少的功能。新的应用程序应该使用堆,除非文档指出全局函数应该使用功能。有关更多信息,请参阅全局和局部的功能。
uFlags [in]
内存分配的属性。如果指定为零,则默认为GMEM_FIXED。此参数可以是一个或多个下列值除特别指出的是不相容的组合。
GMEM_FIXED
0x0000Allocates固定的内存。返回值是一个指针。
0x0000Allocates固定的内存。返回值是一个指针。
GMEM_MOVEABLE
0x0002Allocates移动内存。内存块是从来没有搬迁的物理内存中,但它们可以在默认堆移动。
返回值是一个句柄内存对象。为了把该处理成一个指针,使用GlobalLock函数。
此值不能结合GMEM_FIXED。
GMEM_ZEROINIT
0x0040Initializes内存内容为零。
GPTR
0x0040Combines GMEM_FIXED和GMEM_ZEROINIT。
下面的值是过时的,但与16位Windows兼容。它们将被忽略。
GMEM_DDESHARE
GMEM_DISCARDABLE
GMEM_LOWER
GMEM_NOCOMPACT
GMEM_NODISCARD
GMEM_NOT_BANKED
GMEM_NOTIFY
GMEM_SHARE
dwBytes [in]
字节数分配。如果这个参数是零,uFlags参数指定GMEM_MOVEABLE,该函数返回的句柄内存对象标记为丢弃。
返回值
如果函数成功,返回值是一个句柄到新分配的内存对象。
如果函数失败,返回值为NULL。为了获得更多错误信息,调用GetLastError。