Mono Class Library: Mono.Unix.UnixMarshal Overview | Members

Mono.Unix.UnixMarshal.StringToHeap Method

Allocates a copy of s on the system heap in the Mono.Unix.UnixEncoding encoding.

public static IntPtr StringToHeap (string s, int index, int count)

See Also

UnixMarshal.FreeHeap

Parameters

s
A string to copy into the system heap.
index
A int containing the start index into s to start marshaling.
count
A int containing the number of characters to marshal from s starting at index index.

Returns

A IntPtr containing a pointer on the system heap containing the marshaled string. If s is null, then IntPtr.Zero is returned.

Exceptions

TypeReason
ArgumentOutOfRangeException

count or index is less than zero.

-or-

index plus count is greater than the length of s.

NotSupportedException There was an error marshaling s into the Mono.Unix.UnixEncoding encoding.
Mono.Unix.UnixIOException Unable to allocate enough memory for the marshaled string. [Mono.Unix.Native.Errno.ENOMEM]

Remarks

The pointer returned should be freed with UnixMarshal.FreeHeap to avoid a memory leak.

This is identical to UnixMarshal.StringToHeap(s, count, index, UnixMarshal.Instance).

Requirements

Namespace: Mono.Unix
Assembly: Mono.Posix (in Mono.Posix.dll)
Assembly Versions: 1.0.5000.0, 2.0.0.0