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.IntPtrO 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
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