3

私のプロジェクトには、新しいアカウントを作成する前にパスワードの複雑さを確認する必要があるという要件があります。

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では使えないということですか?または、NetValidPasswordPolicy と同じことを行う他の API を見つけることができますか?

私はこの問題について多くのことをグーグルで検索し、誰かが同様の質問をしたことを発見しましたが、回答がありませんでした:(.だから、ここで私は私の運を試しています.

Reflector.exe で分析しようとしても'NETAPI32.dll'、.dll ファイルを開くときにエラーが発生しました:オブジェクト参照がオブジェクトのインスタンスに設定されていません。

私はひどく立ち往生しており、方法を見つけることができませんでした。どんな助けでも大歓迎です:)

4

1 に答える 1

0

問題は解決しました:)。

NetValidPasswordPolicyからの API'NETAPI32.dll'には、「クライアント」がサポートされていないという要件があります。この要件のため、警告が表示Entry point not found. されます。Windows 2003 サーバーでプロジェクトを試してみましたが、うまくいきました。

また、「Reflector.exe」に関する 2 番目の質問も無効です'NETAPI32.dll'。これは .Net dll ではないため、Reflector が認識しないためです。

于 2011-01-19T13:22:37.197 に答える