Ler em inglês

Compartilhar via


IMemoryBuffer Interface

Definição

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

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

Produto Versões
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

Confira também