IBuffer Interfaz
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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. |