TraceLoggingSocketAddress 宏 (traceloggingprovider.h)
TraceLogging 包装宏 ,用于将具有套接字地址的字段添加到事件。
语法
void TraceLoggingSocketAddress(
[in] pValue,
[in] cbValue,
[in, optional] __VA_ARGS__
);
参数
[in] pValue
指向 sockaddr 结构的指针。
[in] cbValue
pValue 参数指向的值的大小(以字节为单位)。
注意
sockaddr 字段所需的数据量因地址类型而异。 如果数据存储在联合变量中,请确保将 cbValue 参数设置为正确联合成员 (的大小或联合) 的大小,以避免截断数据。
[in, optional] __VA_ARGS__
字段定义的可选 名称、 说明和 标记 参数。
可以使用 2、3、4 或 5 个参数指定 TraceLoggingSocketAddress。 如果未指定参数,将使用默认值。 例如,TraceLoggingSocketAddress(&x.sockAddr, sizeof(x.sockAddr))
等效于 TraceLoggingSocketAddress(&x.sockAddr, sizeof(x.sockAddr), "&x.sockAddr", "", 0)
。
[in, optional] name
要用于事件字段的名称。 如果提供,则 name 参数必须是字符串文本 (不是) 变量,并且不得包含任何“\0”字符。 如果未提供,事件字段名称将基于 pValue。
[in, optional] description
事件字段值的说明。 如果提供说明参数,则说明参数必须是字符串文本,并且将包含在 PDB 中。
[in, optional] tags
编译时常量整数值。 该值的低 28 位将包含在字段的元数据中。 此值的语义由事件使用者定义。 在事件处理期间,可以从 “EVENT_PROPERTY_INFO 标记”字段检索此值。
返回值
无
备注
TraceLoggingSocketAddress(pValue, cbValue, ...)
可用作 TraceLoggingWrite 宏调用的参数。 每个 TraceLoggingSocketAddress 参数都会向事件添加一个字段。
该值可以是任何 Windows sockaddr 类型,例如 SOCKADDR、 SOCKADDR_IN、 SOCKADDR_IN6、 SOCKADDR_STORAGE等。事件将记录原始二进制数据和数据大小。 事件解码器将使用 sa_family
字段来确定套接字地址的实际类型。
注意
并非所有解码器都支持所有 sockaddr 系列类型。 如果遇到不受支持的 sockaddr,解码器可能会将字段解码为原始二进制数据,而不是将其格式化为地址。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2008 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | traceloggingprovider.h |