Marshal Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona una colección de métodos para asignar memoria no administrada, copiar bloques de memoria no administrados y convertir administrados a tipos no administrados, así como otros métodos varios que se usan al interactuar con código no administrado.
public ref class Marshal abstract sealed
public ref class Marshal sealed
public static class Marshal
public sealed class Marshal
type Marshal = class
Public Class Marshal
Public NotInheritable Class Marshal
- Herencia
-
Marshal
Ejemplos
En el ejemplo siguiente se muestra cómo usar varios métodos definidos por la Marshal clase .
using namespace System;
using namespace System::Runtime::InteropServices;
public value struct Point
{
public:
property int X;
property int Y;
};
extern bool CloseHandle(IntPtr h);
int main()
{
// Demonstrate the use of public static fields of the Marshal
// class.
Console::WriteLine(
"SystemDefaultCharSize={0},SystemMaxDBCSCharSize={1}",
Marshal::SystemDefaultCharSize,
Marshal::SystemMaxDBCSCharSize);
// Demonstrate how to call GlobalAlloc and
// GlobalFree using the Marshal class.
IntPtr hglobal = Marshal::AllocHGlobal(100);
Marshal::FreeHGlobal(hglobal);
// Demonstrate how to use the Marshal class to get the Win32
// error code when a Win32 method fails.
bool isCloseHandleSuccess = CloseHandle(IntPtr(-1));
if (!isCloseHandleSuccess)
{
Console::WriteLine(
"CloseHandle call failed with an error code of: {0}",
Marshal::GetLastWin32Error());
}
};
// This is a platform invoke prototype. SetLastError is true,
// which allows the GetLastWin32Error method of the Marshal class
// to work correctly.
[DllImport("Kernel32", ExactSpelling = true, SetLastError = true)]
extern bool CloseHandle(IntPtr h);
// This code produces the following output.
//
// SystemDefaultCharSize=2, SystemMaxDBCSCharSize=1
// CloseHandle call failed with an error code of: 6
using System;
using System.Text;
using System.Runtime.InteropServices;
public struct Point
{
public Int32 x, y;
}
public sealed class App
{
static void Main()
{
// Demonstrate the use of public static fields of the Marshal class.
Console.WriteLine("SystemDefaultCharSize={0}, SystemMaxDBCSCharSize={1}",
Marshal.SystemDefaultCharSize, Marshal.SystemMaxDBCSCharSize);
// Demonstrate how to call GlobalAlloc and
// GlobalFree using the Marshal class.
IntPtr hglobal = Marshal.AllocHGlobal(100);
Marshal.FreeHGlobal(hglobal);
// Demonstrate how to use the Marshal class to get the Win32 error
// code when a Win32 method fails.
Boolean f = CloseHandle(new IntPtr(-1));
if (!f)
{
Console.WriteLine("CloseHandle call failed with an error code of: {0}",
Marshal.GetLastWin32Error());
}
}
// This is a platform invoke prototype. SetLastError is true, which allows
// the GetLastWin32Error method of the Marshal class to work correctly.
[DllImport("Kernel32", ExactSpelling = true, SetLastError = true)]
static extern Boolean CloseHandle(IntPtr h);
}
// This code produces the following output.
//
// SystemDefaultCharSize=2, SystemMaxDBCSCharSize=1
// CloseHandle call failed with an error code of: 6
Imports System.Text
Imports System.Runtime.InteropServices
Imports System.Security.Permissions
Public Structure Point
Public x, y As Int32
End Structure
Public NotInheritable Class App
<SecurityPermission(SecurityAction.LinkDemand, Unrestricted:=True)> _
Shared Sub Main()
' Demonstrate the use of public static fields of the Marshal class.
Console.WriteLine("SystemDefaultCharSize={0}, SystemMaxDBCSCharSize={1}", Marshal.SystemDefaultCharSize, Marshal.SystemMaxDBCSCharSize)
' Demonstrate how to call GlobalAlloc and
' GlobalFree using the Marshal class.
Dim hglobal As IntPtr = Marshal.AllocHGlobal(100)
Marshal.FreeHGlobal(hglobal)
' Demonstrate how to use the Marshal class to get the Win32 error
' code when a Win32 method fails.
Dim f As [Boolean] = CloseHandle(New IntPtr(-1))
If Not f Then
Console.WriteLine("CloseHandle call failed with an error code of: {0}", Marshal.GetLastWin32Error())
End If
End Sub
' This is a platform invoke prototype. SetLastError is true, which allows
' the GetLastWin32Error method of the Marshal class to work correctly.
<DllImport("Kernel32", ExactSpelling:=True, SetLastError:=True)> _
Shared Function CloseHandle(ByVal h As IntPtr) As [Boolean]
End Function
End Class
' This code produces the following output.
'
' SystemDefaultCharSize=2, SystemMaxDBCSCharSize=1
' CloseHandle call failed with an error code of: 6
Comentarios
Los static métodos definidos en la Marshal clase son esenciales para trabajar con código no administrado. La mayoría de los métodos definidos en esta clase suelen usar los desarrolladores que desean proporcionar un puente entre los modelos de programación administrados y no administrados. Por ejemplo, el StringToHGlobalAnsi método copia caracteres ANSI de una cadena especificada (en el montón administrado) en un búfer del montón no administrado. También asigna el montón de destino del tamaño correcto.
Common Language Runtime proporciona funcionalidades específicas de serialización. Para más información sobre el comportamiento de serialización, consulte Serialización de interoperabilidad.
Los Read métodos y Write de la Marshal clase admiten el acceso alineado y no asignado.
Campos
| Nombre | Description |
|---|---|
| SystemDefaultCharSize |
Representa el tamaño de carácter predeterminado en el sistema; el valor predeterminado es 2 para los sistemas Unicode y 1 para los sistemas ANSI. Este campo es de solo lectura. |
| SystemMaxDBCSCharSize |
Representa el tamaño máximo de un tamaño de juego de caracteres de doble byte (DBCS), en bytes, para el sistema operativo actual. Este campo es de solo lectura. |
Métodos
| Nombre | Description |
|---|---|
| AddRef(IntPtr) |
Incrementa el recuento de referencias en la interfaz especificada. |
| AllocCoTaskMem(Int32) |
Asigna un bloque de memoria del tamaño especificado del asignador de memoria de tareas COM. |
| AllocHGlobal(Int32) |
Asigna memoria de la memoria no administrada del proceso mediante el número especificado de bytes. |
| AllocHGlobal(IntPtr) |
Asigna memoria de la memoria no administrada del proceso mediante el puntero al número de bytes especificado. |
| AreComObjectsAvailableForCleanup() |
Indica si los contenedores que se pueden llamar en tiempo de ejecución (RCW) desde cualquier contexto están disponibles para la limpieza. |
| BindToMoniker(String) |
Obtiene un puntero de interfaz identificado por el moniker especificado. |
| ChangeWrapperHandleStrength(Object, Boolean) |
Cambia la intensidad del controlador com callable wrapper (CCW) de un objeto. |
| CleanupUnusedObjectsInCurrentContext() |
Notifica al tiempo de ejecución que limpie todos los contenedores invocables (RCW) asignados en el contexto actual. |
| Copy(Byte[], Int32, IntPtr, Int32) |
Copia datos de una matriz de enteros de 8 bits sin signo administrados unidimensionales a un puntero de memoria no administrado. |
| Copy(Char[], Int32, IntPtr, Int32) |
Copia datos de una matriz de caracteres administrados unidimensional a un puntero de memoria no administrado. |
| Copy(Double[], Int32, IntPtr, Int32) |
Copia datos de una matriz de números de punto flotante de precisión doble administrada unidimensional a un puntero de memoria no administrado. |
| Copy(Int16[], Int32, IntPtr, Int32) |
Copia datos de una matriz de enteros de 16 bits con signo de 16 bits administrados a un puntero de memoria no administrado. |
| Copy(Int32[], Int32, IntPtr, Int32) |
Copia datos de una matriz de enteros de 32 bits con signo de 32 bits administrados a un puntero de memoria no administrado. |
| Copy(Int64[], Int32, IntPtr, Int32) |
Copia datos de una matriz de enteros de 64 bits con signo de 64 bits administrados a un puntero de memoria no administrado. |
| Copy(IntPtr, Byte[], Int32, Int32) |
Copia datos de un puntero de memoria no administrado a una matriz de enteros de 8 bits sin signo administrada. |
| Copy(IntPtr, Char[], Int32, Int32) |
Copia datos de un puntero de memoria no administrado a una matriz de caracteres administrados. |
| Copy(IntPtr, Double[], Int32, Int32) |
Copia datos de un puntero de memoria no administrado a una matriz de números de punto flotante de precisión doble administrada. |
| Copy(IntPtr, Int16[], Int32, Int32) |
Copia datos de un puntero de memoria no administrado a una matriz de enteros de 16 bits con signo administrada. |
| Copy(IntPtr, Int32[], Int32, Int32) |
Copia datos de un puntero de memoria no administrado a una matriz de enteros de 32 bits con signo administrado. |
| Copy(IntPtr, Int64[], Int32, Int32) |
Copia datos de un puntero de memoria no administrado a una matriz de enteros de 64 bits con signo administrado. |
| Copy(IntPtr, IntPtr[], Int32, Int32) |
Copia datos de un puntero de memoria no administrado a una matriz administrada IntPtr . |
| Copy(IntPtr, Single[], Int32, Int32) |
Copia datos de un puntero de memoria no administrado a una matriz de números de punto flotante de precisión única administrada. |
| Copy(IntPtr[], Int32, IntPtr, Int32) |
Copia datos de una matriz administrada IntPtr unidimensional a un puntero de memoria no administrado. |
| Copy(Single[], Int32, IntPtr, Int32) |
Copia datos de una matriz de números de punto flotante de precisión sencilla administrada unidimensional a un puntero de memoria no administrado. |
| CreateAggregatedObject(IntPtr, Object) |
Obsoletos.
Agrega un objeto administrado con el objeto COM especificado. |
| CreateAggregatedObject<T>(IntPtr, T) |
Agrega un objeto administrado del tipo especificado con el objeto COM especificado. |
| CreateWrapperOfType(Object, Type) |
Obsoletos.
Ajusta el objeto COM especificado en un objeto del tipo especificado. |
| CreateWrapperOfType<T,TWrapper>(T) |
Ajusta el objeto COM especificado en un objeto del tipo especificado. |
| DestroyStructure(IntPtr, Type) |
Obsoletos.
Libera todas las subestructuras a las que apunta el bloque de memoria no administrado especificado. |
| DestroyStructure<T>(IntPtr) |
Libera todas las subestructuras de un tipo especificado al que apunta el bloque de memoria no administrado especificado. |
| FinalReleaseComObject(Object) |
Libera todas las referencias a un contenedor invocable en tiempo de ejecución (RCW) estableciendo su recuento de referencias en 0. |
| FreeBSTR(IntPtr) |
Libera un |
| FreeCoTaskMem(IntPtr) |
Libera un bloque de memoria asignado por el asignador de memoria de tareas COM no administrado. |
| FreeHGlobal(IntPtr) |
Libera memoria asignada previamente a partir de la memoria no administrada del proceso. |
| GenerateGuidForType(Type) |
Devuelve el identificador único global (GUID) para el tipo especificado o genera un GUID mediante el algoritmo utilizado por el exportador de la biblioteca de tipos (Tlbexp.exe). |
| GenerateProgIdForType(Type) |
Devuelve un identificador de programación (ProgID) para el tipo especificado. |
| GetActiveObject(String) |
Obtiene una instancia en ejecución del objeto especificado de la tabla de objetos en ejecución (ROT). |
| GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode) |
Obsoletos.
Devuelve un puntero a una interfaz IUnknown que representa la interfaz especificada en el objeto especificado. El acceso a la interfaz de consulta personalizada se controla mediante el modo de personalización especificado. |
| GetComInterfaceForObject(Object, Type) |
Obsoletos.
Devuelve un puntero a una interfaz IUnknown que representa la interfaz especificada en el objeto especificado. El acceso a la interfaz de consulta personalizada está habilitado de forma predeterminada. |
| GetComInterfaceForObject<T,TInterface>(T) |
Devuelve un puntero a una interfaz IUnknown que representa la interfaz especificada en un objeto del tipo especificado. El acceso a la interfaz de consulta personalizada está habilitado de forma predeterminada. |
| GetComInterfaceForObjectInContext(Object, Type) |
Devuelve un puntero de interfaz que representa la interfaz especificada para un objeto, si el autor de la llamada está en el mismo contexto que ese objeto. |
| GetComObjectData(Object, Object) |
Recupera los datos a los que hace referencia la clave especificada del objeto COM especificado. |
| GetComSlotForMethodInfo(MemberInfo) |
Recupera la ranura de tabla de funciones virtuales (v-table o VTBL) para un tipo especificado MemberInfo cuando ese tipo se expone a COM. |
| GetDelegateForFunctionPointer(IntPtr, Type) |
Obsoletos.
Convierte un puntero de función no administrada a un delegado. |
| GetDelegateForFunctionPointer<TDelegate>(IntPtr) |
Convierte un puntero de función no administrado a un delegado de un tipo especificado. |
| GetEndComSlot(Type) |
Recupera la última ranura de la tabla de funciones virtuales (v-table o VTBL) de un tipo cuando se expone a COM. |
| GetExceptionCode() |
Obsoletos.
Recupera un código que identifica el tipo de la excepción que se produjo. |
| GetExceptionForHR(Int32, Guid, IntPtr) |
Proporciona una colección de métodos para asignar memoria no administrada, copiar bloques de memoria no administrados y convertir administrados a tipos no administrados, así como otros métodos varios que se usan al interactuar con código no administrado. |
| GetExceptionForHR(Int32, IntPtr) |
Convierte el código de error HRESULT especificado en un objeto correspondiente Exception , con información de error adicional pasada en una interfaz IErrorInfo para el objeto de excepción. |
| GetExceptionForHR(Int32) |
Convierte el código de error HRESULT especificado en un objeto correspondiente Exception . |
| GetExceptionPointers() |
Recupera una descripción independiente del equipo de una excepción e información sobre el estado que existía para el subproceso cuando se produjo la excepción. |
| GetFunctionPointerForDelegate(Delegate) |
Obsoletos.
Convierte un delegado en un puntero de función al que se puede llamar desde código no administrado. |
| GetFunctionPointerForDelegate<TDelegate>(TDelegate) |
Convierte un delegado de un tipo especificado en un puntero de función al que se puede llamar desde código no administrado. |
| GetHINSTANCE(Module) |
Devuelve el identificador de instancia (HINSTANCE) del módulo especificado. |
| GetHRForException(Exception) |
Convierte la excepción especificada en un HRESULT. |
| GetHRForLastWin32Error() |
Devuelve el VALOR HRESULT correspondiente al último error producido por el código Win32 ejecutado mediante Marshal. |
| GetIDispatchForObject(Object) |
Devuelve una interfaz IDispatch de un objeto administrado. |
| GetIDispatchForObjectInContext(Object) |
Devuelve un puntero de interfaz IDispatch de un objeto administrado, si el autor de la llamada está en el mismo contexto que ese objeto. |
| GetITypeInfoForType(Type) |
Devuelve una ITypeInfo interfaz de un tipo administrado. |
| GetIUnknownForObject(Object) |
Devuelve una interfaz IUnknown de un objeto administrado. |
| GetIUnknownForObjectInContext(Object) |
Devuelve una interfaz IUnknown de un objeto administrado, si el autor de la llamada está en el mismo contexto que ese objeto. |
| GetLastPInvokeError() |
Obtenga el último error de invocación de plataforma en el subproceso actual. |
| GetLastPInvokeErrorMessage() |
Obtiene el mensaje de error del sistema para el último código de error de PInvoke. |
| GetLastSystemError() |
Obtiene el último error del sistema en el subproceso actual. |
| GetLastWin32Error() |
Devuelve el código de error devuelto por la última función no administrada a la que se llamó mediante la invocación de plataforma que tiene la SetLastError marca establecida. |
| GetManagedThunkForUnmanagedMethodPtr(IntPtr, IntPtr, Int32) |
Obsoletos.
Obtiene un puntero a una función generada en tiempo de ejecución que serializa una llamada de código administrado a no administrado. |
| GetMethodInfoForComSlot(Type, Int32, ComMemberType) |
Recupera un MemberInfo objeto para la ranura de tabla de funciones virtuales (v-table o VTBL) especificada. |
| GetNativeVariantForObject(Object, IntPtr) |
Obsoletos.
Convierte un objeto en una VARIANTE COM. |
| GetNativeVariantForObject<T>(T, IntPtr) |
Obsoletos.
Convierte un objeto de un tipo especificado en UNA VARIANTE COM. |
| GetObjectForIUnknown(IntPtr) |
Devuelve una instancia de un tipo que representa un objeto COM por un puntero a su interfaz IUnknown . |
| GetObjectForNativeVariant(IntPtr) |
Obsoletos.
Convierte una VARIANTE COM en un objeto . |
| GetObjectForNativeVariant<T>(IntPtr) |
Obsoletos.
Convierte una VARIANTE COM en un objeto de un tipo especificado. |
| GetObjectsForNativeVariants(IntPtr, Int32) |
Obsoletos.
Convierte una matriz de VARIANT COM en una matriz de objetos . |
| GetObjectsForNativeVariants<T>(IntPtr, Int32) |
Obsoletos.
Convierte una matriz de VARIANT COM en una matriz de un tipo especificado. |
| GetPInvokeErrorMessage(Int32) |
Obtiene el mensaje de error del sistema para el código de error proporcionado. |
| GetStartComSlot(Type) |
Obtiene la primera ranura de la tabla de funciones virtuales (v-table o VTBL) que contiene métodos definidos por el usuario. |
| GetThreadFromFiberCookie(Int32) |
Obsoletos.
Convierte una cookie de fibra en la instancia correspondiente Thread . |
| GetTypedObjectForIUnknown(IntPtr, Type) |
Devuelve un objeto administrado de un tipo especificado que representa un objeto COM. |
| GetTypeForITypeInfo(IntPtr) |
Convierte un objeto ITypeInfo no administrado en un objeto administrado Type . |
| GetTypeFromCLSID(Guid) |
Devuelve el tipo asociado al identificador de clase especificado (CLSID). |
| GetTypeInfoName(ITypeInfo) |
Recupera el nombre del tipo representado por un objeto ITypeInfo . |
| GetTypeInfoName(UCOMITypeInfo) |
Obsoletos.
Recupera el nombre del tipo representado por un objeto ITypeInfo . |
| GetTypeLibGuid(ITypeLib) |
Recupera el identificador de biblioteca (LIBID) de una biblioteca de tipos. |
| GetTypeLibGuid(UCOMITypeLib) |
Obsoletos.
Recupera el identificador de biblioteca (LIBID) de una biblioteca de tipos. |
| GetTypeLibGuidForAssembly(Assembly) |
Recupera el identificador de biblioteca (LIBID) que se asigna a una biblioteca de tipos cuando se exportó desde el ensamblado especificado. |
| GetTypeLibLcid(ITypeLib) |
Recupera el LCID de una biblioteca de tipos. |
| GetTypeLibLcid(UCOMITypeLib) |
Obsoletos.
Recupera el LCID de una biblioteca de tipos. |
| GetTypeLibName(ITypeLib) |
Recupera el nombre de una biblioteca de tipos. |
| GetTypeLibName(UCOMITypeLib) |
Obsoletos.
Recupera el nombre de una biblioteca de tipos. |
| GetTypeLibVersionForAssembly(Assembly, Int32, Int32) |
Recupera el número de versión de una biblioteca de tipos que se exportará desde el ensamblado especificado. |
| GetUniqueObjectForIUnknown(IntPtr) |
Crea un objeto único contenedor invocable en tiempo de ejecución (RCW) para una interfaz IUnknown determinada. |
| GetUnmanagedThunkForManagedMethodPtr(IntPtr, IntPtr, Int32) |
Obsoletos.
Obtiene un puntero a una función generada en tiempo de ejecución que serializa una llamada de un código no administrado a código administrado. |
| InitHandle(SafeHandle, IntPtr) |
Inicializa el identificador subyacente de un objeto recién creado SafeHandle en el valor proporcionado. |
| IsComObject(Object) |
Indica si un objeto especificado representa un objeto COM. |
| IsTypeVisibleFromCom(Type) |
Indica si un tipo es visible para los clientes COM. |
| NumParamBytes(MethodInfo) |
Calcula el número de bytes en memoria no administrada necesaria para contener los parámetros para el método especificado. |
| OffsetOf(Type, String) |
Obsoletos.
Devuelve el desplazamiento de campo del formulario no administrado de la clase administrada. |
| OffsetOf<T>(String) |
Devuelve el desplazamiento de campo del formulario no administrado de una clase administrada especificada. |
| Prelink(MethodInfo) |
Ejecuta tareas de instalación de métodos de un solo uso sin llamar al método . |
| PrelinkAll(Type) |
Realiza una comprobación previa del vínculo para todos los métodos de una clase. |
| PtrToStringAnsi(IntPtr, Int32) |
Asigna un administrado String, copia un número especificado de caracteres de una cadena ANSI o UTF-8 no administrada y amplía cada carácter a UTF-16. |
| PtrToStringAnsi(IntPtr) |
Copia todos los caracteres hasta el primer carácter NULL de una cadena ANSI o UTF-8 no administrada a un objeto administrado Stringy amplía cada carácter a UTF-16. |
| PtrToStringAuto(IntPtr, Int32) |
Asigna un administrado String y copia el número especificado de caracteres de una cadena almacenada en la memoria no administrada en ella. |
| PtrToStringAuto(IntPtr) |
Asigna un administrado String y copia todos los caracteres hasta el primer carácter NULL de una cadena almacenada en la memoria no administrada en él. |
| PtrToStringBSTR(IntPtr) |
Asigna una cadena binaria administrada (BSTR) almacenada en la memoria no administrada en ella. |
| PtrToStringUni(IntPtr, Int32) |
Asigna un administrado String y copia un número especificado de caracteres de una cadena Unicode no administrada en él. |
| PtrToStringUni(IntPtr) |
Asigna un administrado String y copia todos los caracteres hasta el primer carácter NULL de una cadena Unicode no administrada en él. |
| PtrToStringUTF8(IntPtr, Int32) |
Asigna un administrado String y copia un número especificado de bytes de una cadena UTF8 no administrada en ella. |
| PtrToStringUTF8(IntPtr) |
Asigna un administrado String y copia todos los caracteres hasta el primer carácter NULL de una cadena UTF-8 no administrada en él. |
| PtrToStructure(IntPtr, Object) |
Obsoletos.
Serializa los datos de un bloque de memoria no administrado a un objeto administrado. |
| PtrToStructure(IntPtr, Type) |
Obsoletos.
Serializa los datos de un bloque de memoria no administrado a un objeto administrado recién asignado del tipo especificado. |
| PtrToStructure<T>(IntPtr, T) |
Serializa los datos de un bloque de memoria no administrado a un objeto administrado del tipo especificado. |
| PtrToStructure<T>(IntPtr) |
Serializa los datos de un bloque de memoria no administrado a un objeto administrado recién asignado del tipo especificado por un parámetro de tipo genérico. |
| QueryInterface(IntPtr, Guid, IntPtr) |
Solicita un puntero a una interfaz especificada desde un objeto COM. |
| ReadByte(IntPtr, Int32) |
Lee un solo byte en un desplazamiento determinado (o índice) de la memoria no administrada. |
| ReadByte(IntPtr) |
Lee un solo byte de la memoria no administrada. |
| ReadByte(Object, Int32) |
Obsoletos.
Lee un solo byte en un desplazamiento determinado (o índice) de la memoria no administrada. |
| ReadInt16(IntPtr, Int32) |
Lee un entero de 16 bits con signo en un desplazamiento determinado de la memoria no administrada. |
| ReadInt16(IntPtr) |
Lee un entero de 16 bits con signo de memoria no administrada. |
| ReadInt16(Object, Int32) |
Obsoletos.
Lee un entero de 16 bits con signo en un desplazamiento determinado de la memoria no administrada. |
| ReadInt32(IntPtr, Int32) |
Lee un entero de 32 bits con signo en un desplazamiento determinado de la memoria no administrada. |
| ReadInt32(IntPtr) |
Lee un entero de 32 bits con signo de memoria no administrada. |
| ReadInt32(Object, Int32) |
Obsoletos.
Lee un entero de 32 bits con signo en un desplazamiento determinado de la memoria no administrada. |
| ReadInt64(IntPtr, Int32) |
Lee un entero de 64 bits con signo en un desplazamiento determinado de la memoria no administrada. |
| ReadInt64(IntPtr) |
Lee un entero de 64 bits con signo de memoria no administrada. |
| ReadInt64(Object, Int32) |
Obsoletos.
Lee un entero de 64 bits con signo en un desplazamiento determinado de la memoria no administrada. |
| ReadIntPtr(IntPtr, Int32) |
Lee un entero de tamaño nativo del procesador en un desplazamiento determinado de la memoria no administrada. |
| ReadIntPtr(IntPtr) |
Lee un entero de tamaño nativo del procesador de la memoria no administrada. |
| ReadIntPtr(Object, Int32) |
Obsoletos.
Lee un entero de tamaño nativo del procesador de la memoria no administrada. |
| ReAllocCoTaskMem(IntPtr, Int32) |
Cambia el tamaño de un bloque de memoria asignado previamente con AllocCoTaskMem(Int32). |
| ReAllocHGlobal(IntPtr, IntPtr) |
Cambia el tamaño de un bloque de memoria asignado previamente con AllocHGlobal(IntPtr). |
| Release(IntPtr) |
Disminuye el recuento de referencias en la interfaz especificada. |
| ReleaseComObject(Object) |
Disminuye el recuento de referencias del contenedor invocable en tiempo de ejecución (RCW) asociado al objeto COM especificado. |
| ReleaseThreadCache() |
Obsoletos.
Libera la memoria caché de subprocesos. |
| SecureStringToBSTR(SecureString) |
Asigna una cadena binaria no administrada (BSTR) y copia el contenido de un objeto administrado SecureString en él. |
| SecureStringToCoTaskMemAnsi(SecureString) |
Copia el contenido de un objeto administrado SecureString en un bloque de memoria asignado desde el asignador de tareas COM no administrado. |
| SecureStringToCoTaskMemUnicode(SecureString) |
Copia el contenido de un objeto administrado SecureString en un bloque de memoria asignado desde el asignador de tareas COM no administrado. |
| SecureStringToGlobalAllocAnsi(SecureString) |
Copia el contenido de un administrado SecureString en memoria no administrada y se convierte en formato ANSI a medida que se copia. |
| SecureStringToGlobalAllocUnicode(SecureString) |
Copia el contenido de un objeto administrado SecureString en memoria no administrada. |
| SetComObjectData(Object, Object, Object) |
Establece los datos a los que hace referencia la clave especificada en el objeto COM especificado. |
| SetLastPInvokeError(Int32) |
Establece el último error de invocación de plataforma en el subproceso actual. |
| SetLastSystemError(Int32) |
Establece el último error del sistema en el subproceso actual. |
| SizeOf(Object) |
Obsoletos.
Devuelve el tamaño no administrado de un objeto en bytes. |
| SizeOf(Type) |
Obsoletos.
Devuelve el tamaño de un tipo no administrado en bytes. |
| SizeOf<T>() |
Devuelve el tamaño de un tipo no administrado en bytes. |
| SizeOf<T>(T) |
Devuelve el tamaño no administrado de un objeto de un tipo especificado en bytes. |
| StringToBSTR(String) |
Asigna un BSTR y copia el contenido de un administrado String en él. |
| StringToCoTaskMemAnsi(String) |
Copia el contenido de un administrado String en un bloque de memoria asignado desde el asignador de tareas COM no administrado. |
| StringToCoTaskMemAuto(String) |
Copia el contenido de un administrado String en un bloque de memoria asignado desde el asignador de tareas COM no administrado. |
| StringToCoTaskMemUni(String) |
Copia el contenido de un administrado String en un bloque de memoria asignado desde el asignador de tareas COM no administrado. |
| StringToCoTaskMemUTF8(String) |
Copia el contenido de un administrado String en un bloque de memoria asignado desde el asignador de tareas COM no administrado. |
| StringToHGlobalAnsi(String) |
Copia el contenido de un administrado String en memoria no administrada y se convierte en formato ANSI a medida que se copia. |
| StringToHGlobalAuto(String) |
Copia el contenido de un administrado String en memoria no administrada y se convierte en formato ANSI si es necesario. |
| StringToHGlobalUni(String) |
Copia el contenido de un administrado String en memoria no administrada. |
| StructureToPtr(Object, IntPtr, Boolean) |
Obsoletos.
Serializa los datos de un objeto administrado a un bloque de memoria no administrado. |
| StructureToPtr<T>(T, IntPtr, Boolean) |
Serializa los datos de un objeto administrado de un tipo especificado en un bloque de memoria no administrado. |
| ThrowExceptionForHR(Int32, Guid, IntPtr) |
Proporciona una colección de métodos para asignar memoria no administrada, copiar bloques de memoria no administrados y convertir administrados a tipos no administrados, así como otros métodos varios que se usan al interactuar con código no administrado. |
| ThrowExceptionForHR(Int32, IntPtr) |
Produce una excepción con un hrESULT de error específico, en función de la interfaz IErrorInfo especificada. |
| ThrowExceptionForHR(Int32) |
Produce una excepción con un valor HRESULT de error específico. |
| UnsafeAddrOfPinnedArrayElement(Array, Int32) |
Obsoletos.
Obtiene la dirección del elemento en el índice especificado dentro de la matriz especificada. |
| UnsafeAddrOfPinnedArrayElement<T>(T[], Int32) |
Obtiene la dirección del elemento en el índice especificado en una matriz de un tipo especificado. |
| WriteByte(IntPtr, Byte) |
Escribe un único valor de byte en memoria no administrada. |
| WriteByte(IntPtr, Int32, Byte) |
Escribe un único valor de byte en la memoria no administrada en un desplazamiento especificado. |
| WriteByte(Object, Int32, Byte) |
Obsoletos.
Escribe un único valor de byte en la memoria no administrada en un desplazamiento especificado. |
| WriteInt16(IntPtr, Char) |
Escribe un carácter como un valor entero de 16 bits en memoria no administrada. |
| WriteInt16(IntPtr, Int16) |
Escribe un valor entero de 16 bits en memoria no administrada. |
| WriteInt16(IntPtr, Int32, Char) |
Escribe un valor entero de 16 bits con signo en memoria no administrada en un desplazamiento especificado. |
| WriteInt16(IntPtr, Int32, Int16) |
Escribe un valor entero de 16 bits con signo en memoria no administrada en un desplazamiento especificado. |
| WriteInt16(Object, Int32, Char) |
Obsoletos.
Escribe un valor entero de 16 bits con signo en memoria no administrada en un desplazamiento especificado. |
| WriteInt16(Object, Int32, Int16) |
Obsoletos.
Escribe un valor entero de 16 bits con signo en memoria no administrada en un desplazamiento especificado. |
| WriteInt32(IntPtr, Int32, Int32) |
Escribe un valor entero de 32 bits con signo en memoria no administrada en un desplazamiento especificado. |
| WriteInt32(IntPtr, Int32) |
Escribe un valor entero de 32 bits con signo en memoria no administrada. |
| WriteInt32(Object, Int32, Int32) |
Obsoletos.
Escribe un valor entero de 32 bits con signo en memoria no administrada en un desplazamiento especificado. |
| WriteInt64(IntPtr, Int32, Int64) |
Escribe un valor entero de 64 bits con signo en la memoria no administrada en un desplazamiento especificado. |
| WriteInt64(IntPtr, Int64) |
Escribe un valor entero de 64 bits con signo en memoria no administrada. |
| WriteInt64(Object, Int32, Int64) |
Obsoletos.
Escribe un valor entero de 64 bits con signo en la memoria no administrada en un desplazamiento especificado. |
| WriteIntPtr(IntPtr, Int32, IntPtr) |
Escribe un valor entero de tamaño nativo del procesador en memoria no administrada en un desplazamiento especificado. |
| WriteIntPtr(IntPtr, IntPtr) |
Escribe un valor entero de tamaño nativo del procesador en memoria no administrada. |
| WriteIntPtr(Object, Int32, IntPtr) |
Obsoletos.
Escribe un valor entero de tamaño nativo del procesador en memoria no administrada. |
| ZeroFreeBSTR(IntPtr) |
Libera un puntero BSTR que se asignó mediante el SecureStringToBSTR(SecureString) método . |
| ZeroFreeCoTaskMemAnsi(IntPtr) |
Libera un puntero de cadena no administrado que se asignó mediante el SecureStringToCoTaskMemAnsi(SecureString) método . |
| ZeroFreeCoTaskMemUnicode(IntPtr) |
Libera un puntero de cadena no administrado que se asignó mediante el SecureStringToCoTaskMemUnicode(SecureString) método . |
| ZeroFreeCoTaskMemUTF8(IntPtr) |
Libera un puntero de cadena no administrado que se asignó mediante el StringToCoTaskMemUTF8(String) método . |
| ZeroFreeGlobalAllocAnsi(IntPtr) |
Libera un puntero de cadena no administrado que se asignó mediante el SecureStringToGlobalAllocAnsi(SecureString) método . |
| ZeroFreeGlobalAllocUnicode(IntPtr) |
Libera un puntero de cadena no administrado que se asignó mediante el SecureStringToGlobalAllocUnicode(SecureString) método . |