public IVirtualEthernetSwitch DefineSystem(IVirtualEthernetSwitchSettingData systemSettings, IEnumerable <IEthernetPortAllocationSettingData> resourceSettings, IVirtualSystemSettingData referenceConfiguration) { using (ManagementBaseObject methodParameters = this._Instance.GetMethodParameters(nameof(DefineSystem))) { methodParameters["SystemSettings"] = (object)((IWMICommon)systemSettings).Object.GetText(TextFormat.WmiDtd20); methodParameters["ResourceSettings"] = (object)resourceSettings.Select <IEthernetPortAllocationSettingData, string>((Func <IEthernetPortAllocationSettingData, string>)(rs => ((IWMICommon)rs).Object.GetText(TextFormat.WmiDtd20))).ToArray <string>(); using (ManagementBaseObject managementBaseObject = this._Instance.InvokeAndWait(nameof(DefineSystem), methodParameters)) return(VirtualEthernetSwitch.CreateFromManagementObject(new ManagementObject((string)managementBaseObject["ResultingSystem"]))); } }
public IEnumerable <IResourceAllocationSettingData> AddResourceSettings(IVirtualEthernetSwitchSettingData affectedConfiguration, string[] resourceSettings) { ManagementBaseObject inParams = this._Instance.GetMethodParameters(nameof(AddResourceSettings)); try { inParams["AffectedConfiguration"] = (object)((IWMICommon)affectedConfiguration).Object.Path.Path; inParams["ResourceSettings"] = (object)resourceSettings; ManagementBaseObject result = this._Instance.InvokeAndWait(nameof(AddResourceSettings), inParams); try { if (result["ResultingResourceSettings"] != null) { string[] strArray = (string[])result["ResultingResourceSettings"]; for (int index = 0; index < strArray.Length; ++index) { yield return(ResourceAllocationSettingData.CreateFromPath(strArray[index], this.Scope)); } strArray = (string[])null; } else if (result["Job"] != null) { foreach (ManagementObject o in ((ManagementObject)result["Job"]).GetRelated((string)null, "Msvm_AffectedJobElement", (string)null, (string)null, (string)null, (string)null, false, (EnumerationOptions)null)) { yield return(ResourceAllocationSettingData.CreateFromObject(o)); } } } finally { if (result != null) { result.Dispose(); } } result = (ManagementBaseObject)null; } finally { if (inParams != null) { inParams.Dispose(); } } inParams = (ManagementBaseObject)null; }