IBuffer インターフェイス

定義

バイト ストリームの読み取りおよび書き込みインターフェイスで使用されるバイトの参照配列を表します。 Buffer は、このインターフェイスのクラス実装です。

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 で導入)

このコード例では、UTF-8 バイトの IBuffer から文字列を取得する方法を示します。

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 拡張機能関数

Note

拡張関数は、特定のWindows ランタイム API の C++/WinRT プロジェクション型に存在します。 たとえば、 winrt::Windows::Foundation::IAsyncAction、IAsyncAction の C++/WinRT プロジェクションの種類です。 拡張関数は、実際のWindows ランタイム型のアプリケーション バイナリ インターフェイス (ABI) サーフェスの一部ではありません。そのため、Windows ランタイム API のメンバーとして一覧表示されません。 ただし、任意の C++/WinRT プロジェクト内から呼び出すことができます。 Windows ランタイム API を拡張する C++/WinRT 関数に関するページを参照してください

uint8_t* data() const;

バッファー内に保持されているデータへのポインターを返します。

プロパティ

Capacity

バッファーが保持できる最大バイト数を取得します。

Length

バッファーで現在使用されているバイト数を取得します。

適用対象

こちらもご覧ください