IBuffer Interfaccia
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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. |