예제 #1
0
        public bool Start(string sourceFile)
        {
            qxdmApplication = new QXDMAutoApplication();
            qxdmWindow      = qxdmApplication.GetAutomationWindow();

            isfHandler = qxdmWindow.LoadItemStore(sourceFile);
            if (isfHandler == 0xFFFFFFFF)
            {
                Debug.WriteLine("Error:  Failed to load input ISF: {0}", sourceFile);
                return(false);
            }
            uint itemCount = qxdmWindow.GetItemCount();

            Debug.WriteLine("itemCount: " + itemCount);

            iClient = (AutomationClientInterface)qxdmWindow.GetClientInterface(isfHandler);
            if (iClient == null)
            {
                Debug.WriteLine("Unable to obtain ISF client interface");
                qxdmWindow.CloseItemStore();
                return(false);
            }

            clientHandler = iClient.RegisterClient(true);
            if (clientHandler == 0xFFFFFFFF)
            {
                Debug.WriteLine("Unable to register ISF client");
                qxdmWindow.CloseItemStore();
                return(false);
            }

            iConfig = (AutomationConfigClient)iClient.ConfigureClient(clientHandler);
            if (iConfig == null)
            {
                Debug.WriteLine("Unable to configure ISF client");
                iClient.UnregisterClient(clientHandler);
                qxdmWindow.CloseItemStore();
                return(false);
            }
            return(true);
        }