指定したバイト数をヒープから割り当てます。
#Include <Memory.au3>
_MemGlobalAlloc($iBytes[, $iFlags = 0])
パラメータ
$iBytes | 割り当てるバイト数。このパラメータがゼロで$iFlagsパラメータが$GMEM_MOVEABLEの場合、 この関数は破棄マークのついたメモリオブジェクトのハンドルを返します。 |
$iFlags | [オプション]メモリ割り当て属性: $GMEM_FIXED - 固定メモリを割り当てます。返し値はポインタです。 $GMEM_MOVEABLE - 移動可能メモリを割り当てます。メモリブロックは物理メモリで移動することはありませんが、デフォルトヒープ内で は移動することができます。返し値はメモリオブジェクトのハンドルです。ハンドルをポインタに変換するには_MemGlobalLock関数を使用します。この値を$GMEM_FIXEDと組み合わせて使うことはできません。 $GMEM_ZEROINIT - メモリの内容をゼロで初期化します。 $GHND - $GMEM_MOVEABLEと$GMEM_ZEROINITの組み合わせ $GPTR - $GMEM_FIXEDと$GMEM_ZEROINITの組み合わせ |
返し値
成功: | 新しく割り当てられたメモリオブジェクトのハンドル |
失敗: | 0 |
注意
Windowsのメモリ管理ではローカルヒープとグローバルヒープの区別がありません。 この関数が成功した場合、少なくとも要求しただけのメモリ量が割り当てられます。実際の割り当て量が要求量よりも多い場合、プロセスはその全体を使用することが可能です。実際の割り当てバイト数を知るには_MemGlobalSize関数を使用してください。ヒープに割り当て要求を満足させるだけの十分な空き領域がない場合、この関数はNULLを返します。
関連
_MemGlobalLock, _MemGlobalSize, _MemVirtualAlloc, _MemGlobalFree
こちらも参照
MSDNライブラリでGlobalAllocを検索して下さい。