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