Abstractions.WindowsApi.pInvokes.UserGet C# (CSharp) Method

UserGet() public static method

returns local user settings as a ref of an USER_INFO_4 struct based on http://social.msdn.microsoft.com/forums/en-us/csharpgeneral/thread/B70B79D9-971F-4D6F-8462-97FC126DE0AD
public static UserGet ( string username, string domain, structenums &userinfo4 ) : Boolean
username string
domain string
userinfo4 structenums a ref of an USER_INFO_4 struct
return Boolean
        public static Boolean UserGet(string username, string domain, ref structenums.USER_INFO_4 userinfo4)
        {
            IntPtr bufPtr;

            int lngReturn = SafeNativeMethods.NetUserGetInfo((String.IsNullOrEmpty(domain)) ? null : domain, username, 4, out bufPtr);
            if (lngReturn == 0)
            {
                try
                {
                    userinfo4 = (structenums.USER_INFO_4)Marshal.PtrToStructure(bufPtr, typeof(structenums.USER_INFO_4));
                }
                catch (Exception ex)
                {
                    LibraryLogging.Error("UserGet Marshal.PtrToStructure error:{0}", ex.ToString());
                    return false;
                }
            }
            else if (lngReturn == 2221)
            {
                // user does not exist
            }
            else
            {
                string errorMessage = new Win32Exception(Marshal.GetLastWin32Error()).ToString();
                LibraryLogging.Error("NetUserGetInfo error:{0} {1}", lngReturn, errorMessage);
            }

            SafeNativeMethods.NetApiBufferFree(bufPtr);

            if (lngReturn == 0)
            {
                return true;
            }

            return false;
        }

Same methods

pInvokes::UserGet ( string username, structenums &userinfo4 ) : Boolean