функция обратного вызова 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 или пустое значение.
Возвращаемое значение
Код возврата | Описание |
---|---|
|
Функция выполнена успешно. |
|
Указывает, что функция не может обработать команду или что другие реализации той же команды в других библиотеках DLL расширения также должны выполняться. Подсистема должна продолжать поиск в других библиотеках DLL расширения для другой функции для обработки команды. Например, это можно использовать для выполнения всех функций справки, если каждая из них возвращает CONTINUE_SEARCH. |
Все остальные возвращаемые значения игнорируются обработчиком.
Комментарии
Имя функции становится именем команды расширения. При выполнении команды расширения подсистема выполняет поиск по каждому из загруженных библиотек DLL расширений, в свою очередь, ища экспортированную функцию с тем же именем, что и команда. Например, при выполнении команды !stack подсистема будет искать экспортированную функцию с именем stack в каждой загруженной библиотеке DLL расширения. Сведения о порядке поиска библиотек DLL расширений см. в разделе Использование команд расширения отладчика.
Функция расширения должна использовать клиент, который был передан ей в клиенте для всего взаимодействия с подсистемой, если у нее нет определенной причины для использования другого клиента. Функция расширения не должна поддерживать указатель на клиентский объект после завершения.
DebugExtensionCall называется PDEBUG_EXTENSION_CALL в файле заголовка Dbgeng.h.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | dbgeng.h |