引擎调用类型 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时,引擎将在每个加载的扩展 DLL 中查找名为 堆栈 的导出函数。 有关搜索扩展 DLL 的顺序的信息,请参阅 使用调试器扩展命令。
扩展函数应使用在客户端 客户端 中传递给它的客户端,以便与引擎进行所有交互,除非它具有使用另一个客户端的特定原因。 扩展函数在完成之后不应保留指向客户端对象的指针。
DebugExtensionCall 在 Dbgeng.h 头文件中称为 PDEBUG_EXTENSION_CALL。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | dbgeng.h |