Função SymFindFileInPathW (dbghelp.h)
Localiza um arquivo de símbolo ou uma imagem executável.
Sintaxe
BOOL IMAGEAPI SymFindFileInPathW(
[in] HANDLE hprocess,
[in, optional] PCWSTR SearchPath,
[in] PCWSTR FileName,
[in, optional] PVOID id,
[in] DWORD two,
[in] DWORD three,
[in] DWORD flags,
[out] PWSTR FoundFile,
[in, optional] PFINDFILEINPATHCALLBACKW callback,
[in, optional] PVOID context
);
Parâmetros
[in] hprocess
Um identificador para o processo que foi passado originalmente para a função SymInitialize.
[in, optional] SearchPath
O caminho da pesquisa. Pode ser vários caminhos separados por ponto-e-vírgula. Ele pode incluir diretórios e servidores de símbolos. Se esse parâmetro for NULL, a função usará o conjunto de caminhos de pesquisa usando a função SymSetSearchPath ou SymInitialize.
[in] FileName
O nome do arquivo. Você pode especificar um caminho; no entanto, somente o nome do arquivo é usado.
[in, optional] id
O primeiro dos três parâmetros de identificação (consulte Comentários).
[in] two
O segundo dos três parâmetros de identificação (consulte Comentários).
[in] three
O terceiro dos três parâmetros de identificação (consulte Comentários).
[in] flags
O formato do parâmetro de ID de
[out] FoundFile
Um ponteiro para um buffer que recebe o caminho totalmente qualificado para o arquivo de símbolo. Esse buffer deve ser pelo menos MAX_PATH caracteres.
[in, optional] callback
Uma função de retorno de chamada
[in, optional] context
Um valor definido pelo usuário ou NULL. Esse valor é simplesmente passado para a função de retorno de chamada. Esse parâmetro normalmente é usado por um aplicativo para passar um ponteiro para uma estrutura de dados que fornece algum contexto para a função de retorno de chamada.
Valor de retorno
Se o servidor localizar um arquivo de símbolo válido, ele retornará VERDADEIRO; caso contrário, ele retorna FALSE e GetLastError retorna um valor que indica por que o arquivo de símbolo não foi retornado.
Observações
Os parâmetros de identificação são preenchidos da seguinte maneira:
- Se DbgHelp estiver procurando um arquivo .pdb, o parâmetro id especifica a assinatura PDB, conforme encontrado no diretório de depuração de visão de código da imagem original. O parâmetro dois especifica a idade do PDB. O parâmetro três não é usado e definido como zero.
- Se dbgHelp estiver procurando qualquer outro tipo de imagem, como um arquivo executável ou um arquivo .dbg, a ID parâmetro especificará o TimeDateStamp da imagem original, conforme encontrado em seu cabeçalho PE. O parâmetro dois especifica o campo SizeOfImage, também extraído do cabeçalho PE. O parâmetro três não é usado e definido como zero.
Ao pesquisar um diretório, essa função não verifica se os identificadores de símbolo correspondem por padrão. Para garantir que os arquivos de símbolo correspondentes estejam localizados, chame a função SymSetOptions com SYMOPT_EXACT_SYMBOLS.
Todas as funções DbgHelp, como esta, são threaded simples. Portanto, chamadas de mais de um thread para essa função provavelmente resultarão em comportamento inesperado ou corrupção de memória. Para evitar isso, você deve sincronizar todas as chamadas simultâneas de mais de um thread para essa função.
Para chamar a versão Unicode dessa função, defina DBGHELP_TRANSLATE_TCHAR.
Nota
O cabeçalho dbghelp.h define SymFindFileInPath como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino |
Windows |
cabeçalho | dbghelp.h |
biblioteca | DbgHelp.lib |
de DLL |
DbgHelp.dll |
redistribuível | DbgHelp.dll 5.1 ou posterior |