コード例 #1
0
        public void CreateLocalGroup(string groupName)
        {
            Trace.Entering();
            LocalGroupInfo groupInfo = new LocalGroupInfo();

            groupInfo.Name    = groupName;
            groupInfo.Comment = StringUtil.Format("Built-in group used by Team Foundation Server.");

            int returnCode = NetLocalGroupAdd(null, 1, ref groupInfo, 0);

            // return on success
            if (returnCode == ReturnCode.S_OK)
            {
                return;
            }

            // Error Cases
            switch (returnCode)
            {
            case ReturnCode.NERR_GroupExists:
            case ReturnCode.ERROR_ALIAS_EXISTS:
                Trace.Info(StringUtil.Format("Group {0} already exists", groupName));
                break;

            case ReturnCode.ERROR_ACCESS_DENIED:
                throw new UnauthorizedAccessException(StringUtil.Loc("AccessDenied"));

            case ReturnCode.ERROR_INVALID_PARAMETER:
                throw new ArgumentException(StringUtil.Loc("InvalidGroupName", groupName));

            default:
                throw new Exception(StringUtil.Loc("OperationFailed", nameof(NetLocalGroupAdd), returnCode));
            }
        }
コード例 #2
0
 private extern static int NetLocalGroupAdd([MarshalAs(UnmanagedType.LPWStr)] string servername,
                                            int level,
                                            ref LocalGroupInfo buf,
                                            int parm_err);
コード例 #3
0
 private extern static int NetLocalGroupAdd([MarshalAs(UnmanagedType.LPWStr)] string servername,
                                                  int level,
                                                  ref LocalGroupInfo buf,
                                                  int parm_err);
コード例 #4
0
        public void CreateLocalGroup(string groupName)
        {
            Trace.Entering();
            LocalGroupInfo groupInfo = new LocalGroupInfo();
            groupInfo.Name = groupName;
            groupInfo.Comment = StringUtil.Format("Built-in group used by Team Foundation Server.");

            int returnCode = NetLocalGroupAdd(null, 1, ref groupInfo, 0);

            // return on success
            if (returnCode == ReturnCode.S_OK)
            {
                return;
            }

            // Error Cases
            switch (returnCode)
            {
                case ReturnCode.NERR_GroupExists:
                case ReturnCode.ERROR_ALIAS_EXISTS:
                    Trace.Info(StringUtil.Format("Group {0} already exists", groupName));
                    break;
                case ReturnCode.ERROR_ACCESS_DENIED:
                    throw new UnauthorizedAccessException(StringUtil.Loc("AccessDenied"));

                case ReturnCode.ERROR_INVALID_PARAMETER:
                    throw new ArgumentException(StringUtil.Loc("InvalidGroupName", groupName));

                default:
                    throw new Exception(StringUtil.Loc("OperationFailed", nameof(NetLocalGroupAdd), returnCode));
            }
        }