Example #1
0
 public WindowsUserSpecificSettings(string domain, string user, string pass)
 {
     WindowsUserSpecificSettings.AcquireTokenPriv("SeImpersonatePrivilege", 40U);
     WindowsUserSpecificSettings.AcquireTokenPriv("SeBackupPrivilege", 40U);
     WindowsUserSpecificSettings.AcquireTokenPriv("SeRestorePrivilege", 40U);
     if (!WindowsUserSpecificSettings.LogonUser(user, domain, pass, WindowsUserSpecificSettings.LogonType.LOGON32_LOGON_NETWORK, WindowsUserSpecificSettings.LogonProvider.LOGON32_PROVIDER_DEFAULT, out this.m_UserToken))
     {
         throw new Win32Exception();
     }
     WindowsUserSpecificSettings.PROFILEINFO lpProfileInfo = new WindowsUserSpecificSettings.PROFILEINFO();
     lpProfileInfo.dwFlags      = 1;
     lpProfileInfo.lpServerName = string.Empty;
     lpProfileInfo.lpUserName   = user;
     lpProfileInfo.dwSize       = Marshal.SizeOf((object)lpProfileInfo);
     if (!WindowsUserSpecificSettings.LoadUserProfile(this.m_UserToken, ref lpProfileInfo))
     {
         throw new Win32Exception();
     }
     this.m_RegHandle = new SafeRegistryHandle(lpProfileInfo.hProfile, false);
     this.m_RegHive   = RegistryKey.FromHandle(this.m_RegHandle, RegistryView.Default);
 }
Example #2
0
 private static extern bool LoadUserProfile(IntPtr hToken, ref WindowsUserSpecificSettings.PROFILEINFO lpProfileInfo);