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

Драйвер минипорта NVMe вызывает функцию StorPortNvmeMiniportEvent для регистрации события ETW в определенном канале с до восьми дополнительных параметров общего назначения.

Синтаксис

ULONG StorPortNvmeMiniportEvent(
  PVOID                                                        HwDeviceExtension,
  PVOID                                                        ControllerHandle,
  ULONG                                                        NamespaceId,
  STORPORT_ETW_EVENT_CHANNEL                                   EventChannel,
  ULONG                                                        EventId,
  PWSTR                                                        EventDescription,
  ULONGLONG                                                    EventKeywords,
  STORPORT_ETW_LEVEL                                           EventLevel,
  STORPORT_ETW_EVENT_OPCODE                                    EventOpcode,
  _In_reads_or_z_opt_(STORPORT_ETW_MAX_PARAM_NAME_LENGTH)PWSTR Parameter1Name,
  ULONGLONG                                                    Parameter1Value,
  _In_reads_or_z_opt_(STORPORT_ETW_MAX_PARAM_NAME_LENGTH)PWSTR Parameter2Name,
  ULONGLONG                                                    Parameter2Value,
  _In_reads_or_z_opt_(STORPORT_ETW_MAX_PARAM_NAME_LENGTH)PWSTR Parameter3Name,
  ULONGLONG                                                    Parameter3Value,
  _In_reads_or_z_opt_(STORPORT_ETW_MAX_PARAM_NAME_LENGTH)PWSTR Parameter4Name,
  ULONGLONG                                                    Parameter4Value,
  _In_reads_or_z_opt_(STORPORT_ETW_MAX_PARAM_NAME_LENGTH)PWSTR Parameter5Name,
  ULONGLONG                                                    Parameter5Value,
  _In_reads_or_z_opt_(STORPORT_ETW_MAX_PARAM_NAME_LENGTH)PWSTR Parameter6Name,
  ULONGLONG                                                    Parameter6Value,
  _In_reads_or_z_opt_(STORPORT_ETW_MAX_PARAM_NAME_LENGTH)PWSTR Parameter7Name,
  ULONGLONG                                                    Parameter7Value,
  _In_reads_or_z_opt_(STORPORT_ETW_MAX_PARAM_NAME_LENGTH)PWSTR Parameter8Name,
  ULONGLONG                                                    Parameter8Value
);

Параметры

HwDeviceExtension

[in] Указатель на расширение аппаратного устройства для адаптера шины узла (HBA).

ControllerHandle

[in/необязательный] Для мини-порта NVMe (NVMe-oF) структуры, если событие зависит от контроллера, ControllerHandle является дескриптором Storport для контроллера NVMe; в противном случае значение равно NULL.

NamespaceId

[in] Если событие зависит от пространства имен, NamespaceId является идентификатором пространства имен; в противном случае значение должно быть равно нулю.

EventChannel

[in] Значение перечисления STORPORT_ETW_EVENT_CHANNEL, указывающее канал ETW, в котором регистрируется событие.

EventId

[in] Идентификатор события minipoort для уникального определения типа события.

EventDescription

[in] Требуемая строка, описывающая событие. Максимальный размер строки — это STORPORT_ETW_MAX_DESCRIPTION_LENGTH символов, не включая терминатор NULL.

EventKeywords

[in] Битовая маска STORPORT_ETW_EVENT_CHANNEL_XXX значений для дальнейшего описания события. Установите значение нулю, если ключевые слова не требуются.

EventLevel

[in] Значение STORPORT_ETW_LEVEL, указывающее уровень события.

EventOpcode

[in] Значение перечисления STORPORT_ETW_EVENT_OPCODE, указывающее код опкода события.

Parameter1Name

[in] Короткая строка, которая дает смысл Parameter1Value. Если Parameter1Name имеет значение NULL или пустая строка, Parameter1Value игнорируется. Максимальный размер строки — STORPORT_ETW_MAX_PARAM_NAME_LENGTH символов, не включая терминатор NULL.

Parameter1Value

[in] Значение первого параметра. Если Параметр1Name имеет значение NULL или пустая строка, Storport записывает это значение как нулевое.

