title: Why does LogonUserW fail with error code 183 (ERROR_ALREADY_EXISTS)
body: <p>I checked the error code by calling GetLastError() right after the failure of LogonUserW, it is always 183, but I don't know why does LogonUserW fail with such a value. Searched the msdn, and found 183 (ERROR_ALREADY_EXISTS) means "Cannot create a file when that file already exists", so what file will LogonUserW create?</p>
  
  <p>Can anyone shed some light here please?</p>
  
  <pre><code>if (LogonUserW(uniUserName, uniDomainName, uniPassword, LOGON32_LOGON_NETWORK, LOGON32_PROVIDER_DEFAULT, &amp;token))
  {
  //do something when success
  }
  else
  {
      STI_LOG(LOG_AUTH_DETAILS, ("Login fail\n"), true);
      DWORD ec = GetLastError();
      String message;
      switch (ec)
      {
          case ERROR_PRIVILEGE_NOT_HELD:
              message = "Error Privilege not held\n";
              break;
          case ERROR_LOGON_FAILURE:
              message = "Error Logon Failure\n";
              break;
          //...
          default:
              message = "Other errors\n";
      }
      STI_LOG(LOG_ERROR, ("Fail to log in user: %d-%s\n", ec, message.getCString()), true);
  }
  </code></pre>