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 类型,例如 SOCKADDRSOCKADDR_INSOCKADDR_IN6SOCKADDR_STORAGE等。事件将记录原始二进制数据和数据大小。 事件解码器将使用 sa_family 字段来确定套接字地址的实际类型。

注意

并非所有解码器都支持所有 sockaddr 系列类型。 如果遇到不受支持的 sockaddr,解码器可能会将字段解码为原始二进制数据,而不是将其格式化为地址。

要求

要求
最低受支持的客户端 Windows Vista [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2008 [桌面应用 | UWP 应用]
目标平台 Windows
标头 traceloggingprovider.h

另请参阅

TraceLoggingWrite

TraceLogging 包装宏