Compartilhar via


Método Marshal.AllocHGlobal (IntPtr)

 

Dica

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Aloca memória de memória não gerenciada do processo usando o ponteiro para o número de bytes especificado.

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (em mscorlib.dll)

Sintaxe

[SecurityCriticalAttribute]
public static IntPtr AllocHGlobal(
    IntPtr cb
)
public:
[SecurityCriticalAttribute]
static IntPtr AllocHGlobal(
    IntPtr cb
)
[<SecurityCriticalAttribute>]
static member AllocHGlobal : 
        cb:nativeint -> nativeint
<SecurityCriticalAttribute>
Public Shared Function AllocHGlobal (
    cb As IntPtr
) As IntPtr

Parâmetros

  • cb
    Type: System.IntPtr

    O número necessário de bytes na memória.

Valor Retornado

Type: System.IntPtr

Um ponteiro para a memória recém-alocada. Essa memória deve ser liberada usando o método Marshal.FreeHGlobal.

Exceções

Exception Condition
OutOfMemoryException

Não há memória suficiente para atender à solicitação.

Comentários

AllocHGlobalé um dos dois métodos de alocação de memória no Marshal classe. (Marshal.AllocCoTaskMem é outro.) Esse método expõe o Win32 LocalAlloc função Kernel32.

Quando AllocHGlobal chamadas LocalAlloc, ele passa um LMEM_FIXED sinalizador, que faz com que a memória alocada ser bloqueada no local. Além disso, a memória alocada não é preenchidas com zeros.

Por exemplo de código, consulte Marshal e AllocHGlobal.

Segurança

SecurityCriticalAttribute

requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.

Informações de Versão

Plataforma Universal do Windows
Disponível desde 8
.NET Framework
Disponível desde 1.1
Biblioteca de Classes Portátil
Com suporte no: plataformas portáteis do .NET
Windows Phone
Disponível desde 8.1

Confira Também

AllocCoTaskMem
FreeHGlobal
AllocHGlobal Sobrecarga
Classe Marshal
Namespace System.Runtime.InteropServices

Retornar ao início