Макрос 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__

Необязательные параметры имени, описания и тегов для определения поля.

TraceLoggingSocketAddress можно указать с 2, 3, 4 или 5 параметрами. Если параметр не указан, будет использоваться значение по умолчанию. Например, выражение TraceLoggingSocketAddress(&x.sockAddr, sizeof(x.sockAddr)) будет эквивалентно TraceLoggingSocketAddress(&x.sockAddr, sizeof(x.sockAddr), "&x.sockAddr", "", 0).

  • [in, optional] name

    Имя, используемое для поля события. Если он указан, параметр name должен быть строковым литералом (не переменной) и не должен содержать символы "\0". Если этот параметр не указан, имя поля события будет основано на pValue.

  • [in, optional] description

    Описание значения поля события. Если он указан, параметр description должен быть строковым литералом и будет включен в PDB.

  • [in, optional] tags

    Целочисленное значение константы времени компиляции. Низкие 28 бит значения будут включены в метаданные поля. Семантика этого значения определяется потребителем события. Во время обработки события это значение можно получить из поля EVENT_PROPERTY_INFO Теги.

Возвращаемое значение

None

Remarks

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
Header traceloggingprovider.h

См. также раздел

TraceLoggingWrite

Макросы-оболочки TraceLogging