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时,引擎将在每个加载的扩展 DLL 中查找名为 堆栈 的导出函数。 有关搜索扩展 DLL 的顺序的信息,请参阅 使用调试器扩展命令

扩展函数应使用在客户端 客户端 中传递给它的客户端,以便与引擎进行所有交互,除非它具有使用另一个客户端的特定原因。 扩展函数在完成之后不应保留指向客户端对象的指针。

DebugExtensionCall 在 Dbgeng.h 头文件中称为 PDEBUG_EXTENSION_CALL

要求

要求 价值
目标平台 桌面
标头 dbgeng.h

另请参阅

IDebugClient