Partage via


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.

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
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.

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.

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 à

Voir aussi