Evaluar y enviar comentarios
MSDN
MSDN Library
 StringToHGlobalUni (Método)
Contraer todo/Expandir todo Contraer todo
Esta página es específica de
Microsoft Visual Studio 2005/.NET Framework 2.0

Hay además otras versiones disponibles para:
Biblioteca de clases de .NET Framework
Marshal.StringToHGlobalUni (Método)

Copia el contenido de un objeto String administrado en la memoria no administrada.

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

Visual Basic (Declaración)
Public Shared Function StringToHGlobalUni ( _
    s As String _
) As IntPtr
Visual Basic (Uso)
Dim s As String
Dim returnValue As IntPtr

returnValue = Marshal.StringToHGlobalUni(s)
C#
public static IntPtr StringToHGlobalUni (
    string s
)
C++
public:
static IntPtr StringToHGlobalUni (
    String^ s
)
J#
public static IntPtr StringToHGlobalUni (
    String s
)
JScript
public static function StringToHGlobalUni (
    s : String
) : IntPtr

Parámetros

s

Cadena administrada que se va a copiar.

Valor devuelto

Dirección, de la memoria no administrada, donde se ha copiado s o 0 si se ha proporcionado la cadena null.
Tipo de excepciónCondición

OutOfMemoryException

El método no pudo asignar la suficiente memoria de montón nativo.

ArgumentOutOfRangeException

El parámetro s supera la longitud máxima permitida por el sistema operativo.

StringToHGlobalUni 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 FreeHGlobal. Este método proporciona la funcionalidad opuesta a la del método Marshal.PtrToStringUni.

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.

En el siguiente ejemplo de código se muestra cómo convertir el contenido de una clase String administrada a memoria no administrada y, a continuación, desechar la memoria no administrada cuando haya terminado.

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
Contenido de la comunidad   ¿Qué es Community Content?
Agregar contenido nuevo RSS  Anotaciones
Processing
© 2012 Microsoft. Reservados todos los derechos. Términos de uso | Marcas Registradas | Privacidad
Page view tracker