如何用GlobalAlloc分配内存?





api函数GlobalAlloc可以在堆中分配指定字节的内存。它的语法如下:

其中参数uFlags表示要分配的内存种类,参数 dwBytes表示要分配的内存字节大小。

GlobalAlloc可以分配可移动内存,也可以分配固定内存。

如果分配可移动内存,它的返回值是内存对象的句柄。如果要把可移动内存对象的句柄转化为实际的内存块的第一个字节的内存地址,需要用GlobalLock函数。

如果分配固定内存,它的返回值是分配的内存块的第一个字节的内存地址。

对于分配的内存,可以使用GlobalFree函数释放。

对于分配的内存,如果要获取它实际使用的大小,可以用GlobalSize函数获取。

以下是在vba中使用上述函数的一个示例:

 

发表评论