Marshal.Copy Method (IntPtr, IntPtr, Int32, Int32)
Copies data from an unmanaged memory pointer to a managed IntPtr array.
Assembly: mscorlib (in mscorlib.dll)
static member Copy : source:IntPtr * destination:IntPtr * startIndex:int * length:int -> unit
source, destination, startIndex, or length is a null reference (Nothing in Visual Basic).
Unmanaged, C-style arrays do not contain bounds information, which prevents the startIndex and length parameters from being validated. Therefore, the unmanaged data that corresponds to the source parameter populates the managed array regardless of its usefulness. You must initialize the managed array with the appropriate size before calling the Marshal.Copy method.
requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.