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


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

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

Синтаксис

PCSTR IMAGEAPI SymSrvDeltaName(
  [in]           HANDLE hProcess,
  [in, optional] PCSTR  SymPath,
  [in]           PCSTR  Type,
  [in]           PCSTR  File1,
  [in]           PCSTR  File2
);

Параметры

[in] hProcess

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

[in, optional] SymPath

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

[in] Type

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

[in] File1

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

[in] File2

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

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

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

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

Комментарии

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

3F3D5C755000-3F3D647621000.xml

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

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

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

Требования

   
Целевая платформа Windows
Header dbghelp.h
Библиотека Dbghelp.lib
DLL Dbghelp.dll
Распространяемые компоненты DbgHelp.dll 6.3 или более поздней версии

См. также раздел

Функции DbgHelp