Esta documentación está archivada y no tiene mantenimiento.

Marshal.StringToCoTaskMemAuto (Método)

Copia el contenido de un objeto String administrado en un bloque de memoria asignado por el asignador de tareas COM no administrado.

Espacio de nombres: System.Runtime.InteropServices
Ensamblado: mscorlib (en mscorlib.dll)

public static IntPtr StringToCoTaskMemAuto (
	string s
)
public static IntPtr StringToCoTaskMemAuto (
	String s
)
public static function StringToCoTaskMemAuto (
	s : String
) : IntPtr

Parámetros

s

Cadena administrada que se va a copiar.

Valor devuelto

Bloque de memoria asignado o 0 si se suministra la cadena null.

Tipo de excepciónCondición

OutOfMemoryException

No hay memoria suficiente.

StringToCoTaskMemAuto resulta útil para el cálculo de referencias personalizado o cuando se combina código administrado y no administrado. Dado que este método asigna la memoria no administrada necesaria para una cadena, libere siempre la memoria mediante una llamada al método FreeCoTaskMem. Este método proporciona la funcionalidad opuesta a la del método Marshal.PtrToStringAuto.

Los caracteres de la cadena se copian como caracteres ANSI o Unicode, dependiendo del sistema operativo en el que se esté ejecutando el código. En Windows 98, los caracteres se copian como caracteres ANSI. En Windows NT 4.0, Windows 2000, Windows XP y la familia de Windows Server 2003, los caracteres se copian como caracteres Unicode.

NotaNota

Este método utiliza SecurityAction.LinkDemand para evitar que se le llame desde código que no sea de confianza; sólo el llamador inmediato debe disponer del permiso SecurityPermissionAttribute.UnmanagedCode. Si se puede llamar al código desde código de confianza parcial, no pase ninguna entrada de usuario a los métodos de la clase Marshal sin validación. Para conocer las limitaciones importantes que existen a la hora de utilizar el miembro LinkDemand, vea Demand frente a LinkDemand.

Windows 98, Windows 2000 SP4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0
Mostrar: