IBuffer Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 do Windows
Família de dispositivos |
Windows 10 (introduzida na 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v1.0)
|
Exemplos
Este exemplo de código mostra como recuperar uma cadeia de caracteres de um 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);
}
}
Comentários
Essa interface é usada para redimensionar o buffer, preservando o conteúdo. Se a classe C++/WinRT implementar IBuffer
e não precisar ou dar suporte ao redimensionamento, você deverá gerar hresult_not_implemented.
Para obter mais informações, consulte Criar, gravar e ler um arquivo, que mostra como ler e gravar bytes em um arquivo usando um Buffer.
WriteableBitmap.PixelBuffer é um exemplo de uma propriedade que retorna um IBuffer que não pode ser gravado diretamente. Consulte esse tópico para obter um exemplo de código específico de linguagem mostrando como gravar no conteúdo de pixel subjacente no buffer.
Funções de extensão C++/WinRT
Observação
Existem funções de extensão nos tipos de projeção C++/WinRT para determinadas APIs Windows Runtime. Por exemplo, winrt::Windows::Foundation::IAsyncAction é o tipo de projeção C++/WinRT para IAsyncAction. As funções de extensão não fazem parte da superfície da ABI (interface binária do aplicativo) dos tipos de Windows Runtime reais, portanto, não são listadas como membros das APIs Windows Runtime. Mas você pode chamá-los de dentro de qualquer projeto C++/WinRT. Confira Funções do C++/WinRT que estendem apIs de Windows Runtime.
uint8_t* data() const;
Retorna um ponteiro para os dados mantidos dentro do buffer.
Propriedades
Capacity |
Obtém o número máximo de bytes que o buffer pode conter. |
Length |
Obtém o número de bytes atualmente em uso no buffer. |