Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Marshal::WriteIntPtr Method (Object, Int32, IntPtr)

Note: This API is now obsolete.

Writes a processor native sized integer value to unmanaged memory.

Namespace:  System.Runtime.InteropServices
Assemblies:   System.Runtime.InteropServices (in System.Runtime.InteropServices.dll)
  mscorlib (in mscorlib.dll)

[ObsoleteAttribute(L"WriteIntPtr(Object, Int32, IntPtr) may be unavailable in future releases.")]
public:
static void WriteIntPtr(
	Object^ ptr, 
	int ofs, 
	IntPtr val
)

Parameters

ptr
Type: System::Object

The base address in unmanaged memory of the target object.

ofs
Type: System::Int32

An additional byte offset, which is added to the ptr parameter before writing.

val
Type: System::IntPtr

The value to write.

ExceptionCondition
AccessViolationException

Base address (ptr) plus offset byte (ofs) produces a null or invalid address.

ArgumentException

ptr is an ArrayWithOffset object. This method does not accept ArrayWithOffset parameters.

WriteIntPtr enables direct interaction with an unmanaged C-style byte array, eliminating the expense of copying an entire unmanaged array (using Marshal::Copy) to a separate managed array before setting its element values.

Writing to unaligned memory locations is supported.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1
Obsolete (compiler warning) in 4.6

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

Obsolete (compiler warning) in Windows Phone 8.1

  • SecurityCriticalAttribute 

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

Show:
© 2015 Microsoft