WindowsRuntimeBufferExtensions.AsBuffer Method (Byte[], Int32, Int32, Int32)

.NET Framework (current version)

Returns a Windows.Storage.Streams.IBuffer interface that represents a range of bytes in the specified byte array. Optionally sets the Length property of the IBuffer to a value that is less than the capacity.

This API is not CLS-compliant. 

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

static member AsBuffer : 
        source:byte[] * 
        offset:int * 
        length:int * 
        capacity:int -> IBuffer


Type: 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 value of the Length property of the IBuffer.

Type: System.Int32

The size of the range that is represented by the IBuffer. The Capacity property of the IBuffer is set to this value.

Return Value

Type: IBuffer
An IBuffer interface that represents the specified range of bytes in source and that has the specified Length property value.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type 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 a null reference (Nothing in Visual Basic).


offset, length, or capacity is less than 0 (zero).


length is greater than capacity.


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 or capacity.

The range of bytes in source that you specify with the offset and capacity parameters becomes the backing store for the IBuffer interface that is returned. The Length property of the IBuffer is set to length, and the Capacity property is set to capacity. Any changes you make by using the IBuffer (for example, by calling the CopyTo(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