public HidThread(string deviceName, string devicePath, DataReadCallback callback, ThreadExceptionCallback exceptionCallback) { devicename = deviceName; devicepath = devicePath; wdcallback = new WeakDelegate(callback); wdexcallback = new WeakDelegate(exceptionCallback); // Initialize ResourceManager for loading localizable strings rm = new ResourceManager("Strings", Assembly.GetExecutingAssembly()); // Create an event to signal that the thread is up and running ThreadStarted = new ManualResetEvent(false); // Create a new event to signal the thread to terminate ThreadTerminating = new ManualResetEvent(false); }