我正在尝试将文件从本地计算机复制到远程服务器的简单代码。问题是我从logonUser函数获取错误代码2,我不知道为什么。我不知道该把什么作为一个域(我已尝试过本地计算机的名称,空字符串,localhost),因为当我从该服务器映射驱动器我可以使用userName和密码来完成。
我正在使用的代码片段在这里:
public static void Impersonate(string domainName, string userName, string userPassword, Action actionToExecute)
{
SafeTokenHandle safeTokenHandle;
try
{
//parametry pripojeni
const int LOGON32_PROVIDER_DEFAULT = 0;
const int LOGON32_LOGON_INTERACTIVE = 2;
const int LOGON32_LOGON_NEW_CREDENTIALS = 9;
//Ziskani ovladace k pristupovemu tokenu
bool returnValue = LogonUser(userName, domainName, userPassword, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, out safeTokenHandle);
}
catch(Exception e) { ... }
}
returnValue始终为false且错误代码为2.我会很高兴任何建议我可能做错了...