STORAGE_DIAGNOSTIC_MP_REQUEST structure (ntddscsi.h)

Describes a diagnostic request to Miniport. The STORAGE_DIAGNOSTIC_MP_REQUEST structure is provided in the input/output buffer of an IOCTL_SCSI_MINIPORT_DIAGNOSTIC request.

Syntax

typedef struct _STORAGE_DIAGNOSTIC_MP_REQUEST {
  ULONG                             Version;
  ULONG                             Size;
  MP_STORAGE_DIAGNOSTIC_TARGET_TYPE TargetType;
  MP_STORAGE_DIAGNOSTIC_LEVEL       Level;
  GUID                              ProviderId;
  ULONG                             BufferSize;
  ULONG                             Reserved;
  UCHAR                             DataBuffer[ANYSIZE_ARRAY];
} STORAGE_DIAGNOSTIC_MP_REQUEST, *PSTORAGE_DIAGNOSTIC_MP_REQUEST;

Members

Version

Version of this structure.

Size

Specifies the whole size of the structure and the associated data buffer.

TargetType

Specifies the request target type. See definitions for STORAGE_DIAGNOSTIC_TARGET_TYPE.

Level

Specifies the Diagnostic level. See definitions for STORAGE_DIAGNOSTIC_LEVEL.

ProviderId

Specifies the GUID of the diagnostic data provider.

BufferSize

Specifies the Data buffer size. As an input buffer, BufferSize should be set to number of bytes allocated for the DataBuffer. If the request is failed because of buffer too short, BufferSize should be set to the length required for DataBuffer by the diagnostic data provider; If the request is successful, it should be filled with returned data size of DataBuffer. For other cases, it should be cleared to 0.

Reserved

Reserved for future use.

DataBuffer[ANYSIZE_ARRAY]

Specifies the Diagnostic data buffer.

Requirements

Requirement Value
Minimum supported client Available starting with Windows 10, version 1709.
Header ntddscsi.h

See also

IOCTL_SCSI_MINIPORT_DIAGNOSTIC

STORAGE_DIAGNOSTIC_DATA

STORAGE_DIAGNOSTIC_LEVEL

STORAGE_DIAGNOSTIC_TARGET_TYPE