/// <summary> /// Get the binary data representing this instance. /// </summary> /// <returns>The raw binary data representing this instance.</returns> public byte[] GetData() { using (MemoryStream ms = new MemoryStream()) using (ZipHelperStream helperStream = new ZipHelperStream(ms)) { helperStream.IsStreamOwner = false; helperStream.WriteByte((byte)this._flags); // Flags if ((this._flags & Flags.ModificationTime) != 0) { TimeSpan span = this._modificationTime - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); var seconds = (int)span.TotalSeconds; helperStream.WriteLEInt(seconds); } if ((this._flags & Flags.AccessTime) != 0) { TimeSpan span = this._lastAccessTime - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); var seconds = (int)span.TotalSeconds; helperStream.WriteLEInt(seconds); } if ((this._flags & Flags.CreateTime) != 0) { TimeSpan span = this._createTime - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); var seconds = (int)span.TotalSeconds; helperStream.WriteLEInt(seconds); } return(ms.ToArray()); } }
/// <summary> /// Get the binary data representing this instance. /// </summary> /// <returns>The raw binary data representing this instance.</returns> public byte[] GetData() { using (MemoryStream ms = new MemoryStream()) using (ZipHelperStream helperStream = new ZipHelperStream(ms)) { helperStream.IsStreamOwner = false; helperStream.WriteLEInt(0); // Reserved helperStream.WriteLEShort(1); // Tag helperStream.WriteLEShort(24); // Length = 3 x 8. helperStream.WriteLELong(this._lastModificationTime.ToFileTimeUtc()); helperStream.WriteLELong(this._lastAccessTime.ToFileTimeUtc()); helperStream.WriteLELong(this._createTime.ToFileTimeUtc()); return(ms.ToArray()); } }