protected virtual void Dispose(bool disposing)
 {
     if (ptr != IntPtr.Zero)
     {
         DeleteDevice(ptr);
         ptr = IntPtr.Zero;
     }
     if (disposing)
     {
         modeFunc    = null;
         statusFunc  = null;
         sensorsFunc = null;
         infoFunc    = null;
         resultFunc  = null;
     }
 }
 public void SetResult(TResultEventFunc resultFunc)
 {
     this.resultFunc = resultFunc;
     SetResult(ptr, resultFunc);
 }
 static extern void SetResult(IntPtr pWrapper, TResultEventFunc resultFunc);