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


функция обратного вызова PDEBUG_EXTENSION_CALL (dbgeng.h)

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

Синтаксис

PDEBUG_EXTENSION_CALL PdebugExtensionCall;

HRESULT PdebugExtensionCall(
  [in]           PDEBUG_CLIENT Client,
  [in, optional] PCSTR Args
)
{...}

Параметры

[in] Client

Указывает указатель интерфейса на клиент. Его можно использовать для взаимодействия с подсистемой. Как правило, это клиент, с помощью которого была выполнена команда расширения.

[in, optional] Args

Указывает аргументы, передаваемые в команду расширения. В частности, если команда расширения была вызвана из командной строки, Args содержит остальную часть командной строки. Он может иметь значение NULL или пустое значение.

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

Код возврата Описание
S_OK
Функция выполнена успешно.
DEBUG_EXTENSION_CONTINUE_SEARCH
Указывает, что функция не может обработать команду или что другие реализации той же команды в других библиотеках DLL расширения также должны выполняться. Подсистема должна продолжать поиск в других библиотеках DLL расширения для другой функции для обработки команды. Например, это можно использовать для выполнения всех функций справки, если каждая из них возвращает CONTINUE_SEARCH.
 

Все остальные возвращаемые значения игнорируются обработчиком.

Комментарии

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

Функция расширения должна использовать клиент, который был передан ей в клиенте для всего взаимодействия с подсистемой, если у нее нет определенной причины для использования другого клиента. Функция расширения не должна поддерживать указатель на клиентский объект после завершения.

DebugExtensionCall называется PDEBUG_EXTENSION_CALL в файле заголовка Dbgeng.h.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть dbgeng.h

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

IDebugClient