Função FreeUserPhysicalPages (memoryapi.h)

Libera páginas de memória física alocadas anteriormente usando AllocateUserPhysicalPages ou AllocateUserPhysicalPagesNuma. Se qualquer uma dessas páginas estiver mapeada atualmente na região do AWE ( Address Windowing Extensions), elas serão automaticamente não mapeadas por essa chamada. Isso não afeta o espaço de endereço virtual ocupado por uma região especificada do AWE (Address Windowing Extensions).

Windows de 64 bits em sistemas baseados em Itanium: Devido à diferença de tamanhos de página, FreeUserPhysicalPages não tem suporte para aplicativos de 32 bits.

Sintaxe

BOOL FreeUserPhysicalPages(
  [in]      HANDLE     hProcess,
  [in, out] PULONG_PTR NumberOfPages,
  [in]      PULONG_PTR PageArray
);

Parâmetros

[in] hProcess

O identificador de um processo.

A função libera memória dentro do espaço de endereço virtual desse processo.

[in, out] NumberOfPages

O tamanho da memória física a ser livre, em páginas.

No retorno, se a função falhar, esse parâmetro indicará o número de páginas liberadas.

[in] PageArray

Um ponteiro para uma matriz de números de quadro de página da memória alocada a ser liberada.

Retornar valor

Se a função for bem-sucedida, o valor retornado será TRUE.

Se a função falhar, o valor retornado será FALSE. Nesse caso, o parâmetro NumberOfPages reflete quantas páginas foram realmente liberadas. Para obter informações de erro estendidas, chame GetLastError.

Comentários

Em um ambiente multiprocessador, essa função mantém a coerência do buffer de tradução de hardware. Quando essa função retorna, todos os threads em todos os processadores têm a garantia de ver o mapeamento correto.

Para compilar um aplicativo que usa essa função, defina a macro _WIN32_WINNT como 0x0500 ou posterior. Para obter mais informações, consulte Usando os cabeçalhos do Windows.

Exemplos

Para obter um exemplo, consulte Exemplo de AWE.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho memoryapi.h (inclua Windows.h, Memoryapi.h)
Biblioteca onecore.lib
DLL Kernel32.dll

Confira também

Extensões de janela de endereço

AllocateUserPhysicalPages

AllocateUserPhysicalPagesNuma

MapUserPhysicalPages

MapUserPhysicalPagesScatter

Funções de gerenciamento da memória