static public Int32 OpenDriver()
        {
            //TODO: place into a lock
            var h = fm2LibOpenDriver(0);

            StringBuilder SerialNumber = new StringBuilder();
            Int16         i            = 16;

            FieldMaxController.fm2LibGetSerialNumber(h, SerialNumber, ref i);

            return(h);
        }
        static public void DoJobLock(Action <Int32, string> job)
        {
            lock (lockObj)
            {
                Int32 h = fm2LibOpenDriver(0);

                StringBuilder SerialNumber = new StringBuilder();
                Int16         i            = 16;
                FieldMaxController.fm2LibGetSerialNumber(h, SerialNumber, ref i);
                job(h, SerialNumber.ToString());
                fm2LibCloseDriver(h);
            }
        }