public int GetStream(uint index, [MarshalAs(UnmanagedType.Interface), Out] out ISequentialInStream inStream)
		{
			if (!Success)
			{
				inStream = null;
				return -1;
			}
			inStream = this.inStream = new InStreamWrapper(File.OpenRead(fileNames[(int)index]));
			return 0;
		}
		public void SetOperationResult(OperationResult operationResult)
		{
			if (operationResult != OperationResult.Ok)
				Success = false;
			if (format == Formats.Zip)
				toClose.Add(inStream);
			else
				inStream?.Dispose();
			inStream = null;
		}