GlobalAlloc

機能
ヒープ内にメモリブロックを確保
Declare Function GlobalAlloc Lib "kernel32.dll" _
(ByVal uFlags As Long, ByVal dwBytes As Long) As Long
Declare Function GlobalAlloc Lib "kernel32.dll" _
(ByVal uFlags As Integer, ByVal dwBytes As Integer) As Integer

HGLOBAL GlobalAlloc(
UINT uFlags,
SIZE_T dwBytes
);
引数
uFlags

メモリの確保方法を指定する定数の組み合わせ
0のときGMEM_FIXEDが設定される
dwBytes
確保するバイト数
0を設定して、uFlags=GMEM_MOVEABLEのとき
破棄済みのメモリオブジェクトのハンドルを返す
戻り値
正常終了のとき  メモリブロックのハンドル
エラーのとき  0
備考
この関数によって確保されるメモリ領域のサイズは8バイト単位で丸められる。
よって実際に確保されるサイズは要求したバイト数より大きい場合がある。
実際に確保されるサイズを取得するにはGlobalSize()関数を実行する。
確保したメモリブロックが不要になった時点で
GlobalFree()関数で開放しなければならない。
uFlagsの定数

GMEM_FIXED = &H0                    固定メモリブロックを確保
                                     GMEM_MOVEABLEとの組み合わせは不可
GMEM_MOVEABLE = &H2                 移動可能なメモリを確保
                                     GMEM_FIXEDとの組み合わせは不可
GMEM_ZEROPOINT = &H40               メモリの内容を0で初期化する
サンプル
ダウンロード(GlobalAlloc.lzh 2.03KB)