<Return[H]><Top>

Heap32First

Declare Function Api_Heap32First& Lib "kernel32" Alias "Heap32First" (ByRef lphe As HEAPENTRY32, ByVal th32ProcessID&, ByRef th32HeapID As ULONG_PTR)

Declare Function Heap32First Lib "kernel32" Alias "Heap32First" (ByRef lphe As HEAPENTRY32, ByVal th32ProcessID As Long, ByRef th32HeapID As ULONG_PTR) As Long

プロセスが割り当てたヒープの最初のブロックに関する情報を取得する。

パラメータ
lphe
   
HEAPENTRY32構造体へのポインタを指定する。
th32ProcessID
    ヒープを保持するプロセスコンテキストの識別子を指定する。
th32HeapID
    列挙したいヒープの識別子を指定する。

戻り値
    最初のヒープブロックがバッファにコピーされた場合は、TRUE が返る。それ以外の場合は、FALSE が返る。ヒープが無効、または空の

    場合は、 GetLastError 関数は ERROR_NO_MORE_FILES エラー値を返す。

解説
    呼び出し側のアプリケーションは、HEAPENTRY32 構造体の dwSize メンバを、この構造体のバイト単位のサイズに設定しなければならな

    い。Heap32First 関数は dwSize メンバを、この構造体に書き込まれたバイト数に変更する。後者の値は、dwSize メンバの最初の値を上

    回ることはないが、それより小さくなることはある。後者の値が最初の値より小さくなっていた場合、後者の値を上回るオフセット値を持つメン

    バの値を信頼しない。
    同じヒープのそれ以降のブロックにアクセスするには、 Heap32Next 関数を使う。