|
|
VB声明 |
Declare Function GlobalAlloc Lib "kernel32" Alias
"GlobalAlloc" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long |
说明 |
分配一个全局内存块 |
返回值 |
Long,返回全局内存句柄。零表示失败。会设置GetLastError |
参数表 |
参数 |
类型及说明 |
wFlags |
Long,对分配的内存类型进行定义的常数标志,如下所示: |
GMEM_FIXED |
分配一个固定内存块 |
GMEM_MOVEABLE |
分配一个可移动内存块 |
GMEM_DISCARDABLE |
分配一个可丢弃内存块 |
GMEM_NOCOMPACT |
堆在这个函数调用期间不进行累积 |
GMEM_NODISCARD |
函数调用期间不丢弃任何内存块 |
GMEM_ZEROINIT |
新分配的内存块全部初始化成零 |
dwBytes |
Long,要分配的字符数 |
注解 |
如指定了 GMEM_FIXED,那么返回值就是要使用的实际内存地址(GlobalLock
会返回同样的值)——所以在使用固定内存块的时候不需要执行一个
GlobalLock/GlobalUnlock 操作
由于 Win32
采用了高级的内存管理方案,所以使用可移动的内存块并没有什么好处
用这个函数分配的内存块允许在8位边界以内 |
|