22 {
23 BinaryWriter binaryWriter =
new BinaryWriter(
stream);
24 ushort
value = ((numberOfEntries > 65535) ? ushort.MaxValue : ((ushort)numberOfEntries));
25 uint value2 = (uint)((startOfCentralDirectory > uint.MaxValue) ? uint.MaxValue : startOfCentralDirectory);
26 uint value3 = (uint)((sizeOfCentralDirectory > uint.MaxValue) ? uint.MaxValue : sizeOfCentralDirectory);
27 binaryWriter.Write(101010256u);
28 binaryWriter.Write((ushort)0);
29 binaryWriter.Write((ushort)0);
30 binaryWriter.Write(
value);
31 binaryWriter.Write(
value);
32 binaryWriter.Write(value3);
33 binaryWriter.Write(value2);
34 binaryWriter.Write((ushort)((archiveComment != null) ? ((ushort)archiveComment.Length) : 0));
35 if (archiveComment != null)
36 {
37 binaryWriter.Write(archiveComment);
38 }
39 }