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*
Önceden ayrılmış 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ücü 2olmalıdır.
Döndürülenler
Yeniden ayrılan hizalanmış bellek bloğuna bir işaretçi.
- Ö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ı ve bellek sızıntılarını önlemek için serbest olarak geçirilmesi gereken geçerli bir işaretçinin olmasına 0 izin verir byteCount ve döndürür.
Bu yöntem, Win32'de olduğu gibi _aligned_realloc platforma bağımlı, hizalanmış bir yeniden konumlandırma API'dir.
Bu yöntem veya Realloc(Void*, UIntPtr)ile Free(Void*) uyumlu değildir. Bunun yerine veya AlignedRealloc(Void*, UIntPtr, UIntPtr)öğesini arayınAlignedFree(Void*).