ヒープ内にメモリブロックを確保
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
メモリの確保方法を指定する定数の組み合わせdwBytes
0のときGMEM_FIXEDが設定される
確保するバイト数戻り値
0を設定して、uFlags=GMEM_MOVEABLEのとき
破棄済みのメモリオブジェクトのハンドルを返す
正常終了のとき メモリブロックのハンドル備考
エラーのとき 0
この関数によって確保されるメモリ領域のサイズは8バイト単位で丸められる。uFlagsの定数
よって実際に確保されるサイズは要求したバイト数より大きい場合がある。
実際に確保されるサイズを取得するにはGlobalSize()関数を実行する。
確保したメモリブロックが不要になった時点で
GlobalFree()関数で開放しなければならない。
サンプル
GMEM_FIXED = &H0 固定メモリブロックを確保
GMEM_MOVEABLEとの組み合わせは不可
GMEM_MOVEABLE = &H2 移動可能なメモリを確保
GMEM_FIXEDとの組み合わせは不可
GMEM_ZEROPOINT = &H40 メモリの内容を0で初期化する
ダウンロード(GlobalAlloc.lzh 2.03KB)