Marshal.AllocHGlobal 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
프로세스의 관리되지 않는 메모리에서 메모리를 할당합니다.
오버로드
AllocHGlobal(Int32) |
지정된 바이트 수를 사용하여 프로세스의 관리되지 않는 메모리에서 메모리를 할당합니다. |
AllocHGlobal(IntPtr) |
지정된 바이트 수에 대한 포인터를 사용하여 프로세스의 관리되지 않는 메모리에서 메모리를 할당합니다. |
AllocHGlobal(Int32)
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
지정된 바이트 수를 사용하여 프로세스의 관리되지 않는 메모리에서 메모리를 할당합니다.
public:
static IntPtr AllocHGlobal(int cb);
[System.Security.SecurityCritical]
public static IntPtr AllocHGlobal (int cb);
public static IntPtr AllocHGlobal (int cb);
[<System.Security.SecurityCritical>]
static member AllocHGlobal : int -> nativeint
static member AllocHGlobal : int -> nativeint
Public Shared Function AllocHGlobal (cb As Integer) As IntPtr
매개 변수
- cb
- Int32
메모리에서 필요한 바이트 수 입니다.
반환
nativeint
새로 할당된 메모리에 대한 포인터입니다. 이 메모리는 FreeHGlobal(IntPtr) 메서드를 사용하여 해제되어야 합니다.
- 특성
예외
메모리가 부족하여 요청을 만족시킬 수 없습니다.
예제
다음 예제에서는 AllocHGlobal 메서드를 호출하는 방법을 보여 줍니다. 이 코드 예제는에 대해 제공 된 큰 예제의 일부는 Marshal 클래스입니다.
// Demonstrate how to call GlobalAlloc and
// GlobalFree using the Marshal class.
IntPtr hglobal = Marshal::AllocHGlobal(100);
Marshal::FreeHGlobal(hglobal);
// Demonstrate how to call GlobalAlloc and
// GlobalFree using the Marshal class.
IntPtr hglobal = Marshal.AllocHGlobal(100);
Marshal.FreeHGlobal(hglobal);
' Demonstrate how to call GlobalAlloc and
' GlobalFree using the Marshal class.
Dim hglobal As IntPtr = Marshal.AllocHGlobal(100)
Marshal.FreeHGlobal(hglobal)
설명
AllocHGlobal 는 클래스의 두 메모리 할당 방법 Marshal 중 하나입니다. (Marshal.AllocCoTaskMem 는 다른 입니다.) 이 메서드는 Kernel32.dll Win32 LocalAlloc 함수를 노출합니다.
AllocHGlobal 를 호출LocalAlloc
하면 플래그가 LMEM_FIXED
전달되어 할당된 메모리가 제자리에 잠깁니다. 또한 할당된 메모리가 0으로 채워지지 않습니다.
추가 정보
적용 대상
AllocHGlobal(IntPtr)
- Source:
- Marshal.Unix.cs
- Source:
- Marshal.Unix.cs
- Source:
- Marshal.Unix.cs
지정된 바이트 수에 대한 포인터를 사용하여 프로세스의 관리되지 않는 메모리에서 메모리를 할당합니다.
public:
static IntPtr AllocHGlobal(IntPtr cb);
[System.Security.SecurityCritical]
public static IntPtr AllocHGlobal (IntPtr cb);
public static IntPtr AllocHGlobal (IntPtr cb);
[<System.Security.SecurityCritical>]
static member AllocHGlobal : nativeint -> nativeint
static member AllocHGlobal : nativeint -> nativeint
Public Shared Function AllocHGlobal (cb As IntPtr) As IntPtr
매개 변수
- cb
-
IntPtr
nativeint
메모리에서 필요한 바이트 수 입니다.
반환
nativeint
새로 할당된 메모리에 대한 포인터입니다. 이 메모리는 FreeHGlobal(IntPtr) 메서드를 사용하여 해제되어야 합니다.
- 특성
예외
메모리가 부족하여 요청을 만족시킬 수 없습니다.
설명
AllocHGlobal 는 클래스의 두 메모리 할당 방법 Marshal 중 하나입니다. (Marshal.AllocCoTaskMem 는 다른 입니다.) 이 메서드는 Kernel32.dll Win32 LocalAlloc 함수를 노출합니다.
AllocHGlobal 를 호출LocalAlloc
하면 플래그가 LMEM_FIXED
전달되어 할당된 메모리가 제자리에 잠깁니다. 또한 할당된 메모리가 0으로 채워지지 않습니다.
예제 코드는 Marshal 및 AllocHGlobal를 참조하십시오.
추가 정보
적용 대상
.NET