Parameter2Name

[in] Короткая строка, которая дает значение для Parameter2Value. Если Parameter2Name имеет значение NULL или пустая строка, Parameter2Value игнорируется. Максимальный размер строки — STORPORT_ETW_MAX_PARAM_NAME_LENGTH символов, не включая терминатор NULL.

Parameter2Value

[in] Значение второго параметра. Если Параметр2Name имеет значение NULL или пустая строка, Storport записывает это значение как нулевое.

Parameter3Name

[in] Короткая строка, которая дает значение Parameter3Value. Если Parameter3Name имеет значение NULL или пустая строка, Параметр3Value игнорируется. Максимальный размер строки — STORPORT_ETW_MAX_PARAM_NAME_LENGTH символов, не включая терминатор NULL.

Parameter3Value

[in] Значение третьего параметра. Если Параметр3Name имеет значение NULL или пустая строка, Storport записывает это значение как нулевое.

Parameter4Name

[in] Короткая строка, которая дает смысл Parameter4Value. Если Parameter4Name имеет значение NULL или пустая строка, Parameter4Value игнорируется. Максимальный размер строки — STORPORT_ETW_MAX_PARAM_NAME_LENGTH символов, не включая терминатор NULL.

Parameter4Value

[in] Значение четвертого параметра. Если Параметр4Name имеет значение NULL или пустая строка, Storport записывает это значение как ноль.

Parameter5Name

[in] Короткая строка, которая дает смысл Parameter5Value. Если Параметр5Name имеет значение NULL или пустая строка, Parameter5Value игнорируется. Максимальный размер строки — STORPORT_ETW_MAX_PARAM_NAME_LENGTH символов, не включая терминатор NULL.

Parameter5Value

[in] Значение пятого параметра. Если Parameter5Name имеет значение NULL или пустая строка, Storport записывает это значение как ноль.

Parameter6Name

[in] Короткая строка, которая дает смысл Parameter6Value. Если Параметр6Name имеет значение NULL или пустая строка, Parameter6Value игнорируется. Максимальный размер строки — STORPORT_ETW_MAX_PARAM_NAME_LENGTH символов, не включая терминатор NULL.

Parameter6Value

[in] Значение шестого параметра. Если Параметр6Name имеет значение NULL или пустая строка, Storport будет записывать это значение как ноль.

Parameter7Name

[in] Короткая строка, которая дает смысл Parameter7Value. Если Parameter7Name имеет значение NULL или пустая строка, Parameter7Value игнорируется. Максимальный размер строки — STORPORT_ETW_MAX_PARAM_NAME_LENGTH символов, не включая терминатор NULL.

Parameter7Value

[in] Значение седьмого параметра. Если Parameter7Name имеет значение NULL или пустая строка, Storport записывает это значение как ноль.

Parameter8Name

[in] Короткая строка, которая дает смысл Parameter8Value. Если Parameter8Name имеет значение NULL или пустая строка, Parameter8Value игнорируется. Максимальный размер строки — STORPORT_ETW_MAX_PARAM_NAME_LENGTH символов, не включая терминатор NULL.

Parameter8Value

[in] Значение восьмого параметра. Если Параметр8Name имеет значение NULL или пустая строка, Storport зановит это значение как ноль.

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

StorPortNvmeMiniportEvent возвращает STOR_STATUS_SUCCESS, если событие успешно зарегистрировано. В противном случае возвращается значение, например:

Возвращаемый код Описание
STOR_STATUS_NOT_IMPLEMENTED Эта функция не реализована в активной операционной системе.
STOR_STATUS_INVALID_PARAMETER Операция завершается ошибкой с этим возвращаемым значением, если один или несколько параметров недопустимы.
STOR_STATUS_UNSUCCESSFUL Операция завершилась ошибкой по другим внутренним причинам.

Замечания

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

События, созданные из драйверов минипорта StorPort, регистрируются в канале, указанном EventChannel.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 11 версии 24H2
заголовка storport.h

См. также

STORPORT_ETW_EVENT_CHANNEL

STORPORT_ETW_LEVEL

STORPORT_ETW_EVENT_OPCODE