Parse the WMI packages output.

def ParseMultiple(self, result_dicts):
    """Parse the WMI packages output."""
    for result_dict in result_dicts:
      result = result_dict.ToDict()
      winvolume = rdf_client_fs.WindowsVolume(
          drive_letter=result.get("DeviceID"),
          drive_type=result.get("DriveType"))

      try:
        size = int(result.get("Size"))
      except (ValueError, TypeError):
        size = None

      try:
        free_space = int(result.get("FreeSpace"))
      except (ValueError, TypeError):
        free_space = None

      # Since we don't get the sector sizes from WMI, we just set them at 1 byte
      yield rdf_client_fs.Volume(
          windowsvolume=winvolume,
          name=result.get("VolumeName"),
          file_system_type=result.get("FileSystem"),
          serial_number=result.get("VolumeSerialNumber"),
          sectors_per_allocation_unit=1,
          bytes_per_sector=1,
          total_allocation_units=size,
          actual_available_allocation_units=free_space)