我的项目要求在创建新帐户之前需要检查密码复杂性。
My code looks like:
NET_API_STATUS status;
NET_VALIDATE_PASSWORD_CHANGE_INPUT_ARG inputArg = {0};
NET_VALIDATE_OUTPUT_ARG* pOutputArg = NULL;
inputArg.ClearPassword = NewPass;
inputArg.PasswordMatch = TRUE;
status = NetValidatePasswordPolicy(DC, NULL, NetValidatePasswordChange,
&inputArg, (void**)&pOutputArg);
printf("status: %d, validationStatus: %d\n", status, pOutputArg->ValidationStatus);
NetValidatePasswordPolicyFree((void**)&pOutputArg);
我正在使用Windows XP。当我尝试运行时,它会提示说道:
无法在动态链接库NETAPI32.dll中找到过程入口点NetValidPasswordPolicyFree
从MSDN上它说API只在2003服务器和2008服务器上有效。 这是否意味着它无法在XP上运行? 或者我可以找到任何其他API来做与NetValidPasswordPolicy相同的事情吗?
我搜索了很多关于这个问题,发现有人提出了类似的问题,但没有得到答复:(。所以,我在这里试试运气。
即使我尝试在Reflector.exe中分析'NETAPI32.dll'
,但在打开.dll文件时出错:对象引用未设置为对象的实例。
我被困住了,无法找到任何办法。任何帮助将不胜感激:)
答案 0 :(得分:0)
问题已经解决:)。
来自NetValidPasswordPolicy
的 'NETAPI32.dll'
API要求不支持“客户端”。由于这个要求,我收到警告:Entry point not found.
我在Windows 2003服务器上尝试了我的项目并且它有效。
我关于'Reflector.exe'的第二个问题也无效,因为'NETAPI32.dll'
不是.Net dll所以Reflector不会识别它。