Funções de gerenciamento da memória

Funções gerais de memória

Função Descrição
AddSecureMemoryCacheCallback Registra uma função de retorno de chamada a ser chamada quando um intervalo de memória protegido é liberado ou suas proteções são alteradas.
CopyDeviceMemory Copia a memória de um local para outro sem interferência das otimizações do compilador em situações em que o desenvolvedor precisa ter certeza adicional de que falhas de alinhamento não serão geradas ao acessar a memória do dispositivo.
CopyMemory Copia um bloco de memória de um local para outro.
CopyVolatileMemory Copia o conteúdo de um bloco de memória de origem para um bloco de memória de destino.
CreateMemoryResourceNotification Cria um objeto de notificação de recurso de memória.
FillDeviceMemory Define o conteúdo de um buffer sem interferência de otimizações do compilador em situações em que o desenvolvedor precisa ter certeza adicional de que falhas de alinhamento não serão geradas ao acessar a memória do dispositivo.
FillMemory Preenche um bloco de memória com um valor especificado.
FillVolatileMemory Preenche um bloco de memória com o valor de preenchimento especificado.
GetLargePageMinimum Recupera o tamanho mínimo de uma página grande.
GetPhysicallyInstalledSystemMemory Recupera a quantidade de RAM instalada fisicamente no computador.
GetSystemFileCacheSize Recupera os limites de tamanho atuais para o conjunto de trabalho do cache do sistema.
GetWriteWatch Recupera os endereços das páginas que foram gravadas em uma região da memória virtual.
GlobalMemoryStatusEx Obtém informações sobre o uso atual do sistema de memória física e virtual.
MoveMemory Move um bloco de memória de um local para outro.
MoveVolatileMemory Copia o conteúdo de um bloco de memória de origem para um bloco de memória de destino e dá suporte a blocos de memória de origem e de destino sobrepostos.
QueryMemoryResourceNotification Recupera o estado do objeto de recurso de memória especificado.
RemoveSecureMemoryCacheCallback Cancela o registro de uma função de retorno de chamada que foi registrada anteriormente com a função AddSecureMemoryCacheCallback.
ResetWriteWatch Redefine o estado de controle de gravação de uma região da memória virtual.
SecureMemoryCacheCallback Uma função definida pelo aplicativo que é chamada quando um intervalo de memória protegido é liberado ou suas proteções são alteradas.
SecureZeroMemory Preenche um bloco de memória com zeros.
SecureZeroMemory2 Preenche um bloco de memória com zeros de uma forma garantidamente segura.
SetSystemFileCacheSize Limita o tamanho do conjunto de trabalho do cache do sistema de arquivos.
ZeroDeviceMemory Define o conteúdo de um buffer como zeros sem interferência de otimizações do compilador em situações em que o desenvolvedor precisa ter certeza adicional de que falhas de alinhamento não serão geradas ao acessar a memória do dispositivo.
ZeroMemory Preenche um bloco de memória com zeros.
ZeroVolatileMemory Preenche um bloco de memória com zeros.

Funções de prevenção de execução de dados

Essas funções são usadas com a DEP (Prevenção de Execução de Dados).

Função Descrição
GetProcessDEPPolicy Recupera as configurações de DEP de um processo.
GetSystemDEPPolicy Recupera as configurações de DEP do sistema.
SetProcessDEPPolicy Altera as configurações de DEP de um processo.

Funções de mapeamento de arquivos

Essas funções são usadas no mapeamento de arquivos.

