private static int ProgressDelegate(IntPtr parm, double dlTotal,
double dlNow, double ulTotal, double ulNow)
{
GCHandle gch = (GCHandle)parm;
Easy easy = (Easy)gch.Target;
if (easy == null)
return 0;
if (easy.m_pfProgress == null)
return 0;
int nprog = easy.m_pfProgress(easy.m_progressData, dlTotal,
dlNow, ulTotal, ulNow);
return nprog;
}