Marshal.AllocHGlobal Marshal.AllocHGlobal Marshal.AllocHGlobal Marshal.AllocHGlobal Method

정의

프로세스의 관리되지 않는 메모리에서 메모리를 할당합니다.Allocates memory from the unmanaged memory of the process.

오버로드

AllocHGlobal(Int32) AllocHGlobal(Int32) AllocHGlobal(Int32) AllocHGlobal(Int32)

지정된 바이트 수를 사용하여 프로세스의 관리되지 않는 메모리에서 메모리를 할당합니다.Allocates memory from the unmanaged memory of the process by using the specified number of bytes.

AllocHGlobal(IntPtr) AllocHGlobal(IntPtr) AllocHGlobal(IntPtr) AllocHGlobal(IntPtr)

지정된 바이트 수에 대한 포인터를 사용하여 프로세스의 관리되지 않는 메모리에서 메모리를 할당합니다.Allocates memory from the unmanaged memory of the process by using the pointer to the specified number of bytes.

AllocHGlobal(Int32) AllocHGlobal(Int32) AllocHGlobal(Int32) AllocHGlobal(Int32)

지정된 바이트 수를 사용하여 프로세스의 관리되지 않는 메모리에서 메모리를 할당합니다.Allocates memory from the unmanaged memory of the process by using the specified number of bytes.

public:
 static IntPtr AllocHGlobal(int cb);
[System.Security.SecurityCritical]
public static IntPtr AllocHGlobal (int cb);
static member AllocHGlobal : int -> nativeint
Public Shared Function AllocHGlobal (cb As Integer) As IntPtr

매개 변수

cb
Int32 Int32 Int32 Int32

메모리에서 필요한 바이트 수 입니다.The required number of bytes in memory.

반환

새로 할당된 메모리에 대한 포인터입니다.A pointer to the newly allocated memory. 이 메모리는 FreeHGlobal(IntPtr) 메서드를 사용하여 해제되어야 합니다.This memory must be released using the FreeHGlobal(IntPtr) method.

예외

메모리가 부족하여 요청을 만족시킬 수 없습니다.There is insufficient memory to satisfy the request.

예제

다음 예제에서는 AllocHGlobal 메서드를 호출하는 방법을 보여 줍니다.The following example demonstrates calling the AllocHGlobal method. 이 코드 예제는에 대해 제공 된 큰 예제의 일부는 Marshal 클래스입니다.This code example is part of a larger example provided for the Marshal class.

// 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 클래스입니다.AllocHGlobal is one of two memory allocation methods in the Marshal class. (Marshal.AllocCoTaskMem 다른 됩니다.) 이 메서드는 Win32 노출 LocalAlloc Kernel32.dll에서 함수입니다.(Marshal.AllocCoTaskMem is the other.) This method exposes the Win32 LocalAlloc function from Kernel32.dll.

AllocHGlobal 호출 LocalAlloc, 전달를 LMEM_FIXED 잠그는에 할당 된 메모리를 플래그 합니다.When AllocHGlobal calls LocalAlloc, it passes a LMEM_FIXED flag, which causes the allocated memory to be locked in place. 또한 할당 된 메모리가 0-채워지지 않습니다.Also, the allocated memory is not zero-filled.

보안

SecurityCriticalAttribute
직접 실행 호출자에 대 한 완전 신뢰가 필요 합니다.requires full trust for the immediate caller. 이 멤버는 부분적으로 신뢰할 수 있는 또는 투명 코드에서 사용할 수 없습니다.This member cannot be used by partially trusted or transparent code.

추가 정보

AllocHGlobal(IntPtr) AllocHGlobal(IntPtr) AllocHGlobal(IntPtr) AllocHGlobal(IntPtr)

지정된 바이트 수에 대한 포인터를 사용하여 프로세스의 관리되지 않는 메모리에서 메모리를 할당합니다.Allocates memory from the unmanaged memory of the process by using the pointer to the specified number of bytes.

public:
 static IntPtr AllocHGlobal(IntPtr cb);
[System.Security.SecurityCritical]
public static IntPtr AllocHGlobal (IntPtr cb);
static member AllocHGlobal : nativeint -> nativeint
Public Shared Function AllocHGlobal (cb As IntPtr) As IntPtr

매개 변수

cb
IntPtr IntPtr IntPtr IntPtr

메모리에서 필요한 바이트 수 입니다.The required number of bytes in memory.

반환

새로 할당된 메모리에 대한 포인터입니다.A pointer to the newly allocated memory. 이 메모리는 FreeHGlobal(IntPtr) 메서드를 사용하여 해제되어야 합니다.This memory must be released using the FreeHGlobal(IntPtr) method.

예외

메모리가 부족하여 요청을 만족시킬 수 없습니다.There is insufficient memory to satisfy the request.

설명

AllocHGlobal 두 가지 메모리 할당 방법 중 하나인는 Marshal 클래스입니다.AllocHGlobal is one of two memory allocation methods in the Marshal class. (Marshal.AllocCoTaskMem 다른 됩니다.) 이 메서드는 Win32 노출 LocalAlloc Kernel32.dll에서 함수입니다.(Marshal.AllocCoTaskMem is the other.) This method exposes the Win32 LocalAlloc function from Kernel32.dll.

AllocHGlobal 호출 LocalAlloc, 전달를 LMEM_FIXED 잠그는에 할당 된 메모리를 플래그 합니다.When AllocHGlobal calls LocalAlloc, it passes a LMEM_FIXED flag, which causes the allocated memory to be locked in place. 또한 할당 된 메모리가 0-채워지지 않습니다.Also, the allocated memory is not zero-filled.

예제 코드는 MarshalAllocHGlobal를 참조하십시오.For example code, see Marshal and AllocHGlobal.

보안

SecurityCriticalAttribute
직접 실행 호출자에 대 한 완전 신뢰가 필요 합니다.requires full trust for the immediate caller. 이 멤버는 부분적으로 신뢰할 수 있는 또는 투명 코드에서 사용할 수 없습니다.This member cannot be used by partially trusted or transparent code.

추가 정보

적용 대상