NativeMemory.AlignedRealloc(Void*, UIntPtr, UIntPtr) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
重要
此 API 不符合 CLS 規範。
以位元組為單位,重新配置指定大小和對齊方式的對齊記憶體區塊。
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)]
public static void* AlignedRealloc (void* ptr, UIntPtr byteCount, UIntPtr alignment);
[<System.CLSCompliant(false)>]
static member AlignedRealloc : nativeptr<unit> * unativeint * unativeint -> nativeptr<unit>
參數
- ptr
- Void*
先前配置的記憶體區塊。
- byteCount
-
UIntPtr
nuint
unativeint
要配置的區塊大小,以位元組為單位。
- alignment
-
UIntPtr
nuint
unativeint
要配置的區塊對齊方式,以位元組為單位。 這必須是的威力 2
。
傳回
Void*
重新配置之內存區塊的指標。
- 屬性
例外狀況
alignment
不是兩個的乘冪。
重新配置 byteCount
失敗的 alignment
記憶體。
備註
這個方法的作用就像AlignedAlloc(UIntPtr, UIntPtr)ptr
是 null
。
這個方法允許 和會0
傳byteCount
回不應該取值的有效指標,而且應該傳遞以釋放以避免記憶體流失。
此方法是與平臺相依的重新配置 API,例如 _aligned_realloc
Win32。
這個方法與 或Realloc(Void*, UIntPtr)不相容Free(Void*)。 請改為呼叫 AlignedFree(Void*) 或 AlignedRealloc(Void*, UIntPtr, UIntPtr)。