Compartir a través de


Función SymFindFileInPathW (dbghelp.h)

Busca un archivo de símbolos o una imagen ejecutable.

Sintaxis

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

Identificador del proceso que se pasó originalmente a la función SymInitialize.

[in, optional] SearchPath

Ruta de acceso de búsqueda. Puede ser varias rutas de acceso separadas por punto y coma. Puede incluir directorios y servidores de símbolos. Si este parámetro es NULL, la función usa la ruta de acceso de búsqueda establecida mediante la función SymSetSearchPath o SymInitialize.

[in] FileName

Nombre del archivo. Puede especificar una ruta de acceso; sin embargo, solo se usa el nombre de archivo.

[in, optional] id

El primero de tres parámetros de identificación (vea comentarios).

[in] two

La segunda de tres parámetros de identificación (vea comentarios).

[in] three

El tercero de tres parámetros de identificación (vea comentarios).

[in] flags

Formato del parámetro id. de . Este parámetro puede ser uno de los siguientes valores.

Valor Significado
SSRVOPT_DWORD
0x0002
El parámetro id. de es un DWORD.
SSRVOPT_DWORDPTR
0x0004
El parámetro id es un puntero a un DWORD.
SSRVOPT_GUIDPTR
0x0008
El parámetro id. de es un puntero a un GUID de .

[out] FoundFile

Puntero a un búfer que recibe la ruta de acceso completa al archivo de símbolos. Este búfer debe tener al menos MAX_PATH caracteres.

[in, optional] callback

Una función de devolución de llamada SymFindFileInPathProc.

[in, optional] context

Valor definido por el usuario o null. Este valor se pasa simplemente a la función de devolución de llamada. Normalmente, una aplicación usa este parámetro para pasar un puntero a una estructura de datos que proporciona algún contexto para la función de devolución de llamada.

Valor devuelto

Si el servidor busca un archivo de símbolos válido, devuelve TRUE; de lo contrario, devuelve FALSE y GetLastError devuelve un valor que indica por qué no se devolvió el archivo de símbolos.

Observaciones

Los parámetros de identificación se rellenan de la siguiente manera:

  • Si DbgHelp busca un archivo .pdb, el id parámetro especifica la firma PDB tal como se encuentra en el directorio de depuración de codeview de la imagen original. El parámetro dos especifica la antigüedad de PDB. El parámetro tres no se usa y se establece en cero.
  • Si DbgHelp busca cualquier otro tipo de imagen, como un archivo ejecutable o un archivo .dbg, el parámetro id especifica timeDateStamp de la imagen original como se encuentra en su encabezado PE. El parámetro dos especifica el campo SizeOfImage, que también se extrae del encabezado PE. El parámetro tres no se usa y se establece en cero.
Todos estos valores se pueden obtener llamando a SymSrvGetFileIndexInfo.

Al buscar en un directorio, esta función no comprueba que los identificadores de símbolo coincidan de forma predeterminada. Para asegurarse de que se encuentran los archivos de símbolos coincidentes, llame a la función SymSetOptions con SYMOPT_EXACT_SYMBOLS.

Todas las funciones DbgHelp, como esta, son un solo subproceso. Por lo tanto, las llamadas de más de un subproceso a esta función probablemente provocarán un comportamiento inesperado o daños en la memoria. Para evitar esto, debe sincronizar todas las llamadas simultáneas de más de un subproceso a esta función.

Para llamar a la versión Unicode de esta función, defina DBGHELP_TRANSLATE_TCHAR.

Nota

El encabezado dbghelp.h define SymFindFileInPath como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
de la plataforma de destino de Windows
encabezado de dbghelp.h
biblioteca de DbgHelp.lib
DLL de DbgHelp.dll
redistribuible DbgHelp.dll 5.1 o posterior

Consulte también

funciones dbgHelp de

SymFindFileInPathProc

SymInitialize

SymSetSearchPath

symSrvGetFileIndexInfo