IOCTL_STORAGE_DIAGNOSTIC IOCTL (ntddstor.h)

IOCTL_STORAGE_DIAGNOSTIC is used to query diagnostic data from the storage driver stack.

Major code

IRP_MJ_DEVICE_CONTROL

Input buffer

Irp->AssociatedIrp.SystemBuffer contains a STORAGE_DIAGNOSTIC_REQUEST structure that describes the diagnostic request being made about the storage driver stack.

Input buffer length

Parameters.DeviceIoControl.InputBufferLength indicates the size, in bytes, of the parameter buffer at Irp->AssociatedIrp.SystemBuffer, which must be >= sizeof(STORAGE_DIAGNOSTIC_REQUEST).

Output buffer

The driver returns output to the buffer at Irp->AssociatedIrp.SystemBuffer. This buffer contains a STORAGE_DIAGNOSTIC_DATA structure with diagnostic data about the storage driver stack.

Output buffer length

Parameters.DeviceIoControl.OutputBufferLength indicates the size, in bytes, of the parameter buffer at Irp->AssociatedIrp.SystemBuffer, which must be >= sizeof(STORAGE_DIAGNOSTIC_DATA).

Input / Output buffer

n/a

Input / Output buffer length

n/a

Status block

Irp->IoStatus.Status is set to STATUS_SUCCESS if the request is successful. Otherwise, Status is set to the appropriate error condition as a NTSTATUS code. For more information, see NTSTATUS Values.

Requirements

Requirement Value
Header ntddstor.h

See also

STORAGE_DIAGNOSTIC_DATA

STORAGE_DIAGNOSTIC_REQUEST