Advertisement
Advertisement
| 12.17.2007 at 01:50PM PST, ID: 23029235 |
|
[x]
Attachment Details
|
||
|
[x]
The Solution Rating System
|
||
|
With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.
Your Input Matters If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support. Thank you! |
||
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: |
SERVICE CONTRACT:
using System;
using System.ServiceModel;
using System.Collections.Generic;
namespace EasyWMI.Interfaces
{
[ServiceContract(Namespace = "http://EasyWMI.Interfaces/2007/12")]
public interface IController
{
[OperationContract]
System.Collections.ArrayList SelectAll();
}
}
DATA CONTRACT:
using System.Runtime.Serialization;
using System.ServiceModel;
using System;
namespace EasyWMI.Models.root.CIMV2
{
[DataContract()]
[KnownType(typeof(object[]))]
[KnownType(typeof(ushort[]))]
[KnownType(typeof(string[]))]
public class Win32_BIOS
{
private ushort [] m_BiosCharacteristics;
private string [] m_BIOSVersion;
private string m_BuildNumber;
[DataMember()]
public ushort [] BiosCharacteristics
{
get
{
return this.m_BiosCharacteristics;
}
set
{
this.m_BiosCharacteristics = value;
}
}
[DataMember()]
public string [] BIOSVersion
{
get
{
return this.m_BIOSVersion;
}
set
{
this.m_BIOSVersion = value;
}
}
[DataMember()]
public string BuildNumber
{
get
{
return this.m_BuildNumber;
}
set
{
this.m_BuildNumber = value;
}
}
}
}
Here is the method that it fails on when it try's to return the collection (this method belongs to the class that inherits the service contract for IController):
public System.Collections.ArrayList SelectAll()
{
ManagementObjectCollection oReturnCollection = null;
System.Collections.ArrayList List = new System.Collections.ArrayList();
try
{
oReturnCollection = GetObjectCollection("Win32_BIOS");
}
catch (System.Exception ex)
{
Debug.WriteLine(ex.Message);
}
int x = 0;
ManagementObjectCollection.ManagementObjectEnumerator CollectionEnumerator = oReturnCollection.GetEnumerator();
int i = 0;
for (i = 0; (i < oReturnCollection.Count); i = (i + 1))
{
Win32_BIOS WMIObject = new Win32_BIOS();
CollectionEnumerator.MoveNext();
ManagementObject newWMIObject = (ManagementObject)CollectionEnumerator.Current;
PropertyDataCollection t = newWMIObject.Properties;
if (t != null)
{
PropertyDataCollection.PropertyDataEnumerator PropertyCollectionEnumerator = t.GetEnumerator();
for (x = 0; (x < t.Count); x = (x + 1))
{
PropertyInfo p = null;
PropertyData pi = null;
try
{
PropertyCollectionEnumerator.MoveNext();
pi = (PropertyData)PropertyCollectionEnumerator.Current;
p = typeof(Win32_BIOS).GetProperty(pi.Name);
}
catch (System.Exception ex)
{
Debug.WriteLine(ex.Message);
}
try
{
if (p != null && pi.Value != null)
{
p.SetValue(WMIObject, pi.Value, null);
PropertyInfo ppath = typeof(Win32_BIOS).GetProperty("MyPath");
ppath.SetValue(WMIObject, newWMIObject.Path.ToString(), null);
}
}
catch (System.Exception ex)
{
Debug.WriteLine(ex.Message);
}
}
}
List.Add(WMIObject);
}
return List;
}
|