XP上的NetValidatePasswordPolicy问题

时间:2011-01-19 08:15:07

标签: visual-c++ windows-xp reflector netapi32

我的项目要求在创建新帐户之前需要检查密码复杂性。

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文件时出错:对象引用未设置为对象的实例。

我被困住了,无法找到任何办法。任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:0)

问题已经解决:)。

来自NetValidPasswordPolicy

'NETAPI32.dll' API要求不支持“客户端”。由于这个要求,我收到警告:Entry point not found. 我在Windows 2003服务器上尝试了我的项目并且它有效。

我关于'Reflector.exe'的第二个问题也无效,因为'NETAPI32.dll'不是.Net dll所以Reflector不会识别它。