Funções de gerenciamento da memória
- Funções gerais de memória
- Funções de prevenção de execução de dados
- Funções de mapeamento de arquivos
- Funções AWE
- Funções heap
- Funções de memória virtual
- Funções globais e locais
- Funções de memória inválida
- Funções do enclave
- Funções de conversão da ATL
- Funções obsoletas
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.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de