HeapCompact |
Declare Function Api_HeapCompact& Lib "kernel32" Alias "HeapCompact" (ByVal hHeap&, ByVal dwFlags&) |
||||
Declare Function HeapCompact Lib "kernel32" Alias "HeapCompact" (ByVal hHeap As Long, ByVal dwFlags As Long) As Long |
|||||
指定されたヒープをコンパクトにする。隣接する空きメモリブロックを結合し、大きな空きメモリブロックをコミットされていない状態に変更することにより、ヒープをコンパクトにする。 |
|||||
パラメータ
これは符号なし整数(unsigned
int)の値である。
を返す。
が原因で、失敗することがある。 る。シリアル化を実行するとパフォーマンスのコストがある程度発生するが、複数のスレッドが同じヒープでメモリの確保や解放を行おうとする ときは、シリアル化を行わなければならない。HEAP_NO_SERIALIZE フラグをセットすると、ヒープでの相互排他が防止できる。シリアル 化を行わない場合、複数のスレッドが同じヒープハンドルを使ってメモリの割り当てまたは解放を同時に行おうとすると、ヒープ内のデータが
壊れるはずである。そのため、HEAP_NO_SERIALIZE フラグを安全に利用できるのは、次の状況に限られる。
いる。 |