IBuffer Schnittstelle

Definition

Stellt ein Array von Bytes dar, auf das verwiesen wird, die von Bytestream-Lese- und Schreibschnittstellen verwendet werden. Puffer ist die Klassenimplementierung dieser Schnittstelle.

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
Abgeleitet
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)

Beispiele

In diesem Codebeispiel wird gezeigt, wie eine Zeichenfolge aus einem IBuffer von UTF-8 Bytes abgerufen wird.

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);
    }
}

Hinweise

Diese Schnittstelle wird verwendet, um die Größe des Puffers zu ändern und gleichzeitig den Inhalt beizubehalten. Wenn Ihre C++/WinRT-Klasse implementiert IBuffer und keine Größenänderung benötigt oder unterstützt, sollten Sie hresult_not_implemented auslösen.

Weitere Informationen finden Sie unter Erstellen, Schreiben und Lesen einer Datei, in der gezeigt wird, wie Bytes mithilfe eines Puffers gelesen und in eine Datei geschrieben werden.

WriteableBitmap.PixelBuffer ist ein Beispiel für eine Eigenschaft, die einen IBuffer zurückgibt, der nicht direkt in geschrieben werden kann. Ein sprachspezifisches Codebeispiel zum Schreiben in den zugrunde liegenden Pixelinhalt im Puffer finden Sie in diesem Thema.

C++/WinRT-Erweiterungsfunktionen

Hinweis

Erweiterungsfunktionen sind für die C++/WinRT-Projektionstypen für bestimmte Windows-Runtime APIs vorhanden. Beispielsweise ist winrt::Windows::Foundation::IAsyncAction der C++/WinRT-Projektionstyp für IAsyncAction. Die Erweiterungsfunktionen sind nicht Teil der ABI-Oberfläche (Application Binary Interface) der tatsächlichen Windows-Runtime-Typen, sodass sie nicht als Member der Windows-Runtime-APIs aufgeführt werden. Sie können sie jedoch innerhalb eines beliebigen C++/WinRT-Projekts aufrufen. Weitere Informationen finden Sie unter C++/WinRT-Funktionen, die Windows-Runtime-APIs erweitern.

uint8_t* data() const;

Gibt einen Zeiger auf die Im Puffer gespeicherten Daten zurück.

Eigenschaften

Capacity

Ruft die maximale Anzahl von Bytes ab, die der Puffer enthalten kann.

Length

Ruft die Anzahl der Bytes ab, die derzeit im Puffer verwendet werden.

Gilt für:

Weitere Informationen