Beispiel #1
0
        private static void PopulateMethodTable(ManagementClass mgmtClass, CacheTable methodTable, bool staticBinding)
        {
            MethodDataCollection methods = mgmtClass.Methods;

            if (methods != null)
            {
                ManagementPath classPath = mgmtClass.ClassPath;
                foreach (MethodData data in methods)
                {
                    if (IsStaticMethod(data) == staticBinding)
                    {
                        string name = data.Name;
                        WMIMethodCacheEntry member = new WMIMethodCacheEntry(name, classPath.Path, data);
                        methodTable.Add(name, member);
                    }
                }
            }
        }
Beispiel #2
0
        private static void PopulateMethodTable(
            ManagementClass mgmtClass,
            CacheTable methodTable,
            bool staticBinding)
        {
            MethodDataCollection methods = mgmtClass.Methods;

            if (methods == null)
            {
                return;
            }
            ManagementPath classPath = mgmtClass.ClassPath;

            foreach (MethodData methodData in methods)
            {
                if (BaseWMIAdapter.IsStaticMethod(methodData) == staticBinding)
                {
                    string name = methodData.Name;
                    BaseWMIAdapter.WMIMethodCacheEntry methodCacheEntry = new BaseWMIAdapter.WMIMethodCacheEntry(name, classPath.Path, methodData);
                    methodTable.Add(name, (object)methodCacheEntry);
                }
            }
        }
Beispiel #3
0
        /// <summary>
        /// Populates methods of a ManagementClass in a CacheTable
        /// </summary>
        /// <param name="mgmtClass">Class to get the method info from.</param>
        /// <param name="methodTable">Cachetable to update.</param>
        /// <param name="staticBinding">controls what methods are adapted.</param>
        /// <exception cref="UnauthorizedAccessException"></exception>
        /// <exception cref="ManagementException"></exception>
        private static void PopulateMethodTable(ManagementClass mgmtClass, CacheTable methodTable, bool staticBinding)
        {
            Dbg.Assert(null != mgmtClass, "ManagementClass cannot be null in this method");
            MethodDataCollection mgmtMethods = mgmtClass.Methods;

            if (null != mgmtMethods)
            {
                ManagementPath classPath = mgmtClass.ClassPath;
                // new operation will never fail
                foreach (MethodData mdata in mgmtMethods)
                {
                    // is method static
                    bool isStatic = IsStaticMethod(mdata);
                    if (isStatic == staticBinding)
                    {
                        // a method is added depending on
                        // whether staticBinding is requested or not.
                        string methodName          = mdata.Name;
                        WMIMethodCacheEntry mCache = new WMIMethodCacheEntry(methodName, classPath.Path, mdata);
                        methodTable.Add(methodName, mCache);
                    }
                }
            }
        }