Heap32First

プロセスによって確保されたヒープの最初のブロックに関する情報を取得する。

Heap32First lphe, th32ProcessID, th32HeapID

lphe : [var] HEAPENTRY32 構造体へのポインタ。
th32ProcessID : [int] ヒープを所有するプロセスコンテキストの識別子。
th32HeapID : [int] 列挙対象のヒープの識別子。

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

解説

プロセスによって確保されたヒープの最初のブロックに関する情報を取得する。

[戻り値]
最初のヒープブロックの情報がバッファにコピーされた場合は TRUE、それ以外の場合は FALSE
を返す。ヒープが無効または空の場合、GetLastError 関数によって ERROR_NO_MORE_FILES エラー値が返される。

[備考]
呼び出し側アプリケーションは、HEAPENTRY32 の dwSize
メンバを構造体のバイト単位のサイズに設定する必要がある。Heap32First は dwSize
を構造体に書き込まれたバイト数に変更する。これは dwSize
の初期値より大きくなることはないが、より小さくなる可能性がある。値がより小さい場合、その値より大きいオフセットを持つメンバの値に依存してはならない。同じヒープの後続のブロックにアクセスするには、Heap32Next
関数を使用する。Heap32FirstHeap32Next
を使用してヒープを巡回することは、特に大きなヒープに対しては非効率である。代わりに HeapWalk を使用する。

情報

プラグイン / モジュール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