WindowsRuntimeBufferExtensions::AsBuffer Method (array<Byte>, Int32, Int32)

.NET Framework (current version)

Returns a Windows.Storage.Streams.IBuffer interface that represents a range of bytes in the specified byte array.

This API is not CLS-compliant. 

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

static IBuffer^ AsBuffer(
	array<unsigned char>^ source, 
	int offset, 
	int length


Type: array<System::Byte>

The array that contains the range of bytes that is represented by the IBuffer.

Type: System::Int32

The offset in source where the range begins.

Type: System::Int32

The length of the range that is represented by the IBuffer.

Return Value

Type: IBuffer
An IBuffer interface that represents the specified range of bytes in source.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type array<Byte>. 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 is nullptr.


offset or length is less than 0 (zero).


The array is not large enough to serve as a backing store for the IBuffer; that is, the number of bytes in source, beginning at offset, is less than length.

The range of bytes in source that you specify with the offset and length parameters becomes the backing store for the IBuffer interface that is returned. The Length and Capacity properties of the IBuffer are set to length. Any changes you make by using the IBuffer (for example, by calling the CopyTo(array<Byte>, Int32, IBuffer, UInt32, Int32) extension method with the IBuffer as destination) are reflected in the backing store.

.NET Framework

Supported in: 4.6, 4.5

.NET for Windows Phone apps

Supported in: Windows Phone Silverlight 8