class Win32DiskDrive {

    private static final String WIN32_DISK_DRIVE = "Win32_DiskDrive";

    /**
     * Disk drive properties
     */
    public enum DiskDriveProperty {
        INDEX, MANUFACTURER, MODEL, NAME, SERIALNUMBER, SIZE;
    }

    private Win32DiskDrive() {
    }

    /**
     * Queries the disk drive name info
     *
     * @param h An instantiated {@link WmiQueryHandler}. User should have already initialized COM.
     * @return Information regarding each disk drive.
     */
    public static WmiResult<DiskDriveProperty> queryDiskDrive(WmiQueryHandler h) {<FILL_FUNCTION_BODY>}
}

        WmiQuery<DiskDriveProperty> diskDriveQuery = new WmiQuery<>(WIN32_DISK_DRIVE, DiskDriveProperty.class);
        return h.queryWMI(diskDriveQuery, false);
    
<no_super_class>