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/optional]对于构造 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]第一个参数的值。 如果 Parameter1Name 为 NULL 或空字符串,Storport 会将此值记录为零。

Parameter2Name

[in]一个短字符串,表示 Parameter2Value的含义。 如果 Parameter2Name 为 NULL 或空字符串,则忽略 Parameter2Value。 字符串的最大大小是 STORPORT_ETW_MAX_PARAM_NAME_LENGTH 个字符,不包括 null 终止符。

Parameter2Value

[in]第二个参数的值。 如果 Parameter2Name 为 NULL 或空字符串,Storport 会将此值记录为零。

Parameter3Name

[in]一个短字符串,用于 Parameter3Value。 如果 Parameter3Name 为 NULL 或空字符串,则忽略 Parameter3Value。 字符串的最大大小是 STORPORT_ETW_MAX_PARAM_NAME_LENGTH 个字符,不包括 null 终止符。

Parameter3Value

[in]第三个参数的值。 如果 Parameter3Name 为 NULL 或空字符串,Storport 会将此值记录为零。

Parameter4Name

[in]一个短字符串,用于 Parameter4Value。 如果 Parameter4Name 为 NULL 或空字符串,则忽略 Parameter4Value。 字符串的最大大小是 STORPORT_ETW_MAX_PARAM_NAME_LENGTH 个字符,不包括 null 终止符。

Parameter4Value

[in]第四个参数的值。 如果 Parameter4Name 为 NULL 或空字符串,Storport 会将此值记录为零。

Parameter5Name

[in]一个短字符串,表示 Parameter5Value的含义。 如果 Parameter5Name 为 NULL 或空字符串,则忽略 Parameter5Value。 字符串的最大大小是 STORPORT_ETW_MAX_PARAM_NAME_LENGTH 个字符,不包括 null 终止符。

Parameter5Value

[in]第五个参数的值。 如果 Parameter5Name 为 NULL 或空字符串,Storport 会将此值记录为零。

Parameter6Name

[in]一个短字符串,用于 Parameter6Value。 如果 Parameter6Name 为 NULL 或空字符串,则忽略 Parameter6Value。 字符串的最大大小是 STORPORT_ETW_MAX_PARAM_NAME_LENGTH 个字符,不包括 null 终止符。

Parameter6Value

[in]第六个参数的值。 如果 Parameter6Name 为 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]第八个参数的值。 如果 Parameter8Name 为 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