プログラミングのメモ帳(C/C++/HSP)

日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP)

メモリ属性の変更

2007年09月14日 18時38分49秒 | メモリ関連

確保後のメモリ領域の属性を変更するにはGlobalReAlloc()関数で行います。(戻る)

  1. uFlags=GMEM_MOVEABLE | GMEM_MODIFY(固定メモリから移動可能メモリに変更)
  2. uFlags=GMEM_MOVEABLE(新しい固定位置へ移動)
  3. uFlags=GMEM_ZEROINIT(再割り当てゼロ初期化)
  4. uFlags=0(再割り当て)

プロトタイプ宣言

HGLOBAL GlobalReAlloc(
  HGLOBAL hMem,    // グローバルメモリのハンドル
  SIZE_T dwBytes,  // 再割り当てのサイズ
  UINT uFlags      // 再割り当ての属性
);

サンプル

// 固定メモリから移動可能メモリに変更
HGLOBAL hMem, hReMem;

if ( (hReMem = GlobalReAlloc(hMem,0,GMEM_MOVEABLE | GMEM_MODIFY)) != NULL ){
  hMem = hReMem;
}
else{
  // 変更できない処理
}

サンプル

// 移動可能メモリから固定メモリに変更
HGLOBAL hMem, hReMem;

if ( (hReMem = GlobalReAlloc(hMem,0,GMEM_MOVEABLE)) != NULL ){
  hMem = hReMem;
}
else{
  // 変更できない処理
}

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« メモリサイズの拡張/収縮 | トップ | メモリサイズの取得 »
最新の画像もっと見る

コメントを投稿

メモリ関連」カテゴリの最新記事