private void LearnCallbackProc( uint progress, uint sigQuality, uint carrierFreq, IntPtr userState) { var userDataHandle = (GCHandle) userState; object state = userDataHandle.Target; LearningEventHandler temp = _learning; if (null != temp) { temp(this, new LearningEventArgs(progress, sigQuality, carrierFreq, state)); } }