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 |