Win32API: HeapAlloc

指定されたバイト数のメモリを、ヒープ領域から確保します。


定義
Declare Function HeapAlloc Lib "kernel32" _
   (hHeap As HANDLE, _
    dwFlags As DWord, _
    dwBytes As DWord) As VoidPtr
hHeap
ヒープ ハンドルを指定します。

dwFlags
メモリ確保に関するオプションを、以下の定数を組み合わせて指定します。
定数説明
HEAP_GENERATE_EXCEPTIONS関数が失敗したときに、例外を発生させます。
HEAP_NO_SERIALIZEこの関数がヒープにアクセスしている間、相互排他を行わないようにします。
HEAP_ZERO_MEMORY確保したメモリの内容を 0 で初期化します。

dwBytes
確保するメモリのバイト数を指定します。

戻り値

確保されたメモリ ブロックの先頭ポインタが返ります。関数が失敗すると、0 が返ります。

解説

確保したメモリ ブロックが不要になったときは、HeapFree関数を使用してメモリから解放して下さい。
dwBytes パラメータで指定されたバイト数より、実際に確保されたバイト数のほうが大きい場合があります。実際に確保されたバイト数を調べるには、HeapSize関数を使用して下さい。
メモリ ブロックの再確保を行う場合は、HeapReAlloc関数を使用して下さい。

環境情報

インクルード ファイル: api_system.sbp 内で定義済み
DLLファイル: kernel32.dll


GetProcessHeap関数HeapCreate関数HeapFree関数HeapReAlloc関数HeapSize関数