Функция 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 |