GETVERSIONINPARAMS structure (ntdddisk.h)

The GETVERSIONINPARAMS structure is used in conjunction with the SMART_GET_VERSION request to retrieve version information, a capabilities mask, and a bitmask for the indicated device.

Syntax

typedef struct _GETVERSIONINPARAMS {
  UCHAR bVersion;
  UCHAR bRevision;
  UCHAR bReserved;
  UCHAR bIDEDeviceMap;
  ULONG fCapabilities;
  ULONG dwReserved[4];
} GETVERSIONINPARAMS, *PGETVERSIONINPARAMS, *LPGETVERSIONINPARAMS;

Members

bVersion

Contains an integer that indicates the version number of the binary driver.

bRevision

Contains an integer that indicates the revision number of the binary driver.

bReserved

Reserved.

bIDEDeviceMap

Contains the bitmap. The following table explains the meaning of the bitmap:

Bitmap Flags Meaning
Bit 0 is set to 1. The device is either a SATA drive or an IDE drive. If it is an IDE drive, it is the master device on the primary channel.
Bit 1 is set to 1. The device is an IDE drive, and it is the subordinate device on the primary channel.
Bit 2 is set to 1. The device is an IDE drive, and it is the master device on the secondary channel.
Bit 3 is set to 1. The device is an IDE drive, and it is the subordinate device on the secondary channel.
Bit 4 is set to 1. The device is an ATAPI drive, and it is the master device on the primary channel.
Bit 5 is set to 1. The device is an ATAPI drive, and it is the subordinate device on the primary channel.
Bit 6 is set to 1. The device is an ATAPI drive, and it is the master device on the secondary channel.
Bit 7 is set to 1. The device is an ATAPI drive, and it is the subordinate device on the secondary channel.

fCapabilities

Contains the bitmask of driver capabilities.

Bitmap Flags Meaning
CAP_ATA_ID_CMD The device supports the ATA ID command.
CAP_ATAPI_ID_CMD The device supports the ATAPI ID command.
CAP_SMART_CMD The device supports SMART commands.

dwReserved[4]

Reserved.

Remarks

The SMART_GET_VERSION control code returns version information, a capabilities mask, and a bitmask for the device. This IOCTL must be handled by drivers that support Self-Monitoring Analysis and Reporting Technology (SMART).

  • Input Parameters

    Parameters.DeviceIoControl.OutputBufferLength indicates the size, in bytes, of the buffer, which must be >= sizeof(GETVERSIONINPARAMS).

  • Output Parameters

    The driver returns the information to the buffer at Irp->AssociatedIrp.SystemBuffer.

  • I/O Status Block

    The driver sets the Information field to sizeof(GETVERSIONINPARAMS) when it sets the Status field to STATUS_SUCCESS. Otherwise, the driver sets the Information field to zero and sets the Status field to possibly STATUS_INVALID_PARAMETER.

Requirements

Requirement Value
Minimum supported client Windows 2000
Header ntdddisk.h (include Ntdddisk.h)