指定されたバイト数のメモリを、ヒープ領域から確保します。
dwBytes
戻り値
固定メモリを確保したときは、メモリ ブロックへのポインタが返ります。
解説
作成したメモリ オブジェクトが不要になったときは、GlobalFree関数を使用して破棄して下さい。
dwBytes パラメータで指定されたバイト数より、実際に確保されたバイト数のほうが大きい場合があります。実際に確保されたバイト数を調べるには、GlobalSize関数を使用して下さい。
固定メモリを確保したときは、戻り値のポインタが示すメモリにアクセスすることが可能です。
メモリの再確保を行う場合は、GlobalReAlloc関数を使用して下さい。
環境情報
インクルード ファイル: api_system.sbp 内で定義済み
定義
Declare Function GlobalAlloc Lib "kernel32" _
(uFlags As DWord, _
dwBytes As DWord) As HGLOBAL
uFlags
メモリ確保の方法を、以下の定数の組み合わせで指定します。
定数 説明 GHND 移動可能メモリを確保し、その内容を 0 で埋め尽くします。GMEM_MOVEABLE フラグと GMEM_ZEROINIT フラグの組み合わせです。 GMEM_FIXED 固定メモリを確保します。戻り値はメモリ ブロックへのポインタになります。 GMEM_MOVEABLE 移動可能メモリを確保します。戻り値はメモリ オブジェクトのハンドルになります。 GMEM_ZEROINIT 確保したメモリの内容を、0 で初期化します。 GPTR 固定メモリを確保し、その内容を 0 で埋め尽くします。GMEM_FIXED フラグと GMEM_ZEROINIT フラグの組み合わせです。
確保するメモリのバイト数を指定します。uFlags パラメータに GMEM_MOVEABLE フラグを指定し、このパラメータに 0 を指定したときは、破棄マークが付けられたメモリ オブジェクトが作成されます(後にメモリを確保する場合などに有効です)。
移動可能メモリを確保したときは、メモリ オブジェクトのハンドルが返ります。
関数が失敗すると、0 が返ります。
移動可能メモリを確保したときは、メモリ オブジェクトのハンドルを元に、GlobalLock関数を使用してメモリ ブロックへのポインタを取得する必要があります。
DLLファイル: kernel32.dll
GlobalFree関数、GlobalLock関数、GlobalReAlloc関数、GlobalSize関数