GlobalAlloc

指定されたバイト数をヒープから割り当てる。(GlobalAlloc)

GlobalAlloc uFlags, dwBytes

uFlags : [int] 
dwBytes : [int] 割り当てるバイト数。uFlags に GMEM_MOVEABLE が指定されてこの値が 0 の場合、関数は廃棄されたとマークされたメモリオブジェクトのハンドルを返す。

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

解説

指定されたバイト数をヒープから割り当てる。(GlobalAlloc)

[戻り値]
関数が成功した場合、戻り値は新しく割り当てられたメモリオブジェクトへのハンドル。失敗した場合は NULL。拡張エラー情報は
GetLastError で取得する。

[備考]
Windows メモリ管理はローカルヒープとグローバルヒープを分離しないため、GlobalAllocLocalAlloc
は実質的に同じ。可搬メモリフラグ GHND と GMEM_MOVABLE
は不要なオーバーヘッドがかかり、安全に使うにはロックが必要なので、特別な理由がない限り避けるべき。新しいアプリケーションはヒープ関数(HeapAlloc
等)を使用すべきで、GlobalAlloc は DDE、クリップボード、OLE データオブジェクトなどで使用される。解放は
GlobalFree を使う(LocalFree では安全でない)。
(以下省略)

情報

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