Поделиться через


Функция SymSrvDeltaNameW (dbghelp.h)

Создает имя файла, описывающего связь между двумя разными версиями одного и того же файла символа или изображения. Использование этой функции предотвращает повторное создание таких данных приложениями при каждом анализе двух файлов.

Синтаксис

PCWSTR IMAGEAPI SymSrvDeltaNameW(
  [in]           HANDLE hProcess,
  [in, optional] PCWSTR SymPath,
  [in]           PCWSTR Type,
  [in]           PCWSTR File1,
  [in]           PCWSTR File2
);

Параметры

[in] hProcess

Дескриптор процесса. Этот дескриптор должен быть передан в функцию SymInitialize.

[in, optional] SymPath

Путь к символу. Функция использует только хранилища символов, описанные в стандартном синтаксисе для хранилищ символов. Все остальные пути игнорируются. Если этот параметр NULL, функция использует набор пути символов с помощью функции SymInitialize или SymSetSearchPath.

[in] Type

Расширение для созданного имени файла.

[in] File1

Путь к первой версии файла символа или изображения.

[in] File2

Путь второй версии файла символа или изображения.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение — это итоговое имя файла.

Если функция завершается ошибкой, возвращаемое значение равно NULL. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.

Замечания

Эта функция открывает два указанных файла, считывает данные индексирования из заголовка и передает эти сведения серверу символов, чтобы он смог создать имя файла. Если указать параметр типа как xml, имя — индекс File1, а затем тире, а затем индекс File2, а затем расширение .xml. Например:

3F3D5C755000-3F3D647621000.xml

Эта функция возвращает указатель на буфер, который может повторно использоваться другой функцией. Поэтому не забудьте скопировать данные, возвращенные в другой буфер немедленно.

Все функции DbgHelp, такие как этот, являются одним потоком. Таким образом, вызовы из нескольких потоков в эту функцию, скорее всего, приведет к непредвиденному поведению или повреждению памяти. Чтобы избежать этого, необходимо синхронизировать все одновременные вызовы из нескольких потоков в эту функцию.

Чтобы вызвать версию этой функции Юникода, определите DBGHELP_TRANSLATE_TCHAR.

Заметка

Заголовок dbghelp.h определяет SymSrvDeltaName как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
целевая платформа Виндоус
заголовка dbghelp.h
библиотеки Dbghelp.lib
DLL Dbghelp.dll
распространяемый DbgHelp.dll 6.3 или более поздней версии

См. также

функций DbgHelp