如果在NetUserAdd之后过早调用,NetUserDel会失败吗?

时间:2017-05-09 14:50:55

标签: c++ windows authentication winapi user-accounts

我的Windows应用程序使用

  • NetUserAdd创建本地用户帐户
  • LookupAccountName获取用户sid
  • NetUserGetInfo获取第2级用户信息
  • NetUserDel删除本地用户帐户

在真实环境中,应用程序运行正常,因为没有人会添加用户并立即删除它。但是,我的测试就是这样,所以它偶尔会以一种意想不到的方式在NetUserGetInfo或NetUserDel上失败。没有返回错误代码。该应用程序只是在Windows 7和Windows 10中静默终止。

我可以想象,当NetUserAdd返回时,用户帐户可能尚未在后台完全构建。在调用NetUserDel之前,是否建议检查用户帐户是否处于稳定状态?

LookupAccountName总是成功,所以它不是一个好的守卫。 NetUserGetInfo本身偶尔会出现意外故障。我在MSDN文档中找不到其他API(很少有例子)。

1 个答案:

答案 0 :(得分:-1)

不是使用那些不稳定的win32 API,而是通过system()调用DOS命令“net user”可以避免这个问题。