Compartir a través de


Método Marshal.WriteIntPtr (Object, Int32, IntPtr)

 

Publicado: octubre de 2016

Escribe en la memoria no administrada un valor de tipo entero cuyo tamaño en bytes es propio del procesador nativo.

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

Sintaxis

[SecurityCriticalAttribute]
public static void WriteIntPtr(
    object ptr,
    int ofs,
    IntPtr val
)
public:
[SecurityCriticalAttribute]
static void WriteIntPtr(
    Object^ ptr,
    int ofs,
    IntPtr val
)
[<SecurityCriticalAttribute>]
static member WriteIntPtr : 
        ptr:Object *
        ofs:int *
        val:nativeint -> unit
<SecurityCriticalAttribute>
Public Shared Sub WriteIntPtr (
    ptr As Object,
    ofs As Integer,
    val As IntPtr
)

Parámetros

  • ptr
    Type: System.Object

    Dirección base en la memoria no administrada del objeto de destino.

  • ofs
    Type: System.Int32

    Desplazamiento de bytes adicional, que se agrega al parámetro ptr antes de la escritura.

Excepciones

Exception Condition
AccessViolationException

Dirección base (ptr) más el desplazamiento de bytes (ofs) genera una dirección no válida o null.

ArgumentException

ptr es un objeto ArrayWithOffset. Este método no acepta ArrayWithOffset parámetros.

Comentarios

WriteIntPtr permite una interacción directa con una matriz de bytes de estilo C no administrada, elimina el gasto de copiar toda una matriz no administrada (mediante Marshal.Copy) a una matriz administrada distinta antes de establecer los valores de sus elementos.

Se admite la escritura en ubicaciones de memoria desalineadas.

Seguridad

SecurityCriticalAttribute

requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.

Información de versión

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Windows Phone
Disponible desde 8.1

Ver también

Copy
WriteIntPtr Sobrecarga
Clase Marshal
Espacio de nombres System.Runtime.InteropServices

Volver al principio