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

戻り値

リターン コード 説明
TRUE
パスワード フィルター DLL に実装されているパスワード ポリシーに対して新しいパスワードが有効な場合は TRUE を 返します。 TRUE が返されると、ローカル セキュリティ機関 (LSA) は、システムにインストールされている他のパスワード フィルターを呼び出して、パスワードを評価し続けます。
FALSE
パスワード フィルター 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

こちらもご覧ください

InitializeChangeNotify

PasswordChangeNotify