NativeMemory.AlignedRealloc(Void*, UIntPtr, UIntPtr) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Önemli
Bu API, CLS uyumlu değildir.
Belirtilen boyutta ve hizalamada hizalanmış bir bellek bloğunu bayt cinsinden yeniden ayırır.
public:
static void* AlignedRealloc(void* ptr, UIntPtr byteCount, UIntPtr alignment);
[System.CLSCompliant(false)]
public static void* AlignedRealloc(void* ptr, UIntPtr byteCount, UIntPtr alignment);
[System.CLSCompliant(false)]
public static void* AlignedRealloc(void* ptr, nuint byteCount, nuint alignment);
[<System.CLSCompliant(false)>]
static member AlignedRealloc : nativeptr<unit> * unativeint * unativeint -> nativeptr<unit>
Parametreler
- ptr
- Void*
Daha önce ayrılan bellek bloğu.
- byteCount
-
UIntPtr
nuint
unativeint
Ayrılacak bloğun bayt cinsinden boyutu.
- alignment
-
UIntPtr
nuint
unativeint
Ayrılacak bloğun bayt cinsinden hizalaması. Bu bir güç 2olmalıdır.
Döndürülenler
Yeniden ayrılan hizalanmış bellek bloğunun işaretçisi.
- Öznitelikler
Özel durumlar
alignment iki güç değildir.
Başarısız olan alignment belleği yeniden ayırmabyteCount.
Açıklamalar
Bu yöntem, gibi ptrnulldavranırAlignedAlloc(UIntPtr, UIntPtr).
Bu yöntem, başvurulmaması gereken ve bellek sızıntılarını önlemek için serbest olarak geçirilmesi gereken geçerli bir işaretçi olmasını sağlar byteCount0 ve döndürür.
Bu yöntem, Win32'de olduğu gibi _aligned_realloc platforma bağımlı, hizalanmış bir yeniden konumlandırma API'sidir.
Bu yöntem veya Realloc(Void*, UIntPtr)ile Free(Void*) uyumlu değildir. Bunun yerine veya AlignedRealloc(Void*, UIntPtr, UIntPtr)çağrısı AlignedFree(Void*) yapın.