// ntddscsi.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
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.
VersionVersion of this structure.
SizeSpecifies the whole size of the structure and the associated data buffer.
TargetTypeSpecifies the request target type. See definitions for STORAGE_DIAGNOSTIC_TARGET_TYPE.
LevelSpecifies the Diagnostic level. See definitions for STORAGE_DIAGNOSTIC_LEVEL.
ProviderIdSpecifies the GUID of the diagnostic data provider.
BufferSizeSpecifies 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.
ReservedReserved for future use.
DataBufferSpecifies the Diagnostic data buffer.
IOCTL_SCSI_MINIPORT_DIAGNOSTIC
STORAGE_DIAGNOSTIC_TARGET_TYPE