private void DisposeHandlers() { if (iHidHandler != null) { //First de-register iHidHandler.Dispose(); iHidHandler = null; } if (iHidParser != null) { //First de-register iHidParser.Dispose(); iHidParser = null; } }
public void Dispose() { if (_hidThreadId != 0) { NativeMethods.PostThreadMessage(_hidThreadId, NativeMethods.WM_QUIT, IntPtr.Zero, IntPtr.Zero); _hidEventThread.Join(); _hidThreadId = 0; _hidEventThread = null; } if (_hidHandler != null) { //First de-register _hidHandler.Dispose(); _hidHandler = null; } if (_dummyWindow != IntPtr.Zero) { NativeMethods.DestroyWindow(_dummyWindow); } }