Функция StorPortEtwLogByteStream (storport.h)

StorPortEtwLogByteStream регистрирует событие трассировки событий Windows (ETW) с параметром потока байтов общего назначения в указанный канал.

Синтаксис

ULONG StorPortEtwLogByteStream(
  [in]           PVOID                      HwDeviceExtension,
  [in, optional] PSTOR_ADDRESS              Address,
  [in]           STORPORT_ETW_EVENT_CHANNEL EventChannel,
  [in]           ULONG                      EventId,
  [in]           PWSTR                      EventDescription,
  [in]           ULONGLONG                  EventKeywords,
  [in]           STORPORT_ETW_LEVEL         EventLevel,
  [in]           STORPORT_ETW_EVENT_OPCODE  EventOpcode,
  [in]           USHORT                     DataLength,
  [in]           PUCHAR                     Data
);

Параметры

[in] HwDeviceExtension

Указатель на расширение устройства мини-порта.

[in, optional] Address

Адрес устройства единицы хранения. Этот параметр имеет значение NULL для устройств адаптера.

[in] EventChannel

Значение STORPORT_ETW_EVENT_CHANNEL , определяющее канал трассировки событий Windows, в котором регистрируется событие.

[in] EventId

Определяемый мини-портом идентификатор события, который однозначно идентифицирует событие.

[in] EventDescription

Короткая строка, описывающая событие. EventDescription является обязательным и должен быть <= STORPORT_ETW_MAX_DESCRIPTION_LENGTH символов, не включая признак конца NULL.

[in] EventKeywords

Флаги ключевых слов для классификации событий. Задайте значение 0, если ключевое слово не требуется. Ключевые слова представляют собой побитовую комбинацию ИЛИ следующего.

Значение Значение
STORPORT_ETW_EVENT_KEYWORD_IO Событие связано с операциями ввода-вывода устройства.
STORPORT_ETW_EVENT_KEYWORD_PERFORMANCE Это событие связано с производительностью.
STORPORT_ETW_EVENT_KEYWORD_POWER Событие связано с питанием устройства.
STORPORT_ETW_EVENT_KEYWORD_ENUMERATION Событие связано с перечислением устройства.

[in] EventLevel

Уровень события. Это значение может указывать на важность или серьезность события. Это одно из следующих значений.

Значение Значение
StorportEtwLevelLogAlways Регистрируют событие безоговорочно. Событие регистрируется независимо от установленных фильтров.
StorportEtwLevelCritical Событие критического уровня.
StorportEtwLevelError Событие уровня ошибки.
StorportEtwLevelWarning Событие уровня предупреждения.
StorportEtwLevelInformational Информационное событие.
StorportEtwLevelVerbose Предоставлены подробные сведения о событии.

[in] EventOpcode

Рабочий характер события. Это одно из следующих значений.

Значение Значение
StorportEtwEventOpcodeInfo Общее информационное событие.
StorportEtwEventOpcodeStart Устройство или единица запускались.
StorportEtwEventOpcodeStop Устройство или устройство остановлено. Событие соответствует последнему событию непарного запуска.
StorportEtwEventOpcodeDC_Start Событие запуска сбора данных. Это типы событий очистки.
StorportEtwEventOpcodeDC_Stop Событие остановки сбора данных. Это типы событий очистки.
StorportEtwEventOpcodeExtension Событие расширения.
StorportEtwEventOpcodeReply Событие ответа.
StorportEtwEventOpcodeResume Устройство или устройство возобновлялось после приостановки.
StorportEtwEventOpcodeSuspend Устройство или устройство приостанавливается до завершения другой операции.
StorportEtwEventOpcodeReceive Передача действия получена из другого компонента.

[in] DataLength

Длина (в байтах) потока байтов, на который указывает Data , где 1 <= DataLength<= STORPORT_ETW_MAX_BYTE_STREAM_LENGTH.

[in] Data

Указатель на пользовательский поток байтов трассировки событий Windows для мини-порта.

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

StorPortEtwLogByteStream возвращает один из следующих кодов состояния:

Код возврата Описание
STOR_STATUS_SUCCESS Событие успешно зарегистрировано в указанном канале трассировки событий Windows.
STOR_STATUS_INVALID_PARAMETER Недопустимый параметр. Например, HwDeviceExtension, EventDescription или Data имеют значение NULL, DataLength больше максимальной длины имени, EventChannel — недопустимое значение.
STOR_STATUS_UNSUCCESSFUL Возвращается по другим внутренним причинам.

Комментарии

Мини-порт может вызывать StorPortEtwLogByteStream для регистрации события ETW в определенном канале с параметром потока байтов общего назначения.

StorPortEtwLogByteStream полезен, когда минипорту требуется регистрировать контекст, превышающий разрешенный в StorPortEtwEvent2, StorPortEtwEvent4 или StorPortEtwEvent8. Например, минипорт может регистрировать свою внутреннюю структуру данных в виде потока байтов, который затем можно использовать в целях диагностики при получении сведений о проблемах.

Требования

Требование Значение
Минимальная версия сервера Windows Server 2022
Верхняя часть storport.h

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

StorPortEtwEvent2

StorPortEtwEvent4

StorPortEtwEvent8

StorPortEtwLogError