/// <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)_flags); // Flags
             if ((_flags & Flags.ModificationTime) != 0)
             {
                 TimeSpan span    = _modificationTime.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0).ToUniversalTime();
                 int      seconds = (int)span.TotalSeconds;
                 helperStream.WriteLEInt(seconds);
             }
             if ((_flags & Flags.AccessTime) != 0)
             {
                 TimeSpan span    = _lastAccessTime.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0).ToUniversalTime();
                 int      seconds = (int)span.TotalSeconds;
                 helperStream.WriteLEInt(seconds);
             }
             if ((_flags & Flags.CreateTime) != 0)
             {
                 TimeSpan span    = _createTime.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0).ToUniversalTime();
                 int      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(_lastModificationTime.ToFileTime());
             helperStream.WriteLELong(_lastAccessTime.ToFileTime());
             helperStream.WriteLELong(_createTime.ToFileTime());
             return(ms.ToArray());
         }
 }
예제 #3
0
 /// <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(_lastModificationTime.ToFileTime());
         helperStream.WriteLELong(_lastAccessTime.ToFileTime());
         helperStream.WriteLELong(_createTime.ToFileTime());
         return ms.ToArray();
     }
 }
예제 #4
0
 /// <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)_flags);     // Flags
         if ((_flags & Flags.ModificationTime) != 0)
         {
             TimeSpan span = _modificationTime.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0).ToUniversalTime();
             int seconds = (int)span.TotalSeconds;
             helperStream.WriteLEInt(seconds);
         }
         if ((_flags & Flags.AccessTime) != 0)
         {
             TimeSpan span = _lastAccessTime.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0).ToUniversalTime();
             int seconds = (int)span.TotalSeconds;
             helperStream.WriteLEInt(seconds);
         }
         if ((_flags & Flags.CreateTime) != 0)
         {
             TimeSpan span = _createTime.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0).ToUniversalTime();
             int seconds = (int)span.TotalSeconds;
             helperStream.WriteLEInt(seconds);
         }
         return ms.ToArray();
     }
 }