STOR_LOG_EVENT_DETAILS structure (storport.h)

The STOR_LOG_EVENT_DETAILS structure provides details pertaining to Storport-specific error log events and system log events.

Syntax

typedef struct _STOR_LOG_EVENT_DETAILS {
  ULONG                       InterfaceRevision;
  ULONG                       Size;
  ULONG                       Flags;
  STOR_EVENT_ASSOCIATION_ENUM EventAssociation;
  ULONG                       PathId;
  ULONG                       TargetId;
  ULONG                       LunId;
  BOOLEAN                     StorportSpecificErrorCode;
  ULONG                       ErrorCode;
  ULONG                       UniqueId;
  ULONG                       DumpDataSize;
  PVOID                       DumpData;
  ULONG                       StringCount;
  PWSTR                       *StringList;
} STOR_LOG_EVENT_DETAILS, *PSTOR_LOG_EVENT_DETAILS;

Members

InterfaceRevision

The revision number of this interface. Set to STOR_CURRENT_LOG_INTERFACE_REVISION to use the version of the interface that matches this structure. Both the constant and the data structure are defined in the same header file. This member is set to 0x00000100 for the first revision.

Size

The size of this structure. Set before calling StorPortLogSystemEvent.

Flags

Not currently used. Must be zero.

EventAssociation

Specifies whether the event should be associated with the adapter, the target, or the LUN. For adapter- and target-associated events, the event is logged against the adapter's device object. For LUN-associated events, the event is logged against the LUN's device object if it exists; otherwise, it is logged against the adapter's device object.

PathId

The SCSI path/bus corresponding to this event.

TargetId

The SCSI target controller or device on the bus corresponding to this event.

LunId

The SCSI logical unit number of the target device corresponding to this event.

StorportSpecificErrorCode

If the ErrorCode value is specific to Storport and should be translated for use with IOLOGMSG.DLL, this value is set to TRUE. If the ErrorCode value is not specific to Storport and should be passed directly to the system event logging facility, this value is set to FALSE.

ErrorCode

The event error code to log.

UniqueId

Specifies a unique identifier associated with the ErrorCode. Often this is used as a location code, referencing the location in the miniport that triggered the event. This value is passed directly to the event logging facility.

DumpDataSize

The size of the miniport-specific data block that is to be appended to the log entry. If no data block is to be written, this should be set to 0.

DumpData

Pointer to the miniport-specific data block that is to be appended to the log entry. If no data block is to be written, DumpDataSize should be set to 0, and this field is ignored.

StringCount

The count of null-terminated Unicode strings contained in the StringList member. If no strings are to be written, this should be set to 0.

StringList

The list of null-terminated Unicode strings to be appended to the log entry for use in string substitution. These strings are substituted for the place holders "%2" through "%n" in the log message text when the log entry is being displayed. This list consists of an array of pointers to the null-terminated Unicode strings. StringCount contains the count of string pointers in this array, so no list termination entry is needed. If no strings are to be written, StringCount should be set to 0, and this field is ignored.

Remarks

Although StorPortLogError uses PathId, TargetId, and LunId values that are 8bits wide, for StorPortLogSystemEvent they are 32bits wide. The combined size of the miniport driver's dump data and string areas cannot exceed 150 bytes. This restriction is due to the < 255 byte limit that the kernel enforces on the event log entries.

Requirements

Requirement Value
Header storport.h (include Storport.h)

See also

STOR_EVENT_ASSOCIATION_ENUM

StorPortLogSystemEvent