Example #1
0
        void StartThread()
        {
            //Initialize COM object
            lock (threadInitialized)
            {
                try
                {
                    session = CreateComInstance();
                    encoder = GetEncoder(session);
                }
                catch (Exception)
                {
                    connectException = true;
                }
                Monitor.Pulse(threadInitialized);

                if (connectException)  //!!Close connections?
                {
                    ReleaseComInstance(session);
                    return;
                }
            }

            //Use thread to gather data from COM object
            DataLoop();

            //!!End channels and queues
            /*
            for (int i = 0; i < channels.Length; i++)
            {

                queues[i].SignalExit();
                queues.

            }*/

            session.CloseConnections();
            ReleaseComInstance(session);
            return;
        }