Compartilhar via


Função OfferVirtualMemory (memoryapi.h)

Indica que os dados contidos em um intervalo de páginas de memória não são mais necessários para o aplicativo e podem ser descartados pelo sistema, se necessário.

As páginas especificadas serão marcadas como inacessíveis, removidas do conjunto de trabalho do processo e não serão gravadas no arquivo de paginação.

Para recuperar páginas oferecidas posteriormente, chame ReclaimVirtualMemory.

Sintaxe

DWORD OfferVirtualMemory(
  [in] PVOID          VirtualAddress,
  [in] SIZE_T         Size,
  [in] OFFER_PRIORITY Priority
);

Parâmetros

[in] VirtualAddress

Endereço inicial alinhado à página da memória a ser oferecida.

[in] Size

Tamanho, em bytes, da região de memória a ser oferecida. O tamanho deve ser um múltiplo inteiro do tamanho da página do sistema.

[in] Priority

A prioridade indica a importância da memória oferecida para o aplicativo. Uma prioridade mais alta aumenta a probabilidade de que a memória oferecida possa ser recuperada intacta ao chamar ReclaimVirtualMemory. O sistema normalmente descarta a memória de prioridade mais baixa antes de descartar a memória de prioridade mais alta. A prioridade deve ser um dos valores a seguir.

Valor Significado
VMOfferPriorityVeryLow
0x00000001
A memória oferecida é de prioridade muito baixa e deve ser a primeira descartada.
VMOfferPriorityLow
0x00000002
A memória oferecida é de baixa prioridade.
VMOfferPriorityBelowNormal
0x00000003
A memória oferecida está abaixo da prioridade normal.
VMOfferPriorityNormal
0x00000004
A memória oferecida é de prioridade normal para o aplicativo e deve ser a última descartada.

Retornar valor

ERROR_SUCCESS se tiver êxito; caso contrário , um código de erro do sistema.

Comentários

Para recuperar as páginas oferecidas, chame ReclaimVirtualMemory. Os dados em páginas recuperadas podem ter sido descartados, caso em que o conteúdo da região de memória é indefinido e deve ser reescrito pelo aplicativo.

Não chame OfferVirtualMemory para oferecer memória virtual bloqueada. Isso desbloqueará o intervalo de páginas especificado.

Observe que a oferta e a recuperação de memória virtual são semelhantes ao uso dos sinalizadores de alocação de memória MEM_RESET e MEM_RESET_UNDO, exceto que OfferVirtualMemory remove a memória do conjunto de trabalho do processo e restringe o acesso às páginas oferecidas até que elas sejam recuperadas.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8.1 Update [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Atualização do Windows Server 2012 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho memoryapi.h (inclua Windows.h, Memoryapi.h)
Biblioteca onecore.lib
DLL Kernel32.dll

Confira também

DiscardVirtualMemory

Funções de gerenciamento da memória

ReclaimVirtualMemory

Funções de memória virtual

Virtualalloc

Virtualfree

VirtualLock

Virtualquery