IBuffer Interface

Définition

Représente un tableau référencé d’octets utilisé par les interfaces de lecture et d’écriture de flux d’octets. La mémoire tampon est l’implémentation de classe de cette interface.

C#
[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
Dérivé
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Exemples

Cet exemple de code montre comment récupérer une chaîne à partir d’un IBuffer d’octets UTF-8.

C#
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);
    }
}

Remarques

Cette interface est utilisée pour redimensionner la mémoire tampon tout en préservant le contenu. Si votre classe C++/WinRT implémente IBuffer et n’a pas besoin ou ne prend pas en charge le redimensionnement, vous devez lever hresult_not_implemented.

Pour plus d’informations, consultez Créer, écrire et lire un fichier, qui montre comment lire et écrire des octets dans un fichier à l’aide d’une mémoire tampon.

WriteableBitmap.PixelBuffer est un exemple de propriété qui retourne un IBuffer qui ne peut pas être écrit directement dans. Consultez cette rubrique pour obtenir un exemple de code spécifique au langage montrant comment écrire dans le contenu de pixels sous-jacent dans la mémoire tampon.

Fonctions d’extension C++/WinRT

Notes

Des fonctions d’extension existent sur les types de projection C++/WinRT pour certaines API Windows Runtime. Par exemple, winrt::Windows::Foundation::IAsyncAction est le type de projection C++/WinRT pour IAsyncAction. Les fonctions d’extension ne font pas partie de la surface d’interface binaire d’application (ABI) des types Windows Runtime réels. Elles ne sont donc pas répertoriées en tant que membres des API Windows Runtime. Mais vous pouvez les appeler à partir de n’importe quel projet C++/WinRT. Consultez Fonctions C++/WinRT qui étendent Windows Runtime API.

C++/WinRT
uint8_t* data() const;

Retourne un pointeur vers les données conservées à l’intérieur de la mémoire tampon.

Propriétés

Capacity

Obtient le nombre maximal d’octets que la mémoire tampon peut contenir.

Length

Obtient le nombre d’octets actuellement utilisés dans la mémoire tampon.

S’applique à

Produit Versions
WinRT Build 10240, Build 10586, Build 14383, Build 15063, Build 16299, Build 17134, Build 17763, Build 18362, Build 19041, Build 20348, Build 22000, Build 22621, Build 26100

Voir aussi