public static WINSRType CreateInstanceFromPropertyData( Server server, string dnsServerName, string containerName, string ownerName, RecordClassEnum?recordClass, TimeSpan?ttl, MappingFlagEnum mappingFlag, TimeSpan lookupTimeout, TimeSpan cacheTimeout, string resultDomain ) { if (server == null) { throw new ArgumentNullException("server is required"); } ManagementClass dnsClass = new ManagementClass(server.m_scope, new ManagementPath("MicrosoftDNS_WINSRType"), null); ManagementBaseObject inParams = dnsClass.GetMethodParameters("CreateInstanceFromPropertyData"); inParams["DnsServerName"] = dnsServerName; inParams["ContainerName"] = containerName; inParams["OwnerName"] = ownerName; if (recordClass != null) { inParams["RecordClass"] = (UInt32)recordClass.Value; } if (ttl != null) { inParams["TTL"] = ttl.Value.TotalSeconds; } inParams["MappingFlag"] = (UInt32)mappingFlag; inParams["LookupTimeout"] = lookupTimeout.TotalSeconds; inParams["CacheTimeout"] = cacheTimeout.TotalSeconds; inParams["ResultDomain"] = resultDomain; //return new WINSRType((ManagementObject)dnsClass.InvokeMethod("CreateInstanceFromPropertyData", inParams, null)); try { return(new WINSRType(new ManagementObject(server.m_scope, new ManagementPath(dnsClass.InvokeMethod("CreateInstanceFromPropertyData", inParams, null)["RR"].ToString()), null))); } catch (ManagementException me) { throw new WMIException(me); } }
public WINSRType Modify(TimeSpan? ttl, MappingFlagEnum? mappingFlag, TimeSpan? lookupTimeout, TimeSpan? cacheTimeout, string resultDomain) { ManagementBaseObject inParams = m_mo.GetMethodParameters("Modify"); if ((ttl != null) && (ttl != this.TTL)) inParams["TTL"] = ttl.Value.TotalSeconds; if ((mappingFlag != null) && (mappingFlag != this.MappingFlag)) inParams["MappingFlag"] = (UInt32)mappingFlag; if ((lookupTimeout != null) && (lookupTimeout != this.LookupTimeout)) inParams["LookupTimeout"] = lookupTimeout.Value.TotalSeconds; if ((cacheTimeout != null) && (cacheTimeout != this.CacheTimeout)) inParams["CacheTimeout"] = cacheTimeout.Value.TotalSeconds; if ((!string.IsNullOrEmpty(resultDomain)) && (resultDomain != this.ResultDomain)) inParams["ResultDomain"] = resultDomain; //return new WINSType((ManagementObject)m_mo.InvokeMethod("Modify", inParams, null)); try { return new WINSRType(new ManagementObject(m_mo.Scope, new ManagementPath(m_mo.InvokeMethod("Modify", inParams, null)["RR"].ToString()), null)); } catch (ManagementException me) { throw new WMIException(me); } }
public static WINSRType CreateInstanceFromPropertyData( Server server, string dnsServerName, string containerName, string ownerName, RecordClassEnum? recordClass, TimeSpan? ttl, MappingFlagEnum mappingFlag, TimeSpan lookupTimeout, TimeSpan cacheTimeout, string resultDomain ) { if (server == null) throw new ArgumentNullException("server is required"); ManagementClass dnsClass = new ManagementClass(server.m_scope, new ManagementPath("MicrosoftDNS_WINSRType"), null); ManagementBaseObject inParams = dnsClass.GetMethodParameters("CreateInstanceFromPropertyData"); inParams["DnsServerName"] = dnsServerName; inParams["ContainerName"] = containerName; inParams["OwnerName"] = ownerName; if (recordClass != null) inParams["RecordClass"] = (UInt32)recordClass.Value; if (ttl != null) inParams["TTL"] = ttl.Value.TotalSeconds; inParams["MappingFlag"] = (UInt32)mappingFlag; inParams["LookupTimeout"] = lookupTimeout.TotalSeconds; inParams["CacheTimeout"] = cacheTimeout.TotalSeconds; inParams["ResultDomain"] = resultDomain; //return new WINSRType((ManagementObject)dnsClass.InvokeMethod("CreateInstanceFromPropertyData", inParams, null)); try { return new WINSRType(new ManagementObject(server.m_scope, new ManagementPath(dnsClass.InvokeMethod("CreateInstanceFromPropertyData", inParams, null)["RR"].ToString()), null)); } catch (ManagementException me) { throw new WMIException(me); } }