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