IMemoryBuffer Interface

Definição

Representa um buffer de memória contado de referência.

public interface class IMemoryBuffer : IClosable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(4223982890, 9307, 4580, 175, 152, 104, 148, 35, 38, 12, 248)]
struct IMemoryBuffer : IClosable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.Guid(4223982890, 9307, 4580, 175, 152, 104, 148, 35, 38, 12, 248)]
public interface IMemoryBuffer : System.IDisposable
Public Interface IMemoryBuffer
Implements IDisposable
Derivado
Atributos
Implementações

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)

Comentários

O IMemoryBuffer fornece um protocolo de interoperabilidade entre o acesso não gerenciado e direto à memória da plataforma nativa e o ambiente com contagem de referência, potencialmente coletado por lixo, que hospeda objetos gerenciados. O sistema de tipo gerenciado requer tempo de vida determinístico para todos os tipos. Às vezes, esse tempo de vida é implícito (os tipos de valor são copiados por valor) ou explícitos (os tipos de referência são contados por referência). No entanto, por motivos de desempenho, o código ocasionalmente precisa interagir com tipos que não se encaixam naturalmente em nenhum dos modelos.

Um exemplo comum, e aquele abordado pelo design IMemoryBuffer, é o acesso a um ponteiro direto para um bloco de memória em que as restrições de desempenho exigem que a memória não seja copiada. A abstração IMemoryBuffer encapsula um ponteiro de memória direta dentro de um conjunto de objetos contados de referência que fazem a aquisição explícita da camada do ponteiro de memória bruta e permitem sua liberação determinística.

Métodos

CreateReference()

Retorna um novo objeto Windows Runtime que implementa a interface IMemoryBufferReference.

Dispose()

Realiza tarefas definidas pelo aplicativo associadas à liberação ou à redefinição de recursos não gerenciados.

Aplica-se a

Confira também