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 |