PSAM_PASSWORD_FILTER_ROUTINE コールバック関数 (ntsecapi.h)
PasswordFilter 関数は、パスワード フィルター DLL によって実装されます。 この関数によって返される値は、新しいパスワードがシステムによって受け入れられるかどうかを決定します。 システムにインストールされているすべてのパスワード フィルターは、パスワード変更を有効にするために TRUE を 返す必要があります。
構文
PSAM_PASSWORD_FILTER_ROUTINE PsamPasswordFilterRoutine;
BOOLEAN PsamPasswordFilterRoutine(
[in] PUNICODE_STRING AccountName,
[in] PUNICODE_STRING FullName,
[in] PUNICODE_STRING Password,
[in] BOOLEAN SetOperation
)
{...}
パラメーター
[in] AccountName
パスワードが変更されたユーザーの名前を表す UNICODE_STRING へのポインター。
[in] FullName
パスワード が変更 されたユーザーのフル ネームを表すUNICODE_STRINGへのポインター。
[in] Password
新しいプレーンテキスト パスワードを表す UNICODE_STRING へのポインター。 パスワードの使用が完了したら、 SecureZeroMemory 関数を呼び出してメモリからクリアします。 パスワードの保護の詳細については、「パスワードの 処理」を参照してください。
[in] SetOperation
パスワードが変更されるのではなく設定されている場合は TRUE。
戻り値
リターン コード | 説明 |
---|---|
|
パスワード フィルター DLL に実装されているパスワード ポリシーに対して新しいパスワードが有効な場合は TRUE を 返します。 TRUE が返されると、ローカル セキュリティ機関 (LSA) は、システムにインストールされている他のパスワード フィルターを呼び出して、パスワードを評価し続けます。 |
|
パスワード フィルター DLL に実装されているパスワード ポリシーに関して、新しいパスワードが無効な場合は FALSE を 返します。 FALSE が返されると、LSA はパスワード変更要求のソースにERROR_ILL_FORMED_PASSWORD (1324) 状態コードを返します。 |
注釈
パスワードの変更要求は、ユーザーが新しいパスワードを指定し、アカウントが作成され、管理者がパスワードをオーバーライドしたときに行われる場合があります。
この関数は、__stdcall呼び出し規約を使用する必要があり、DLL によってエクスポートする必要があります。
PasswordFilter ルーチンが実行されている場合、ルーチンが完了するまで処理はブロックされます。 必要に応じて、このルーチンから戻る前に、長い処理を別のスレッドに移動します。
この関数は、システムにインストールおよび登録されている パスワード フィルター に対してのみ呼び出されます。
この関数内で処理されないプロセス例外は、システム全体でセキュリティ関連のエラーを引き起こす可能性があります。 必要に応じて、構造化例外処理を使用する必要があります。
対象 | 解決方法については、 |
---|---|
パスワード フィルター DLL を実装するときのプログラミングの問題 | パスワード フィルターのプログラミングに関する考慮事項 |
独自のパスワード フィルター DLL をインストールして登録する方法 | パスワード フィルター DLL のインストールと登録 |
Microsoft によって提供されるパスワード フィルター DLL | 強力なパスワードの適用と Passfilt.dll |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | ntsecapi.h |