NetValidatePasswordPolicy проблема в XP

Мой проект требует, чтобы он проверял сложность пароля перед созданием новой учетной записи.

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. Когда я пытаюсь запустить, он выдает следующее высказывание:

Не удалось найти точку входа в процедуру NetValidPasswordPolicyFree в библиотеке динамических ссылок NETAPI32.dll

В MSDN говорится, что API действителен только на сервере 2003 и сервере 2008. Значит ли это, что он не может работать на XP? Или я могу найти какие-либо другие API, чтобы сделать то же самое, что NetValidPasswordPolicy?

Я много гуглил по этой проблеме и обнаружил, что кто-то задал похожий вопрос, но он остался без ответа:(. Итак, я пытаюсь попытать счастья.

Даже я пытался анализировать 'NETAPI32.dll' в Reflector.exe, но при открытии файла.dll выдает ошибку: ссылка на объект не установлена ​​для экземпляра объекта.

Я застрял плохо и не мог найти пути. Любая помощь будет оценена:)

1 ответ

Вопрос решен:).

NetValidPasswordPolicy API от 'NETAPI32.dll' имеет требования, что он не поддерживается клиентом. Из-за этого требования я получаю предупреждение: Entry point not found.Я попробовал свой проект на сервере Windows 2003, и он работал.

И мой второй вопрос о Reflector.exe также недействителен, потому что 'NETAPI32.dll' это не.Net dll, поэтому Reflector не распознает его.

Другие вопросы по тегам