IBuffer Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
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
- Производный
- Атрибуты
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v1.0)
|
Примеры
В этом примере кода показано, как получить строку из IBuffer размером 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);
}
}
Комментарии
Этот интерфейс используется для изменения размера буфера с сохранением содержимого. Если класс C++/WinRT реализует IBuffer
и не нуждается в изменении размера или не поддерживает его, следует вызвать hresult_not_implemented.
Дополнительные сведения см. в статье Создание, запись и чтение файла, в которой показано, как считывать и записывать байты в файл с помощью буфера.
WriteableBitmap.PixelBuffer — это пример свойства, возвращающего IBuffer , который не может быть записан напрямую. В этом разделе приведен пример кода для конкретного языка, показывающий запись в базовое содержимое пикселей в буфере.
Функции расширения C++/WinRT
Примечание
Функции расширения существуют в типах проекций C++/WinRT для определенных API среда выполнения Windows. Например, winrt::Windows::Foundation::IAsyncAction — это тип проекции C++/WinRT для IAsyncAction. Функции расширения не являются частью поверхности двоичного интерфейса приложения (ABI) фактических типов среда выполнения Windows, поэтому они не перечислены как члены API среда выполнения Windows. Но их можно вызывать из любого проекта C++/WinRT. См. статью Функции C++/WinRT, расширяющие среда выполнения Windows API.
uint8_t* data() const;
Возвращает указатель на данные, хранящиеся в буфере.
Свойства
Capacity |
Возвращает максимальное число байтов, которое может хранить буфер. |
Length |
Возвращает количество байтов, используемых в буфере в данный момент. |