# Example

Below is an example of a call to `GetSummaryInfo()`:

If the get summary flag `-i` is set:

    List<SummaryInfoElement> sinfo sinfo = objFilter.GetSummaryInfo();
    if(sinfo != null)
    {
       FileStream fs = new FileStream(m_summaryFile, FileMode.OpenOrCreate, FileAccess.Write);
       StreamWriter sw = new StreamWriter(fs);
       //In case the ANSI is not 1252, using following to get byte array and then convert to correct information.
       // BinaryWriter bw = new BinaryWriter(fs);
       string charSet = objFilter.TargetCharSet;
       foreach (SummaryInfoElement item in sinfo)
    {
      Console.WriteLine( item.ElementName + ". data: " + item.Data );
      if (item.ElementName != null)
      {
        //bw.Write(item.ElementNameByteArray);
        sw.WriteLine(" name: " + item.ElementName );
      }
      if (item.Data != null)
      {
        //bw.Write(item.DataByteArray);
        sw.WriteLine(" data: " + item.Data );
      }
      sw.Flush();
      }
      sw.Close();
      fs.Close();
    }
    sinfo=null;

The `SummaryInfo` class stores the metadata extraction results. After calling the `Filter.GetSummaryInfo()`method, call the properties provided by each instance of this class to extract metadata. The following describes each property:

- `Isvalid`. Specifies whether the element data is present.

- `SumInfoType`. Sets or gets the summary element's data type. The possible types are:

  `KV_String` | The value in the metadata field is a string.
  `KV_Int4` | The value in the metadata field is an integer.
  `KV_DateTime` | The value in the metadata field is a date and time.
  `KV_ClipBoard` | Currently not supported.
  `KV_Bool` | The value in the metadata field is a boolean.
  `KV_Unicode` | The value in the metadata field is a Unicode string.
  `KV_IEEE8` | The value in the metadata field is an IEEE 8-byte integer.
  `KV_Other` | The value in the metadata field is user-defined.

- `Data`. Sets or gets the summary element's content.

  If `type` is `KV_Int4` or `KV_Bool`, then `data` contains the actual value. Otherwise, `Data` is a pointer to the actual value.

  `KV_IEEE8` point to an 8-byte value.

  `KV_DateTime` , `KV_String` and `KV_Unicode` point to the beginning of the string that contains the text. `KV_Unicode` is replaced with `KV_String` when the UNICODE value has been character mapped to the desired output character set.

- `ElementName`. Sets or gets the summary element's name.
- `ElementNameByteArray`. Sets or gets the summary element's name using a byte array in case the character set is not known.

- `DataByteArray`. Gets the summary element's content using a byte array.

  If the `SumInfoType` is `KV_DateTime` , the value in the `DataByteArray` is a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601 (Windows FILETIME EPOCH). You might need to convert this value into another format.

_FT_HTML5_bannerTitle.htm