Export (0) Print
Expand All

Marshal.PtrToStringAuto Method (IntPtr)

Allocates a managed String and copies all characters up to the first null character from a string stored in unmanaged memory into it.

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

'Declaration
Public Shared Function PtrToStringAuto ( _
	ptr As IntPtr _
) As String

Parameters

ptr
Type: System.IntPtr

For Unicode platforms, the address of the first Unicode character.

-or-

For ANSI plaforms, the address of the first ANSI character.

Return Value

Type: System.String
A managed string that holds a copy of the unmanaged string if the value of the ptr parameter is not Nothing; otherwise, this method returns Nothing.

If the current platform is Unicode, each ANSI character is widened to a Unicode character and this method calls PtrToStringUni. Otherwise, this method calls PtrToStringAnsi.

PtrToStringAuto is useful for custom marshaling or when mixing managed and unmanaged code. Because this method creates a copy of the unmanaged string's contents, you must free the original string as appropriate. PtrToStringAuto provides the opposite functionality of the Marshal.StringToCoTaskMemAuto and Marshal.StringToHGlobalAuto methods.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

  • SecurityCriticalAttribute 

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

Show:
© 2015 Microsoft