Compartir a través de


IBuffer Interfaz

Definición

Representa una matriz a la que se hace referencia de bytes que usan interfaces de lectura y escritura de secuencias de bytes. Buffer es la implementación de clase de esta interfaz.

public interface class IBuffer
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(2421821408, 48211, 4575, 140, 73, 0, 30, 79, 198, 134, 218)]
struct IBuffer
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.Guid(2421821408, 48211, 4575, 140, 73, 0, 30, 79, 198, 134, 218)]
public interface IBuffer
Public Interface IBuffer
Derivado
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)

Ejemplos

En este ejemplo de código se muestra cómo recuperar una cadena de un IBuffer de bytes UTF-8.

public string RetrieveStringFromUtf8IBuffer(Windows.Storage.Streams.IBuffer theBuffer)
{
    using (var dataReader = Windows.Storage.Streams.DataReader.FromBuffer(theBuffer))
    {
        dataReader.UnicodeEncoding = Windows.Storage.Streams.UnicodeEncoding.Utf8;
        return dataReader.ReadString(theBuffer.Length);
    }
}

Comentarios

Esta interfaz se usa para cambiar el tamaño del búfer al tiempo que conserva el contenido. Si la clase C++/WinRT implementa IBuffer y no necesita ni admite el cambio de tamaño, debe iniciar hresult_not_implemented.

Para obtener más información, vea Crear, escribir y leer un archivo, que muestra cómo leer y escribir bytes en un archivo mediante un búfer.

WriteableBitmap.PixelBuffer es un ejemplo de una propiedad que devuelve un IBuffer que no se puede escribir directamente. Vea ese tema para ver un ejemplo de código específico del lenguaje que muestra escribir en el contenido de píxeles subyacente en el búfer.

Funciones de extensión de C++/WinRT

Nota

Existen funciones de extensión en los tipos de proyección de C++/WinRT para determinadas API de Windows Runtime. Por ejemplo, winrt::Windows::Foundation::IAsyncAction es el tipo de proyección de C++/WinRT para IAsyncAction. Las funciones de extensión no forman parte de la superficie de la interfaz binaria de la aplicación (ABI) de los tipos de Windows Runtime reales, por lo que no se enumeran como miembros de las API de Windows Runtime. Pero puede llamarlos desde cualquier proyecto de C++/WinRT. Consulte Funciones de C++/WinRT que amplían las API de Windows Runtime.

uint8_t* data() const;

Devuelve un puntero a los datos contenidos dentro del búfer.

Propiedades

Capacity

Obtiene el número máximo de bytes que puede contener el búfer.

Length

Obtiene el número de bytes actualmente en uso en el búfer.

Se aplica a

Consulte también