Condividi tramite


IBuffer Interfaccia

Definizione

Rappresenta una matrice di byte utilizzata dalle interfacce di lettura e scrittura del flusso di byte a cui si fa riferimento. Buffer è l'implementazione della classe di questa interfaccia.

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
Derivato
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)

Esempio

Questo esempio di codice illustra come recuperare una stringa da un IBuffer di byte 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);
    }
}

Commenti

Questa interfaccia viene usata per ridimensionare il buffer mantenendo il contenuto. Se la classe C++/WinRT implementa IBuffer e non richiede o non supporta il ridimensionamento, devi generare hresult_not_implemented.

Per altre info, vedi Creare, scrivere e leggere un file, che illustra come leggere e scrivere byte in un file usando un buffer.

WriteableBitmap.PixelBuffer è un esempio di proprietà che restituisce un IBuffer in cui non è possibile scrivere direttamente. Vedi questo argomento per un esempio di codice specifico del linguaggio che mostra come scrivere nel contenuto pixel sottostante nel buffer.

Funzioni di estensione C++/WinRT

Nota

Le funzioni di estensione esistono nei tipi di proiezione C++/WinRT per determinate API di Windows Runtime. Ad esempio, winrt::Windows::Foundation::IAsyncAction è il tipo di proiezione C++/WinRT per IAsyncAction. Le funzioni di estensione non fanno parte della superficie ABI (Application Binary Interface) dei tipi di Windows Runtime effettivi, quindi non sono elencati come membri delle API Windows Runtime. Ma puoi chiamarli da qualsiasi progetto C++/WinRT. Vedi Funzioni C++/WinRT che estendono Windows Runtime API.

uint8_t* data() const;

Restituisce un puntatore ai dati contenuti nel buffer.

Proprietà

Capacity

Ottiene il numero massimo di byte che il buffer può contenere.

Length

Ottiene il numero di byte attualmente in uso nel buffer.

Si applica a

Vedi anche