Exemplo n.º 1
0
 protected override void AddAllMethods <T>(ManagementBaseObject wmiObject, PSMemberInfoInternalCollection <T> members)
 {
     if (typeof(T).IsAssignableFrom(typeof(PSMethod)))
     {
         foreach (BaseWMIAdapter.WMIMethodCacheEntry entry in BaseWMIAdapter.GetInstanceMethodTable(wmiObject, false).memberCollection)
         {
             if (members[entry.Name] == null)
             {
                 Adapter.tracer.WriteLine("Adding method {0}", new object[] { entry.Name });
                 members.Add(new PSMethod(entry.Name, this, wmiObject, entry) as T);
             }
         }
     }
 }
Exemplo n.º 2
0
 protected override T GetManagementObjectMethod <T>(ManagementBaseObject wmiObject, string methodName)
 {
     if (!typeof(T).IsAssignableFrom(typeof(PSMethod)))
     {
         return(default(T));
     }
     BaseWMIAdapter.WMIMethodCacheEntry adapterData = (BaseWMIAdapter.WMIMethodCacheEntry)BaseWMIAdapter.GetInstanceMethodTable(wmiObject, false)[methodName];
     if (adapterData == null)
     {
         return(default(T));
     }
     return(new PSMethod(adapterData.Name, this, wmiObject, adapterData) as T);
 }