Export (0) Print
Expand All

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

.NET Framework 4.5

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)

[CLSCompliantAttribute(false)]
public static IBuffer AsBuffer(
	this byte[] source,
	int offset,
	int length,
	int capacity
)

Parameters

source
Type: System.Byte[]

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

offset
Type: System.Int32

The offset in source where the range begins.

length
Type: System.Int32

The value of the Length property of the IBuffer.

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

ExceptionCondition
ArgumentNullException

source is null.

ArgumentOutOfRangeException

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

ArgumentException

length is greater than capacity.

-or-

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

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft