public static void SetDefaultEndpoint(string devId, ERole eRole) { object policyConfig = null; try { policyConfig = ComObjectFactory.GetPolicyConfig(); switch (policyConfig) { case IPolicyConfigRedstone3 config: config.SetDefaultEndpoint(devId, eRole); break; case IPolicyConfigRedstone2 config: config.SetDefaultEndpoint(devId, eRole); break; case IPolicyConfigRedstone config: config.SetDefaultEndpoint(devId, eRole); break; case IPolicyConfigX config: config.SetDefaultEndpoint(devId, eRole); break; case IPolicyConfig config: config.SetDefaultEndpoint(devId, eRole); break; case IPolicyConfigVista config: config.SetDefaultEndpoint(devId, eRole); break; case IPolicyConfigUnknown config: config.SetDefaultEndpoint(devId, eRole); break; } } finally { if (policyConfig != null && Marshal.IsComObject(policyConfig)) { Marshal.FinalReleaseComObject(policyConfig); } } }
public static void SetDefaultEndpoint(string devId, ERole eRole) { object policyConfig = null; try { policyConfig = ComObjectFactory.GetPolicyConfig(); var policyConfig7 = policyConfig as IPolicyConfig; var policyConfigVista = policyConfig as IPolicyConfigVista; var policyConfigX = policyConfig as IPolicyConfigX; var policyConfigRedstone = policyConfig as IPolicyConfigRedstone; if (policyConfigRedstone != null) { policyConfigRedstone.SetDefaultEndpoint(devId, eRole); } else if (policyConfigX != null) { policyConfigX.SetDefaultEndpoint(devId, eRole); } else if (policyConfig7 != null) { policyConfig7.SetDefaultEndpoint(devId, eRole); } else if (policyConfigVista != null) { policyConfigVista.SetDefaultEndpoint(devId, eRole); } else { var policyConfigUnknown = policyConfig as IPolicyConfigUnknown; policyConfigUnknown?.SetDefaultEndpoint(devId, eRole); } } finally { if (policyConfig != null && Marshal.IsComObject(policyConfig)) { Marshal.FinalReleaseComObject(policyConfig); } } }