WindowsRuntimeBufferExtensions.CopyTo Method (IBuffer, UInt32, Byte[], Int32, Int32)

.NET Framework (current version)

Copies bytes from the source buffer (Windows.Storage.Streams.IBuffer) to the destination array, specifying the starting index in the source buffer, the starting index in the destination array, and the number of bytes to copy.

This API is not CLS-compliant. 

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

public static void CopyTo(
	this IBuffer source,
	uint sourceIndex,
	byte[] destination,
	int destinationIndex,
	int count


Type: IBuffer

The buffer to copy data from.

Type: System.UInt32

The index in source to begin copying data from.

Type: System.Byte[]

The array to copy data to.

Type: System.Int32

The index in destination to begin copying data to.

Type: System.Int32

The number of bytes to copy.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IBuffer. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).


source or destination is null.


count, sourceIndex, or destinationIndex is less than 0 (zero).


sourceIndex is greater than or equal to the capacity of source.


destinationIndex is greater than or equal to the length of destination.


The number of bytes in source, beginning at sourceIndex, is less than count.


Copying count bytes, beginning at destinationIndex, would exceed the size of destination.

.NET Framework

Supported in: 4.6, 4.5

.NET for Windows Phone apps

Supported in: Windows Phone Silverlight 8