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 中查找名为 stack 的导出函数。 有关搜索扩展 DLL 的顺序的信息,请参阅 使用调试器扩展命令

扩展函数应使用在 Client 中传递给它的客户端与引擎的所有交互,除非它有使用其他客户端的特定原因。 扩展函数在完成后不应维护指向客户端对象的指针。

在 Dbgeng.h 头文件中 PDEBUG_EXTENSION_CALL 调用 DebugExtensionCall。

要求

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

另请参阅

IDebugClient