什么是 WPP 扩展格式规范字符串

除了为 printf 定义的标准格式字符串外,WPP 还包括可在跟踪消息中使用的预定义格式规范字符串。

可以使用 %!FLAGS!%!FUNC!%!水平!跟踪消息前缀中的字符串,以及任何跟踪函数或宏中的字符串,例如 DoTraceMessage

可以在任何跟踪函数中使用其他扩展字符串。

tracewpp 的默认配置选项

WPP 使用“defaultwpp.ini”进行默认配置设置。 此默认 INI 文件作为 Windows SDK 的一部分包含在 WppConfig Rev1 目录中。 有关 WPP 默认行为的最新信息,以及有关自定义的其他信息,请参阅此 INI 文件。

软件跟踪

格式字符串 说明
%!文件! 显示从中生成跟踪消息的源文件的名称。 此变量还可用于 跟踪消息前缀
%!标志! 显示启用跟踪消息的跟踪 标志 的值。 此变量还可用于 跟踪消息前缀
%!FUNC! 显示生成跟踪消息的函数。 此变量还可用于 跟踪消息前缀
%!水平! 显示启用跟踪消息的跟踪 级别 的名称。 此变量还可用于 跟踪消息前缀
%!线! 显示生成跟踪前缀的代码中行的行号。 此变量还可用于 跟踪消息前缀

常规使用

格式字符串 说明
%!bool! 显示 TRUE 或 FALSE
%!irql! 显示当前 IRQL 的名称。
%!sid! 表示指向 pSID) (安全标识符的指针。 显示 SID。
GUID
%!Guid! 表示指向 GUID (pGUID) 的指针。 显示指向的 GUID。
%!Clsid! 类 ID。 表示指向类 ID GUID 的指针。 显示与 GUID 关联的字符串。 WPP 在设置跟踪消息格式时在注册表中查找字符串。
%!LIBID! 类型库。 表示 COM 类型库的 GUID。 显示与 GUID 关联的字符串。 WPP 在设置跟踪消息格式时在注册表中查找字符串。
%!Iid! 接口 ID。 表示指向接口 ID GUID 的指针。 显示与 GUID 关联的字符串。 WPP 在设置跟踪消息格式时在注册表中查找字符串。
时间
%!delta! 显示两个时间值之间的差异(以毫秒为单位)。 它是以 day~h:m:s 格式显示的 LONGLONG 值。
%!WAITTIME! 显示等待完成某些内容所花费的时间(以毫秒为单位)。 它是以 day~h:m:s 格式显示的 LONGLONG 值。 设计为与 %!due! 一起使用。
%!due! 显示预期完成某些内容的时间(以毫秒为单位)。 它是以 day~h:m:s 格式显示的 LONGLONG 值。 设计用于 %!WAITTIME!
%!时间 戳!
%!datetime!
%!时间!
显示特定时刻的系统时间值。 这些是 LONGLONG (SINT64) 以 SYSTEMTIME 格式显示的值。
可以使用这些变量来表示程序中的不同时间值并区分它们。

返回代码

格式字符串 说明
%!地位! 表示状态值,并显示与状态代码关联的字符串。
%!酒家! 表示 Windows 错误代码,并显示与错误关联的字符串。
%!HRESULT! 表示错误或警告,以 HRESULT 格式显示代码。

网络

格式字符串 说明
%!IPADDR! 表示指向 IP 地址的指针。 显示 IP 地址。
%!港口! 显示端口号。