次の方法で共有


_aligned_msize_dbg

ヒープで割り当てられたメモリ ブロックのサイズを返します (デバッグ バージョンのみ)。

size_t _aligned_msize_dbg(
   void *memblock,
   size_t alignment,
   size_t offset
);

パラメーター

  • [入力] memblock
    メモリ ブロックへのポインター。

  • [入力] alignment
    アラインメント値。2 の整数乗である必要があります。

  • [入力] offset
    アラインメントを強制するためのメモリ割り当てへのオフセット。

戻り値

符号なし整数としてサイズ (バイト数) を返します。

解説

alignment と offset の値は、ブロックを割り当てた関数に渡される値と同じである必要があります。

_aligned_msize_dbg は、_aligned_msize 関数のデバッグ バージョンです。 _DEBUG が定義されない場合、_aligned_msize_dbg への各呼び出しは _aligned_msize への呼び出しになります。 _aligned_msize_aligned_msize_dbg は、どちらもベース ヒープ内のメモリ ブロックのサイズを計算しますが、_aligned_msize_dbg はデバッグ機能を追加します。そのため、返されるサイズに、メモリ ブロックのユーザー部分の両側のバッファーが含められます。

この関数は、そのパラメーターを検証します。 memblock が null ポインターであるか alignment が 2 の累乗でない場合、_msize は「パラメーターの検証」で説明されているように、無効なパラメーター ハンドラーを呼び出します。 エラーが処理されると、errnoEINVAL に設定され、-1 が返されます。

デバッグ バージョンのベース ヒープに対するメモリ ブロックの割り当て、初期化、管理方法の詳細については、「CRT デバッグ ヒープ」を参照してください。 割り当てブロック型と、それらがどのように使用されるかについては、「デバッグ ヒープ上のメモリ ブロックの型」を参照してください。 アプリケーションのデバッグ ビルドで標準ヒープ関数を呼び出す場合とデバッグ バージョンを呼び出す場合との違いについては、「デバッグ バージョンのヒープ割り当て関数」を参照してください。

必要条件

ルーチン

必須ヘッダー

_aligned_msize_dbg

<crtdbg.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

ライブラリ

C ランタイム ライブラリのデバッグ バージョンのみ。

同等の .NET Framework 関数

使用できません。標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。

参照

関連項目

メモリ割り当て