Поделиться через


Функция 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, определяющее канал ETW, в котором регистрируется событие.

[in] EventId

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

[in] EventDescription

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

[in] EventKeywords

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

Ценность Значение
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 Событие начала сбора данных. Это типы событий rundown.
StorportEtwEventOpcodeDC_Stop Событие остановки сбора данных. Это типы событий rundown.
StorportEtwEventOpcodeExtension Событие расширения.
StorportEtwEventOpcodeReply Событие ответа.
StorportEtwEventOpcodeResume Устройство или единица возобновлялись после приостановки.
StorportEtwEventOpcodeSuspend Устройство или единица приостановлены до завершения другой операции.
StorportEtwEventOpcodeReceive Передача действия получается от другого компонента.

[in] DataLength

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

[in] Data

Указатель на пользовательский поток байтов etw минипорта.

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

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

Возвращаемый код Описание
STOR_STATUS_SUCCESS Событие успешно зарегистрировано в указанном канале ETW.
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