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

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

Синтаксис

ULONG StorPortEtwEvent4(
  [in]           PVOID                                                        HwDeviceExtension,
  [in, optional] PSTOR_ADDRESS                                                Address,
  [in]           ULONG                                                        EventId,
  [in]           PWSTR                                                        EventDescription,
  [in]           ULONGLONG                                                    EventKeywords,
  [in]           STORPORT_ETW_LEVEL                                           EventLevel,
  [in]           STORPORT_ETW_EVENT_OPCODE                                    EventOpcode,
  [in, optional] PSCSI_REQUEST_BLOCK                                          Srb,
  [in, optional] _In_reads_or_z_opt_(STORPORT_ETW_MAX_PARAM_NAME_LENGTH)PWSTR Parameter1Name,
  [in]           ULONGLONG                                                    Parameter1Value,
  [in, optional] _In_reads_or_z_opt_(STORPORT_ETW_MAX_PARAM_NAME_LENGTH)PWSTR Parameter2Name,
  [in]           ULONGLONG                                                    Parameter2Value,
  [in, optional] _In_reads_or_z_opt_(STORPORT_ETW_MAX_PARAM_NAME_LENGTH)PWSTR Parameter3Name,
  [in]           ULONGLONG                                                    Parameter3Value,
  [in, optional] _In_reads_or_z_opt_(STORPORT_ETW_MAX_PARAM_NAME_LENGTH)PWSTR Parameter4Name,
  [in]           ULONGLONG                                                    Parameter4Value
);

Параметры

[in] HwDeviceExtension

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

[in, optional] Address

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

[in] EventId

Определенный минипортом идентификатор для события ETW.

[in] EventDescription

Текст описания события. Эта текстовая строка должна быть <= STORPORT_ETW_MAX_DESCRIPTION_LENGTH.

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

[in, optional] Srb

Указатель на SRB, связанный с зарегистрированным событием. Если этот параметр содержит допустимый SRB, этот указатель SRB и связанный указатель SRB регистрируются в журнале.

[in, optional] Parameter1Name

Описание значения Parameter1Value. Эта строка имени параметра должна иметь <значение = STORPORT_ETW_MAX_PARAM_NAME_LENGTH.

[in] Parameter1Value

Значение параметра 1.

[in, optional] Parameter2Name

Описание значения Parameter2Value. Эта строка имени параметра должна иметь <значение = STORPORT_ETW_MAX_PARAM_NAME_LENGTH.

[in] Parameter2Value

Значение параметра 2.

[in, optional] Parameter3Name

Описание значения Parameter3Value. Эта строка имени параметра должна иметь <значение = STORPORT_ETW_MAX_PARAM_NAME_LENGTH.

[in] Parameter3Value

Значение параметра 3.

[in, optional] Parameter4Name

Описание значения Parameter4Value. Эта строка имени параметра должна иметь <значение = STORPORT_ETW_MAX_PARAM_NAME_LENGTH.

[in] Parameter4Value

Значение параметра 4.

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

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

Код возврата Описание
STOR_STATUS_SUCCESS Событие успешно зарегистрировано.
STOR_STATUS_NOT_IMPLEMENTED Трассировка не включена для событий хранилища.
STOR_STATUS_INVALID_PARAMETER Недопустимый параметр. Например, HwDeviceExtension или EventDescription имеют значение NULL, EventDescription больше максимальной длины имени или имя параметра ETW больше максимальной длины имени.

Комментарии

Минипорт может вызывать StorPortEtwEvent4 для регистрации четырех параметров трассировки событий Windows общего назначения. Параметры трассировки событий Windows выражаются в виде четырех пар "имя-значение". Если параметр не имеет имени (Имя параметраX= NULL), подпрограмма установит соответствующее значение параметра равным 0.

События, созданные драйверами мини-портов StorPort, регистрируются в канале ETW Microsoft-Windows-Storage-Storport/Diagnose.

Требования

Требование Значение
Минимальная версия клиента Windows 8.1
Целевая платформа Универсальное
Верхняя часть storport.h (включая Storport.h)
IRQL <= DISPATCH_LEVEL

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

StorPortEtwEvent2

StorPortEtwEvent8

StorPortEtwLogByteStream

StorPortEtwLogError