private Dictionary<string, string> GenerateMetadata(Snapshots.ISnapshotService snapshot, string path, System.IO.FileAttributes attributes) { try { Dictionary<string, string> metadata; if (m_options.StoreMetadata) { metadata = snapshot.GetMetadata(path); if (metadata == null) metadata = new Dictionary<string, string>(); if (!metadata.ContainsKey("CoreAttributes")) metadata["CoreAttributes"] = attributes.ToString(); if (!metadata.ContainsKey("CoreLastWritetime")) { try { metadata["CoreLastWritetime"] = snapshot.GetLastWriteTimeUtc(path).Ticks.ToString(); } catch (Exception ex) { m_result.AddWarning(string.Format("Failed to read timestamp on \"{0}\"", path), ex); } } if (!metadata.ContainsKey("CoreCreatetime")) { try { metadata["CoreCreatetime"] = snapshot.GetCreationTimeUtc(path).Ticks.ToString(); } catch (Exception ex) { m_result.AddWarning(string.Format("Failed to read timestamp on \"{0}\"", path), ex); } } } else { metadata = new Dictionary<string, string>(); } return metadata; } catch(Exception ex) { m_result.AddWarning(string.Format("Failed to process metadata for \"{0}\", storing empty metadata", path), ex); return new Dictionary<string, string>(); } }