NativeMemory.AlignedAlloc(UIntPtr, UIntPtr) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
重要
この API は CLS 準拠ではありません。
指定したサイズとアラインメントのメモリブロックをバイト単位で割り当てます。
public:
static void* AlignedAlloc(UIntPtr byteCount, UIntPtr alignment);
[System.CLSCompliant(false)]
public static void* AlignedAlloc (nuint byteCount, nuint alignment);
[<System.CLSCompliant(false)>]
static member AlignedAlloc : unativeint * unativeint -> nativeptr<unit>
パラメーター
- byteCount
-
UIntPtr
nuint
unativeint
割り当てるブロックのサイズ (バイト単位)。
- alignment
-
UIntPtr
nuint
unativeint
割り当てるブロックのアラインメント (バイト単位)。 これは 2
の累乗である必要があります。
戻り値
- Void*
割り当てられたメモリ のアラインされたブロックへのポインター。
- 属性
例外
alignment
は 2 の力ではありません。
失敗した byteCount
メモリ alignment
の割り当て。
注釈
このメソッドは、byteCount``0
逆参照すべきではなく、メモリ リークを回避するために free に渡す必要がある有効なポインターを返すことができます。
このメソッドは、C aligned_alloc
API または Win32 などの _aligned_malloc
プラットフォームに依存するアラインメント割り当て API に対するシン ラッパーです。
このメソッドは、 Free(Void*) または Realloc(Void*, UIntPtr). 代わりに、呼び出し AlignedFree(Void*) または AlignedRealloc(Void*, UIntPtr, UIntPtr).