Compartilhar via


Método IDebugClient8::OpenDumpFileWide2 (dbgeng.h)

O método OpenDumpFileWide2 abre um arquivo de despejo como um destino de depurador.

Sintaxe

HRESULT OpenDumpFileWide2(
  [in, optional] PCWSTR  FileName,
  [in]           ULONG64 FileHandle,
  [in]           ULONG   AlternateArch
);

Parâmetros

[in, optional] FileName

Especifica o nome do arquivo de despejo a ser aberto , a menos que FileHandle não seja zero; nesse caso, FileName é usado somente quando o mecanismo é consultado para o nome do arquivo de despejo. FileName deve incluir a extensão de nome de arquivo. FileName pode incluir um caminho relativo ou absoluto; os caminhos relativos são relativos ao diretório no qual o depurador foi iniciado. FileName também pode estar na forma de uma URL de arquivo, começando com "file://". Se FileName especificar um arquivo de gabinete (.cab), o arquivo de gabinete será pesquisado para o primeiro arquivo com a extensão .kdmp, depois .hdmp, .mdmp e, por fim, .dmp.

[in] FileHandle

Especifica o identificador de arquivo do arquivo de despejo a ser aberto. Se FileHandle for zero, FileName será usado para abrir o arquivo de despejo. Caso contrário, se FileName não for NULL, o mecanismo o retornará quando consultado para o nome do arquivo de despejo. Se FileHandle não for zero e FileName for NULL, o mecanismo retornará HandleOnly para o nome do arquivo.

[in] AlternateArch

Especifica o argumento AlternateArch, que é uma constante IMAGE_FILE_MACHINE_*. Para obter mais informações, consulte Image File Machine Constants.

Há suporte para essas duas constantes.

  • IMAGE_FILE_MACHINE_AMD64: carregar como se a imagem estivesse em execução em um processo x64

  • IMAGE_FILE_MACHINE_ARM64: carregar como se a imagem estivesse em execução em um processo ARM64

Esse parâmetro só será relevante se você estiver usando OpenDumpFileWide2 para abrir um arquivo de imagem (não um arquivo de despejo) que pode ser mapeado em arquiteturas diferentes. Por exemplo, ARM64X, em que a DLL pode ser carregada em um processo x64/EC ou em um processo ARM64.

Por padrão, as informações sobre a DLL são apresentadas usando qualquer arquitetura que os cabeçalhos de imagem tenham definido. Se você chamar OpenDumpFileWide2 com uma arquitetura diferente, as informações serão apresentadas usando a arquitetura que foi passada. Isso permite que você veja as "correções" que o sistema operacional teria aplicado se a DLL fosse carregada nessa arquitetura de processo.

Para obter mais informações sobre o ARM64X, consulte Arquivos ARM64X PE.

Retornar valor

Esse método também pode retornar valores de erro. Consulte Valores retornados para obter mais detalhes.

Comentários

O mecanismo não é completamente anexado ao arquivo de despejo até que o método WaitForEvent tenha sido chamado. Quando um arquivo de despejo é criado com base em um processo ou kernel, as informações sobre o último evento são armazenadas no arquivo de despejo. Depois que o arquivo de despejo for aberto, na próxima tentativa de execução, o mecanismo gerará esse evento para os retornos de chamada de evento. Somente então o arquivo de despejo fica disponível na sessão de depuração.

Para obter mais informações sobre arquivos de despejo de memória, consulte Destinos de arquivo de despejo.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho dbgeng.h (inclua Dbgeng.h)

Confira também

DEBUG_CLIENT_CONTEXT

IDebugClient8