Compartilhar via


HeapValidate

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função valida o heap especificado. HeapValidate Examina todos a memória bloqueia no heap e verifica se as estruturas controle heap mantidas pelo Gerenciador heap estão em um consistente estado. O HeapValidate função também pode ser usada para validar um bloco de memória única de um heap especificado sem verificar a validade do heap inteira.

Syntax

BOOL HeapValidate(
  HANDLE hHeap,
  DWORD dwFlags,
  LPCVOID lpMem 
);

Parameters

  • hHeap
    [no] Identificador para o heap para ser validado.

    Este parâmetro é um identificador retornado pela função HeapCreate GetProcessHeap ou.

  • dwFlags
    [no] Opções acessar heap.

    HEAP_NO_SERIALIZE será ignorado. O heap é sempre serializado.

  • lpMem
    [no] Ponteiro válido para um bloco memória dentro de heap especificado. Este parâmetro pode ser NULL.

    Se este parâmetro é NULL, attemptions de função para validar o heap inteiro especificado por hHeap.

    Se este parâmetro não for NULL, a função tenta validar o bloco de memória apontado pelo lpMem. Ele não tenta validar o resto do heap.

Return Value

Nonzero indica que o bloco heap ou memória especificado é válido. Zero indica que o bloco heap ou memória especificado é inválido. Em um sistema configurado para depuração, o HeapValidate função depuração exibe mensagens que descrevem a parte do heap ou bloco de memória que seja inválido e pára em um disco rígido-codificado ponto de interrupção para que você pode examinar o sistema para determinar a origem da invalidity. O HeapValidate função não define último valor de erro do segmento.

Remarks

Há heap controle estruturas para cada bloco de memória em um heap e para o heap como um todo. Quando você usa o HeapValidate função para validar um completo heap, ele verifica todas essas estruturas controle de consistência.

Quando você usa HeapValidate Para validar um bloco único memória de um heap, ele verifica apenas as estruturas controle pertencentes a esse elemento. HeapValidate Só pode validar blocos memória alocada. Chamando HeapValidate Em um bloco de memória livre retorna FALSE porque existem há estruturas controle para validar.

Requirements

Header winbase.h
Library coredll.lib
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

Memory Management Functions
GetProcessHeap
GetLastError
HeapCreate