2011-01-19 2 views
3

내 프로젝트는 새 계정을 만들기 전에 암호 복잡성을 검사해야한다는 요구 사항이 있습니다. 내가 실행하려고 XP.When 나는 창 일하고XP에서 NetValidatePasswordPolicy 문제

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); 

, 그것은 프롬프트 경고의 말 :

프로 시저 시작 지점 NetValidPasswordPolicyFree이 NetApi32.DLL을

동적 링크 라이브러리에서 찾을 수 없습니다

MSDN에서 API는 2003 서버 및 2008 서버에서만 유효하다고 말했습니다. XP에서 작동하지 않는다는 의미입니까? NetValidPasswordPolicy와 동일한 작업을 수행 할 다른 API를 찾을 수 있습니까?

나는이 문제에 대해 많이 봤 누군가가 비슷한 질문을했다 발견하지만 답이 갔다 :(. 그래서, 여기에 내 행운을 시도하고있다.

심지어 나는 Reflector.exe에 'NETAPI32.dll'을 분석했는데, 내가 심하게 붙어

개체 참조가 개체의 인스턴스로 설정되지 않았습니다 어떤 방법을 찾을 수 할 수없는 어떤 도움을 이해할 수있을 것이다 :

답변

0
:. .DLL 파일을 여는 동안 밖으로 오류가 발생했습니다.

문제가 해결되었습니다 :).

NetValidPasswordPolicy API부터 'NETAPI32.dll'에는 '클라이언트'가 지원되지 않는 요구 사항이 있습니다. 이 요구 때문에 나는 경고를 얻고있다 : Entry point not found. 나는 Windows 2003 서버에 나의 프로젝트를 시도하고 작동했다.

'NETAPI32.dll'이 아니기 때문에 'Reflector.exe'에 대한 두 번째 질문도 유효하지 않습니다. Reflector가 인식하지 못하기 때문에 .Net dll입니다.