private void FindWork(Object state)
        {
            Find();
            FindCallbackHandler callback = state as FindCallbackHandler;

            if (callback != null)
            {
                callback.Invoke(this.DeviceFound ? FindResult.Success : FindResult.Failure);
            }
        }
 public void FindAsync(FindCallbackHandler callback)
 {
     System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(FindWork), callback);
 }