IMemoryBuffer Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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. |