Marshal.WriteIntPtr(IntPtr, int, IntPtr) enables direct interaction with an unmanaged C-style IntPtr array, eliminating the expense of copying an entire unmanaged array (using Marshal.Copy(Int32[], int, IntPtr, int)) to a separate managed array before setting its element values.
Writing to unaligned memory locations is supported.