public string[] GetReferencedAssemblies(string sFileName)
        {
            //m_oAssemblyResolver.ValidateFile(ref sFileName);

            m_sFileName = sFileName;

            ITisExplorerQuery oQuery = m_oMethodsExplorer.QueryMethods(sFileName);

            return(oQuery.ReferencedAssemblies == null ? new string[0] : oQuery.ReferencedAssemblies);
        }
        private ITisInvokeParams[] GetInvokeParams(ITisExplorerQuery oQuery)
        {
            ArrayList oInvokeParamsList = new ArrayList();

            if (oQuery is IAssemblyExplorerQuery)
            {
                IAssemblyTypeInfo oTypeInfo;

                for (int i = 0; i < (oQuery as IAssemblyExplorerQuery).AssemblyTypesCount; i++)
                {
                    oTypeInfo = (oQuery as IAssemblyExplorerQuery).AssemblyType(i);

                    for (int j = 0; j < oTypeInfo.TypeMethodsCount; j++)
                    {
                        oInvokeParamsList.Add(new TisDNInvokeParams(
                                                  (oQuery as IAssemblyExplorerQuery).AssemblyName,
                                                  oTypeInfo.TypeName,
                                                  oTypeInfo.TypeMethod(j)));
                    }
                }
            }
            else
            {
                if (oQuery is IVBAExplorerQuery)
                {
                    IVBAModuleInfo oModuleInfo;

                    for (int i = 0; i < (oQuery as IVBAExplorerQuery).ModulesCount; i++)
                    {
                        oModuleInfo = (oQuery as IVBAExplorerQuery).Module(i);

                        for (int j = 0; j < oModuleInfo.FunctionsCount; j++)
                        {
                            oInvokeParamsList.Add(new TisVBAInvokeParams(
                                                      (oQuery as IVBAExplorerQuery).FileName,
                                                      oModuleInfo.ModuleName,
                                                      oModuleInfo.FunctionName(j)));
                        }
                    }
                }
                else
                {
                    for (int i = 0; i < oQuery.MethodsCount; i++)
                    {
                        oInvokeParamsList.Add(new TisWin32DLLInvokeParams(
                                                  oQuery.FileName,
                                                  oQuery.MethodByIndex(i)));
                    }
                }
            }

            return((ITisInvokeParams[])oInvokeParamsList.ToArray(typeof(ITisInvokeParams)));
        }
        public ITisInvokeParams[] GetMatchingMethodsBySignature(string sFileName, ITisMethodSignature oMethodSignature)
        {
            m_oAssemblyResolver.ValidateFile(ref sFileName);

            m_sFileName = sFileName;

            ITisQueryFilter oQueryFilter = GetQueryFilter(sFileName, oMethodSignature);

            ITisExplorerQuery oQuery = m_oMethodsExplorer.QueryMethods(sFileName, oQueryFilter);

            return(GetInvokeParams(oQuery));
        }