Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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);
            }
        }