public static void CancelAll()
        {
            DownloadInfo[] downloads = null;

            dispatcher.Enabled = false;

            lock (register_drop_sync)
            {
                lock (download_queue.SyncRoot)
                {
                    downloads = download_queue.ToArray();
                }
            }

            Cancel(downloads);
        }