<Return[H]><Top>

HeapFree

Declare Function Api_HeapFree& Lib "kernel32" Alias "HeapFree" (ByVal hHeap&, ByVal dwFlags&, lpMem As Any)

Declare Function HeapFree Lib "kernel32" Alias "HeapFree" (ByVal hHeap As Long, ByVal dwFlags As Long, lpMem As Any) As Long

HeapAlloc 関数または HeapReAlloc 関数がヒープから割り当てたメモリブロックを解放する。

パラメータ
hHeap
    [入力]解放したいメモリブロックを保持するヒープを指定する。

    HeapCreate 関数または GetProcessHeap 関数が返したハンドルを指定する。
dwFlags
    [入力]メモリブロックの解放の方法を制御するオプションを指定する。

    これらの値を指定すると、HeapCreate を使ってヒープを作成したときに flOptions パラメータで指定された、対応する値が上書きされる。

    値                                     

意味                                                                                                                                  

    HEAP_NO_SERIALIZE

HeapFree 関数がヒープにアクセスしている間、相互排他を行わないよう指示する。

    プロセスヒープにアクセスする場合は、この値を指定しないこと。

    一方、システムはアプリケーションプロセス内に、プロセスヒープに同時にアクセスする Ctrl+C ハンドラのような追加のスレッドを作成してもか

    まわない。
lpMem
    [入力]解放したいメモリブロックへのポインタを指定する。HeapAlloc 関数または HeapReAlloc 関数が返したポインタである。
 

戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。