- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在从本地服务应用程序运行以下代码。目的是在调用 LoadUserProfile() 加载用户配置文件之前获取用户配置文件的路径,然后调用 CreateProcessAsUser() 代表该用户运行用户模式进程。
请注意,此问题与 LoadUserProfile() 或 CreateProcessAsUser() 无关。
事情是这样的。当下面的代码在作为 Active Directory 域的一部分的 Windows XP w/SP3 上运行时,单个用户通过本地控制台登录(下面使用该用户的 session ID),NetUserGetInfo() API 失败。另请注意,它在任何其他情况下都可以正常工作:
//'dwSessID' = session ID of the user to retrieve a user profile path for
LPTSTR pUserName = NULL;
DWORD dwcbSzUserName = 0;
if(!WTSQuerySessionInformation(WTS_CURRENT_SERVER_HANDLE, dwSessID, WTSUserName, &pUserName, &dwcbSzUserName))
{
//Error
return false;
}
USER_INFO_4* pUI4 = NULL;
DWORD dwNetStatus;
if((dwNetStatus = NetUserGetInfo(NULL, pUserName, 4, (BYTE**)&pUI4)) == NERR_Success)
{
PROFILEINFO pfi = {0};
pfi.dwSize = sizeof(pfi);
pfi.lpUserName = pUserName;
pfi.dwFlags = PI_NOUI;
pfi.lpProfilePath = pUI4->usri4_profile;
LoadUserProfile(hToken, &pfi);
//And so on
}
else
{
//On that specific machine I get here with 'dwNetStatus' = 2221,
//or NERR_UserNotFound, that according to MSDN is
//"The user name could not be found."
//Also note that GetLastError is not used for this API.
}
有人可以建议为什么 NetUserGetInfo() 在该特定机器上会失败,以及如何修复此代码?
附言。我知道 NetUserGetInfo 的 MSDN 指出 Active Directory 域上的 ACL 可能存在问题,但它没有指定如何设置...
最佳答案
如果我阅读 NetUserGetInfo 的文档,对于您编码的数据的信息级别 4 。它被写成 Level 4 返回有关用户帐户的详细信息和附加属性。 此级别仅在服务器上有效。据我了解,这不是你的情况。您是否验证了 WTSQuerySessionInformation
返回的 pUserName
的值。
关于c++ - WinAPI NetUserGetInfo() 因 Active Directory 域上的 NERR_UserNotFound 错误代码而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8149727/
我正在从本地服务应用程序运行以下代码。目的是在调用 LoadUserProfile() 加载用户配置文件之前获取用户配置文件的路径,然后调用 CreateProcessAsUser() 代表该用户运行
我是一名优秀的程序员,十分优秀!