Função Descrição
CreateFileMappingA Cria ou abre um objeto de mapeamento de arquivo nomeado ou não nomeado para um arquivo especificado.
CreateFileMappingW Cria ou abre um objeto de mapeamento de arquivo nomeado ou não nomeado para um arquivo especificado.
CreateFileMapping2 Cria ou abre um objeto de mapeamento de arquivo nomeado ou não nomeado para um arquivo especificado. Você pode especificar um nó NUMA preferencial para a memória física como parâmetro estendido. Confira o parâmetro ExtendedParameters.
CreateFileMappingFromApp Cria ou abre um objeto de mapeamento de arquivo nomeado ou não nomeado para um arquivo especificado em um aplicativo da Windows Store.
CreateFileMappingNuma Cria ou abre um objeto de mapeamento de arquivo nomeado ou não nomeado para um arquivo especificado e especifica o nó NUMA para a memória física.
FlushViewOfFile Grava no disco um intervalo de bytes em uma exibição mapeada de um arquivo.
GetMappedFileName Verifica se o endereço especificado está dentro de um arquivo mapeado para memória no espaço de endereço do processo especificado. Nesse caso, a função retorna o nome do arquivo mapeado para memória.
MapViewOfFile Mapeia uma exibição de um mapeamento de arquivo para o espaço de endereço de um processo de chamada.
MapViewOfFile2 Mapeia uma exibição de um arquivo ou uma seção com suporte de arquivo de paginação para o espaço de endereço do processo especificado.
MapViewOfFile3 Mapeia uma exibição de um arquivo ou uma seção com suporte de arquivo de paginação para o espaço de endereço do processo especificado.
MapViewOfFile3FromApp Mapeia uma exibição de um mapeamento de arquivo para o espaço de endereço de um processo de chamada em um aplicativo da Windows Store.
MapViewOfFileEx Mapeia uma exibição de um mapeamento de arquivo para o espaço de endereço de um processo de chamada. Um chamador pode, opcionalmente, especificar um endereço de memória sugerido para a exibição.
MapViewOfFileExNuma Mapeia uma exibição de um mapeamento de arquivo para o espaço de endereço de um processo de chamada e especifica o nó NUMA para a memória física.
MapViewOfFileFromApp Mapeia uma exibição de um mapeamento de arquivo para o espaço de endereço de um processo de chamada em um aplicativo da Windows Store.
MapViewOfFileNuma2 Mapeia uma exibição de um arquivo ou uma seção com suporte de arquivo de paginação para o espaço de endereço do processo especificado.
OpenFileMapping Abre um objeto de mapeamento de arquivo nomeado.
OpenFileMappingFromApp Abre um objeto de mapeamento de arquivo nomeado.
UnmapViewOfFile Desmapeia uma exibição mapeada de um arquivo no espaço de endereço do processo de chamada.
UnmapViewOfFile2 Desmapeia uma exibição mapeada anteriormente de um arquivo ou uma seção com suporte de arquivo de paginação.
UnmapViewOfFileEx Desmapeia uma exibição mapeada anteriormente de um arquivo ou uma seção com suporte de arquivo de paginação.

Funções AWE

Estas são as funções AWE.

Função Descrição
AllocateUserPhysicalPages Aloca as páginas de memória física a serem mapeadas e desmapeadas em qualquer região AWE do processo.
AllocateUserPhysicalPagesNuma Aloca as páginas de memória física a serem mapeadas e desmapeadas em qualquer região AWE do processo e especifica o nó NUMA da memória física.
FreeUserPhysicalPages Libera as páginas de memória física alocadas anteriormente com AllocateUserPhysicalPages.
MapUserPhysicalPages Mapeia as páginas de memória física alocadas anteriormente no endereço especificado em uma região AWE.
MapUserPhysicalPagesScatter Mapeia as páginas de memória física alocadas anteriormente no endereço especificado em uma região AWE.

Funções heap

Estas são as funções heap.

Função Descrição
GetProcessHeap Obtém um identificador para o heap do processo de chamada.
GetProcessHeaps Obtém os identificadores para todos os heaps válidos do processo de chamada.
HeapAlloc Aloca um bloco de memória em um heap.
HeapCompact Une os blocos de memória adjacentes livres em um heap.
HeapCreate Cria um objeto heap.
HeapDestroy Destrói o objeto heap especificado.
HeapFree Libera um bloco de memória alocado em um heap.
HeapLock Tenta adquirir o bloqueio associado a um heap especificado.
HeapQueryInformation Recupera as informações sobre o heap especificado.
HeapReAlloc Realoca um bloco de memória em um heap.
HeapSetInformation Define as informações do heap especificado.
HeapSize Recupera o tamanho de um bloco de memória alocado em um heap.
HeapUnlock Libera a propriedade do bloqueio associado a um heap especificado.
HeapValidate Tenta validar um heap especificado.
HeapWalk Enumera os blocos de memória em um heap especificado.

Funções de memória virtual

Estas são as funções de memória virtual.

Função Descrição
DiscardVirtualMemory Descarta o conteúdo da memória de um intervalo de páginas de memória, sem cancelar a confirmação da memória. O conteúdo da memória descartada é indefinido e deve ser regravado pelo aplicativo.
OfferVirtualMemory Indica que os dados contidos em um intervalo de páginas de memória não são mais essenciais para o aplicativo e podem ser descartados pelo sistema, se necessário.
PrefetchVirtualMemory Faz uma pré-busca dos intervalos de endereços virtuais na memória física.
QueryVirtualMemoryInformation Retorna informações sobre uma página ou um conjunto de páginas dentro do espaço de endereço virtual do processo especificado.
ReclaimVirtualMemory Recupera um intervalo de páginas de memória oferecidas ao sistema com OfferVirtualMemory.
SetProcessValidCallTargets Fornece ao CFG uma lista de destinos de chamada indireta válidos e especifica se eles devem ser marcados como válidos ou não.
VirtualAlloc Reserva ou confirma uma região de páginas no espaço de endereço virtual do processo de chamada.
VirtualAlloc2 Reserva, confirma ou altera o estado de uma região de memória dentro do espaço de endereço virtual de um processo especificado. A função inicializa a memória alocada para zero.
VirtualAlloc2FromApp Reserva, confirma ou altera o estado de uma região de páginas no espaço de endereço virtual do processo de chamada. A memória alocada por essa função é inicializada automaticamente para zero.
VirtualAllocEx Reserva ou confirma uma região de páginas no espaço de endereço virtual do processo especificado.
VirtualAllocExNuma Reserva ou confirma uma região de memória dentro do espaço de endereço virtual do processo especificado e especifica o nó NUMA da memória física.
VirtualAllocFromApp Reserva, confirma ou altera o estado de uma região de páginas no espaço de endereço virtual do processo de chamada. A memória alocada por essa função é inicializada automaticamente para zero.
VirtualFree Libera ou cancela a confirmação de uma região de páginas dentro do espaço de endereço virtual do processo de chamada.
VirtualFreeEx Libera ou cancela a confirmação de uma região de memória dentro do espaço de endereço virtual de um processo especificado.
VirtualLock Bloqueia a região especificada do espaço de endereço virtual do processo na memória física.
VirtualProtect Altera a proteção de acesso em uma região de páginas confirmadas no espaço de endereço virtual do processo de chamada.
VirtualProtectEx Altera a proteção de acesso em uma região de páginas confirmadas no espaço de endereço virtual do processo de chamada.
VirtualProtectFromApp Altera a proteção em uma região de páginas confirmadas no espaço de endereço virtual do processo de chamada.
VirtualQuery Fornece informações sobre o intervalo de páginas no espaço de endereço virtual do processo de chamada.
VirtualQueryEx Fornece informações sobre o intervalo de páginas no espaço de endereço virtual do processo de chamada.
VirtualUnlock Desbloqueia um intervalo especificado de páginas no espaço de endereço virtual de um processo.

