lstrcpyn (kernel32)
Last changed: anfortas.geo@yahoo.com-216.204.61.86

.
Summary
The lstrcpyn API

C# Signature:

[DllImport("kernel32.dll", CharSet=CharSet.Auto)]
static extern IntPtr lstrcpyn(
    [Out] StringBuilder lpString1,
    string lpString2,
    int iMaxLength);

User-Defined Types:

None.

Notes:

As usual, using StringBuilder didn't work for me. I've included some sample code using IntPtr instead.

Tips & Tricks:

Please add some!

Sample Code:

C#

[DllImport("kernel32", CharSet = CharSet.Auto)]
static extern IntPtr lstrcpyn(IntPtr dest, IntPtr src, int len);

void FillABuffer(IntPtr dest, int dest_maxlen, string source)
{
   IntPtr tmp_ptr = Marshal.StringToHGlobalAuto(source);
   lstrcpyn(dest, tmp_ptr, dest_maxlen);
   Marshal.FreeHGlobal(tmp_ptr);
}

Alternative Managed API:

Do you know one? Please contribute it!

Documentation
lstrcpyn on MSDN