Bagikan melalui


IBuffer Antarmuka

Definisi

Mewakili array byte yang dirujuk yang digunakan oleh antarmuka baca dan tulis aliran byte. Buffer adalah implementasi kelas dari antarmuka ini.

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
Turunan
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)

Contoh

Contoh kode ini menunjukkan cara mengambil string dari IBuffer 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);
    }
}

Keterangan

Antarmuka ini digunakan untuk mengubah ukuran buffer sambil mempertahankan konten. Jika kelas C++/WinRT Anda mengimplementasikan IBuffer dan tidak memerlukan atau mendukung perubahan ukuran, Anda harus melemparkan hresult_not_implemented.

Untuk informasi selengkapnya, lihat Membuat, menulis, dan membaca file, yang menunjukkan cara membaca dan menulis byte ke file dengan menggunakan Buffer.

WriteableBitmap.PixelBuffer adalah contoh properti yang mengembalikan IBuffer yang tidak dapat ditulis secara langsung. Lihat topik tersebut untuk contoh kode khusus bahasa yang menunjukkan untuk menulis ke konten piksel yang mendasar di buffer.

Fungsi ekstensi C++/WinRT

Catatan

Fungsi ekstensi ada pada jenis proyeksi C++/WinRT untuk API Windows Runtime tertentu. Misalnya, winrt::Windows::Foundation::IAsyncAction adalah jenis proyeksi C++/WinRT untuk IAsyncAction. Fungsi ekstensi bukan bagian dari permukaan antarmuka biner aplikasi (ABI) dari jenis Windows Runtime yang sebenarnya, sehingga tidak terdaftar sebagai anggota API Windows Runtime. Tetapi Anda dapat memanggilnya dari dalam proyek C++/WinRT apa pun. Lihat fungsi C++/WinRT yang memperluas WINDOWS Runtime API.

uint8_t* data() const;

Mengembalikan penunjuk ke data yang disimpan di dalam buffer.

Properti

Capacity

Mendapatkan jumlah maksimum byte yang dapat ditahan oleh buffer.

Length

Mendapatkan jumlah byte yang saat ini digunakan dalam buffer.

Berlaku untuk

Lihat juga