StorPortLogTelemetry function (storport.h)

The StorPortLogTelemetry routine logs a miniport telemetry event to help diagnose or collect any useful information. The miniport can log eight general purpose name-value pairs and a buffer that has maximum length of 4KB, as well as several event related fields that are defined in structure STORPORT_TELEMETRY_EVENT.

Syntax

ULONG StorPortLogTelemetry(
  [in]           PVOID                     HwDeviceExtension,
  [in, optional] PSTOR_ADDRESS             StorAddress,
  [in]           PSTORPORT_TELEMETRY_EVENT Event
);

Parameters

[in] HwDeviceExtension

A pointer to the hardware device extension for the host bus adapter (HBA).

[in, optional] StorAddress

The storage unit device address. This parameter is NULL for adapter devices.

[in] Event

Pointer to the STORPORT_TELEMETRY_EVENT structure that contains the telemetry data payload.

Return value

StorPortLogTelemetry returns one of the following status codes:

Return code Description
STOR_STATUS_INVALID_BUFFER_SIZE
EventBufferLength is larger than EVENT_BUFFER_MAX_LENGTH.
STOR_STATUS_INVALID_PARAMETER
A pointer to one of the parameters is NULL or the EventBufferLength/EventBuffer in Event structure not matching.
STOR_STATUS_NOT_IMPLEMENTED
This function is not implemented on the active operating system.
STATUS_SUCCESS
The telemetry event data have been successfully logged.

Remarks

If any parameter in Event structure is not named, Event->ParameterNameX == NULL, the routine will set the corresponding parameter value to 0.

If miniport has no payload to fill in Event->EventBuffer, it should set Event->EventBufferLength = 0, as well as Event->EventBuffer = NULL.

Requirements

Requirement Value
Minimum supported client Windows 10, version 1703
Minimum supported server Windows Server 2016
Target Platform Windows
Header storport.h (include Storport.h)
IRQL Any

See also

STORPORT_TELEMETRY_EVENT

StorPortLogTelemetryEx