Marshal.ReAllocHGlobal(IntPtr, IntPtr) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
AllocHGlobal(IntPtr)사용하여 이전에 할당된 메모리 블록의 크기를 조정합니다.
public:
static IntPtr ReAllocHGlobal(IntPtr pv, IntPtr cb);
[System.Security.SecurityCritical]
public static IntPtr ReAllocHGlobal (IntPtr pv, IntPtr cb);
public static IntPtr ReAllocHGlobal (IntPtr pv, IntPtr cb);
[<System.Security.SecurityCritical>]
static member ReAllocHGlobal : nativeint * nativeint -> nativeint
static member ReAllocHGlobal : nativeint * nativeint -> nativeint
Public Shared Function ReAllocHGlobal (pv As IntPtr, cb As IntPtr) As IntPtr
매개 변수
- pv
-
IntPtr
nativeint
AllocHGlobal(IntPtr)할당된 메모리에 대한 포인터입니다.
- cb
-
IntPtr
nativeint
할당된 블록의 새 크기입니다. 포인터가 아닙니다. 요청 중인 바이트 수이며 IntPtr형식으로 캐스팅됩니다. 포인터를 전달하면 크기로 처리됩니다.
반환
nativeint
다시 할당된 메모리에 대한 포인터입니다. 이 메모리는 FreeHGlobal(IntPtr)사용하여 해제해야 합니다.
- 특성
예외
요청을 충족할 메모리가 부족합니다.
설명
중요하다
이 네이티브 메모리 할당자는 Windows 플랫폼의 특정 Win32 API에서 호출할 때 단독으로 사용해야 하는 레거시 API입니다. .NET 6 이상을 대상으로 하는 경우 모든 플랫폼에서 NativeMemory 클래스를 사용하여 네이티브 메모리를 할당합니다. .NET 6 이하를 대상으로 하는 경우 모든 플랫폼에서 AllocCoTaskMem 사용하여 네이티브 메모리를 할당합니다.
ReAllocHGlobal Marshal 클래스의 두 메모리 재할당 API 메서드 중 하나입니다. (Marshal.ReAllocCoTaskMem 다른 항목입니다.)
이 메서드는 Kernel32.dllWin32 GlobalReAlloc 함수를 노출합니다. 반환된 포인터는 원본과 다를 수 있습니다. 다른 경우 원래 메모리 블록의 내용이 새 블록에 복사되고 원래 메모리 블록이 해제되었습니다.
적용 대상
추가 정보
.NET