.NET Programming
 

     
.NET class for UNC network authentication

Keywords: NETRESOURCE UNC network authentication class WNetAddConnection2

 

 
 

amantadin 50 mg

amantadin kullanimi amantadin antiviral amantadin yan etkileri

    [StructLayout(LayoutKind.Sequential)]

    class NETRESOURCE

    {

        public int dwScope;

        public int dwType;

        public int dwDisplayType;

        public int dwUsage;

        public string LocalName;

        public string RemoteName;

        public string Comment;

        public string Provider;

    }

 

    public class UNCConnect

    {

 

        [DllImport("mpr.dll")]

        private static extern int WNetAddConnection2([In] NETRESOURCE netResource,

           string password, string username, int flags);

 

        [DllImport("mpr.dll", CharSet = CharSet.Ansi)]

        private static extern int WNetCancelConnection2(string astring, int flags, bool force);

 

        public UNCConnect()

        {

            //

            // TODO: Add constructor logic here

            //

        }

 

        public string Connect(string computer, string username, string password)

        {

            NETRESOURCE myNetResource = new NETRESOURCE();

            myNetResource.dwScope = 2;

            myNetResource.dwType = 1;

            myNetResource.dwDisplayType = 3;

            myNetResource.dwUsage = 1;

            myNetResource.RemoteName = computer;

            myNetResource.Provider = null;

 

            WNetCancelConnection2(myNetResource.RemoteName, 0, true);

 

            int ret = WNetAddConnection2(myNetResource, password, username, 0);

            if (ret != 0)

            {

                switch (ret)

                {

                    case 5:  //ERROR_ACCESS_DENIED

                        return "Access Denied";

                    case 85:   // ERROR_ALREADY_ASSIGNED =

                        return "The Drive is already assigned";

                    case 66:   // ERROR_BAD_DEV_TYPE

                        return "Bad Device type";

                    case 1200: // ERROR_BAD_DEVICE

                        return "Bad Device";

                    case 67:   // ERROR_BAD_NET_NAME

                        return "Bad Net Name";

                    case 1206: // ERROR_BAD_PROFILE

                        return "Bad Profile";

                    case 1204: //  ERROR_BAD_PROVIDER

                        return "Bad Provider";

                    case 170:  // ERROR_BUSY

                        return "Busy";

                    case 1223: // ERROR_CANCELLED

                        return "Cancelled";

                    case 1205: // ERROR_CANNOT_OPEN_PROFILE

                        return "Cannot open Profile";

                    case 1202: // ERROR_DEVICE_ALREADY_REMEMBERED

                        return "Device Already Remember";

                    case 1208: // ERROR_EXTENDED_ERROR

                        return "Extended Error";

                    case 86:   // ERROR_INVALID_PASSWORD

                        return "Invalid Password";

                    case 1203: // ERROR_NO_NET_OR_BAD_PATH

                        return "No Net or Bad Path";

                    case 1312:  // ERROR_NO_SUCH_LOGON_SESSION

                        return "The specified logon session does not exist";

                    default:

                        return "Unknown Error " + ret +


 


 PTerryWave LLC      Return to Programming Listing
About