Compartilhar via


Método Marshal.StringToCoTaskMemAuto (String)

 

Dica

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

Copia o conteúdo de um String gerenciado para um bloco de memória alocado do alocador de tarefas COM não gerenciado.

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

Sintaxe

[SecurityCriticalAttribute]
public static IntPtr StringToCoTaskMemAuto(
    string s
)
public:
[SecurityCriticalAttribute]
static IntPtr StringToCoTaskMemAuto(
    String^ s
)
[<SecurityCriticalAttribute>]
static member StringToCoTaskMemAuto : 
        s:string -> nativeint
<SecurityCriticalAttribute>
Public Shared Function StringToCoTaskMemAuto (
    s As String
) As IntPtr

Parâmetros

  • s
    Type: System.String

    Uma cadeia de caracteres gerenciada a ser copiada.

Valor Retornado

Type: System.IntPtr

O bloco de memória alocada ou 0, se s for null.

Exceções

Exception Condition
OutOfMemoryException

Não há memória suficiente disponível.

ArgumentOutOfRangeException

O tamanho de s está fora do intervalo.

Comentários

StringToCoTaskMemAutoé útil para empacotamento personalizado ou para uso quando a mistura de código gerenciado e não gerenciado. Como esse método aloca a memória não gerenciada, necessária para uma cadeia de caracteres, sempre liberar a memória chamando FreeCoTaskMem. Esse método fornece a funcionalidade oposta do Marshal.PtrToStringAuto.

Os caracteres da cadeia de caracteres são copiados como caracteres ANSI ou Unicode, dependendo do sistema operacional onde o código está sendo executado. No Windows 98, os caracteres são copiados como caracteres ANSI. No Windows NT 4.0, Windows 2000, Windows XP e a família Windows Server 2003, os caracteres são copiados como caracteres Unicode.

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

.NET Framework
Disponível desde 1.1

Confira Também

PtrToStringAuto
Classe Marshal
Namespace System.Runtime.InteropServices

Retornar ao início