HeapCreate

呼び出し元プロセスが使用できるプライベートヒープオブジェクトを作成する。プロセス仮想アドレス空間に領域を予約し、指定された初期部分に物理ストレージを割り当てる。

HeapCreate flOptions, dwInitialSize, dwMaximumSize

flOptions : [int] 
dwInitialSize : [int] ヒープの初期サイズ(バイト単位)。初期にヒープにコミットされるメモリ量を決定する。システムページサイズの倍数に切り上げられる。dwMaximumSize より小さくなければならない。0 の場合、関数は 1 ページをコミットする。
dwMaximumSize : [int] ヒープの最大サイズ(バイト単位)。HeapCreate はこの値をシステムページサイズの倍数に切り上げる。0 以外ならヒープサイズは固定で、最大サイズを超えて拡張できない。32 ビットプロセスでは 512KB 弱、64 ビットプロセスでは 1024KB 弱が最大割り当てブロックサイズ。0 ならヒープは利用可能メモリに応じて拡張可能。

(プラグイン / モジュール : kernel32.dll)

解説

呼び出し元プロセスが使用できるプライベートヒープオブジェクトを作成する。プロセス仮想アドレス空間に領域を予約し、指定された初期部分に物理ストレージを割り当てる。

[戻り値]
関数が成功した場合、戻り値は新しく作成されたヒープへのハンドル。失敗した場合は NULL。

[備考]
HeapCreate
はプライベートヒープを作成する。初期サイズは最初にコミットされるページ数を決定し、最大サイズは予約される総ページ数を決定する。HeapAlloc
の要求が現在のコミットページサイズを超えると、物理ストレージが利用可能な限り自動的にコミットされる。プライベートヒープのメモリは作成プロセスのみがアクセスできる。HEAP_NO_SERIALIZE
が指定されていない場合、ヒープは呼び出し元プロセス内でアクセスを直列化する。
(以下省略)

情報

プラグイン / モジュールkernel32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs