IBuffer Schnittstelle
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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. |