Marshal.StringToCoTaskMemUni(String) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Copia o conteúdo de um managed String para um bloco de memória alocado a partir do alocador de tarefas COM não gerido.
public:
static IntPtr StringToCoTaskMemUni(System::String ^ s);
[System.Security.SecurityCritical]
public static IntPtr StringToCoTaskMemUni(string s);
public static IntPtr StringToCoTaskMemUni(string s);
[<System.Security.SecurityCritical>]
static member StringToCoTaskMemUni : string -> nativeint
static member StringToCoTaskMemUni : string -> nativeint
Public Shared Function StringToCoTaskMemUni (s As String) As IntPtr
Parâmetros
- s
- String
Uma sequência gerida para ser copiada.
Devoluções
nativeint
Um inteiro representando um ponteiro para o bloco de memória alocado para a cadeia, ou 0 se s for null.
- Atributos
Exceções
O s parâmetro excede o comprimento máximo permitido pelo sistema operativo.
Há memória insuficiente disponível.
Observações
StringToCoTaskMemUni é útil para marshaling personalizado ou para uso ao misturar código gerido e não gerido. Como este método aloca a memória não gerida necessária para uma cadeia, liberte sempre a memória chamando Marshal.FreeCoTaskMem. Este método fornece a funcionalidade oposta de Marshal.PtrToStringUni. Os caracteres da cadeia são copiados como caracteres Unicode.
Esta API reflete a definição do Windows de Unicode, que é uma codificação UTF-16 de 2 bytes. Em muitas plataformas não Windows, o tipo de dado wchar_t é de 4 bytes, não de 2 bytes. Consulte o seu compilador para confirmar se wchar_t pode ser usado ou char16_t se deve ser usado em vez disso.