Win32 API 日本語リファレンス
ホーム › Security.Authentication.Identity › PSAM_PASSWORD_FILTER_ROUTINE

PSAM_PASSWORD_FILTER_ROUTINE

コールバック

シグネチャ

BOOLEAN PSAM_PASSWORD_FILTER_ROUTINE(
    LSA_UNICODE_STRING* AccountName,
    LSA_UNICODE_STRING* FullName,
    LSA_UNICODE_STRING* Password,
    BOOLEAN SetOperation
);

パラメーター

フィールド型説明
AccountNameLSA_UNICODE_STRING*パスワードが変更されたユーザーの名前を表す UNICODE_STRING へのポインター。
FullNameLSA_UNICODE_STRING*パスワードが変更されたユーザーのフルネームを表す UNICODE_STRING へのポインター。
PasswordLSA_UNICODE_STRING*新しい平文パスワードを表す UNICODE_STRING へのポインター。パスワードの使用が終わったら、SecureZeroMemory 関数を呼び出してメモリから消去してください。パスワードの保護の詳細については、パスワードの取り扱いを参照してください。
SetOperationBOOLEANパスワードが変更されたのではなく設定された場合は TRUE。

公式ドキュメント

PasswordFilter 関数は、パスワードフィルター DLL によって実装されます。この関数が返す値によって、新しいパスワードがシステムに受け入れられるかどうかが決まります。パスワードの変更を有効にするには、システムにインストールされているすべてのパスワードフィルターが TRUE を返す必要があります。

戻り値

戻り値 説明
TRUE
新しいパスワードが、パスワードフィルター DLL に実装されたパスワードポリシーに照らして有効な場合は TRUE を返します。TRUE が返された場合、ローカル セキュリティ機関 (LSA) は、システムにインストールされている他のパスワードフィルターを呼び出してパスワードの評価を続行します。
FALSE
新しいパスワードが、パスワードフィルター DLL に実装されたパスワードポリシーに照らして無効な場合は FALSE を返します。FALSE が返された場合、LSA はパスワード変更要求の要求元に ERROR_ILL_FORMED_PASSWORD (1324) 状態コードを返します。

解説(Remarks)

パスワードの変更要求は、ユーザーが新しいパスワードを指定したとき、アカウントが作成されたとき、および管理者がパスワードを上書きしたときに発生することがあります。

この関数は __stdcall 呼び出し規約を使用し、DLL からエクスポートする必要があります。

PasswordFilter ルーチンの実行中は、ルーチンが終了するまで処理がブロックされます。必要に応じて、このルーチンから復帰する前に、時間のかかる処理を別のスレッドに移してください。

この関数は、システムにインストールされ登録されたパスワードフィルターに対してのみ呼び出されます。

この関数内で処理されないプロセス例外は、システム全体にわたるセキュリティ関連の障害を引き起こすおそれがあります。必要に応じて構造化例外処理を使用してください。

情報の内容 参照先
パスワードフィルター DLL を実装する際のプログラミング上の注意点 パスワードフィルターのプログラミングに関する考慮事項
独自のパスワードフィルター DLL をインストールして登録する方法 パスワードフィルター DLL のインストールと登録
Microsoft が提供するパスワードフィルター DLL 強力なパスワードの強制と Passfilt.dll
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)