private void TransmitIr(string irCode, CodeFormat codeFormat, int repeatCount, int inactivityWaitTime, ManualResetEvent evt) { if (false == UUIRTTransmitIR( _hDrvHandle, irCode, (int) codeFormat, repeatCount, inactivityWaitTime, null == evt ? IntPtr.Zero : evt.SafeWaitHandle.DangerousGetHandle(), IntPtr.Zero, IntPtr.Zero)) { Marshal.ThrowExceptionForHR(Marshal.GetHRForLastWin32Error()); } }