Funções globais e locais

Confira também Funções globais e locais. Essas funções são fornecidas para compatibilidade com o Windows de 16 bits e são usadas com a DDE (troca dinâmica de dados), as funções da área de transferência e os objetos de dados da OLE. A menos que a documentação indique especificamente que uma função global ou local deve ser usada, novos aplicativos devem usar a função heap correspondente com o identificador retornado por GetProcessHeap. Para obter a funcionalidade equivalente à função global ou local, defina o parâmetro dwFlags da função heap como 0.

Função Descrição Função heap correspondente
GlobalAlloc, LocalAlloc Aloca o número especificado de bytes no heap. HeapAlloc
GlobalDiscard, LocalDiscard Descarta o bloco de memória global especificado. Não aplicável.
GlobalFlags, LocalFlags Retorna as informações sobre o objeto de memória global especificado. Não aplicável. Use o HeapValidate para validar o heap.
GlobalFree, LocalFree Libera o objeto de memória global especificado. HeapFree
GlobalHandle, LocalHandle Recupera o identificador associado ao ponteiro especificado para um bloco de memória global. Essa função deve ser usada somente com funções de OLE e área de transferência quando necessário. Não aplicável.
GlobalLock, LocalLock Bloqueia um objeto de memória global e retorna um ponteiro para o primeiro byte do bloco de memória do objeto. Não aplicável.
GlobalReAlloc, LocalReAlloc Altera o tamanho ou os atributos de um objeto de memória global especificado. HeapReAlloc
GlobalSize, LocalSize Recupera o tamanho atual do objeto de memória global especificado. HeapSize
GlobalUnlock, LocalUnlock Decrementa a contagem de bloqueio associada a um objeto de memória. Essa função deve ser usada somente com funções de OLE e área de transferência quando necessário. Não aplicável.

Funções de memória inválida

Função Descrição
BadMemoryCallbackRoutine Uma função definida pelo aplicativo registrada com a função RegisterBadMemoryNotification que é chamada quando uma ou mais páginas de memória inválida são detectadas.
GetMemoryErrorHandlingCapabilities Obtém os recursos de tratamento de erros de memória do sistema.
RegisterBadMemoryNotification Registra uma notificação de memória inválida que é chamada quando uma ou mais páginas de memória incorretas são detectadas.
UnregisterBadMemoryNotification Fecha o identificador de notificação de memória inválida especificado.

Funções do enclave

Função Descrição
CreateEnclave Cria um novo enclave não inicializado. Um enclave é uma região isolada de código e dados dentro do espaço de endereço de um aplicativo. Somente o código executado dentro do enclave pode acessar os dados dentro do mesmo enclave.
InitializeEnclave Inicializa um enclave que você criou e carregou com dados.
IsEnclaveTypeSupported Recupera se o tipo de enclave especificado é compatível.
LoadEnclaveData Carrega os dados em um enclave não inicializado que você criou chamando CreateEnclave.

Funções de conversão da ATL

Função Descrição
AtlThunk_AllocateData Aloca espaço na memória para uma conversão de ATL.
AtlThunk_DataToCode Retorna uma função executável correspondente ao parâmetro AtlThunkData_t.
AtlThunk_FreeData Libera a memória associada a uma conversão de ATL.
AtlThunk_InitData Inicializa uma conversão de ATL.

Funções obsoletas

Estas funções são fornecidas apenas para compatibilidade com as versões de 16 bits do Windows:

A função abaixo pode retornar informações incorretas e não deve ser usada. Em vez disso, use a função GlobalMemoryStatusEx.