IBuffer Antarmuka
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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. |