다음을 통해 공유


IBuffer 인터페이스

정의

바이트 스트림 읽기 및 쓰기 인터페이스에서 사용하는 참조된 바이트 배열을 나타냅니다. 버퍼 는 이 인터페이스의 클래스 구현입니다.

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 throw해야 합니다.

자세한 내용은 버퍼를 사용하여 파일에 바이트를 읽고 쓰는 방법을 보여 주는 파일 만들기, 쓰기 및 읽기를 참조하세요.

WriteableBitmap.PixelBuffer 는 직접 쓸 수 없는 IBuffer 를 반환하는 속성의 예입니다. 버퍼의 기본 픽셀 콘텐츠에 쓰는 방법을 보여 주는 언어별 코드 예제는 해당 항목을 참조하세요.

C++/WinRT 확장 함수

참고

확장 함수는 특정 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

버퍼에서 현재 사용 중인 바이트 수를 가져옵니다.

적용 대상

추가 정보