Multi-threaded file copy, RichCopy

Keith Combs convinced me to start blog ( What for? I often receive e-mails asking about RichCopy, but it changed when Joshua Hoffman wrote an article about RichCopy in TechNet Magazine, April, 2009 issue. ( Keith covered this in his article, and consequently got tons of question on his blog ( If I understand correctly, he screamed for help “I am not a support contact of RichCopy”, and asked me to start bloging on the TechNet.

What is RichCopy? Please visit Keith’s blog and 2009.4 issue of TechNet magazine. RichCopy was originally developed more than 10 years ago when I was working on Exchange Server 4.0 (a.k.a Touchdown project) and some other projects as a development lead. One of painful job was to copying latest build to my test machines over slow and large latency network. 10M bps was still majority of edge switches and NetBEUI as protocol at that time. RichCopy was developed to address those issues, especially to put another layer of packet transaction window. In my blogs, I will cover best practice of RichCopy configuration, QA, and I will also write about implementation for example how RichCopy supports over 64 threads while WaitForMultipleObjectEx() does not support more than 64 threads (MAXIMUM_WAIT_OBJECTS).