Winlogon の責任
Winlogon には、次の責任があります。
ウィンドウステーションとデスクトップ保護
Winlogon は、ウィンドウ ステーションと対応するデスクトップの保護を設定して、それぞれに適切にアクセスできるようにします。 一般に、これは、ローカル システムがこれらのオブジェクトへのフル アクセス権を持ち、対話形式でログオンしたユーザーがウィンドウ ステーション オブジェクトへの読み取りアクセス権とアプリケーション デスクトップ オブジェクトへのフル アクセス権を持っていることを意味します。
標準 SAS 認識
Winlogon には、Ctrl + Alt + DEL Secure Attention Sequence (SAS) イベントを監視できる User32 サーバーへの特別なフックがあります。 Winlogon は、この SAS イベント情報を、SAS として、または SAS の一部として使用するために、GINA が使用できるようにします。 一般に、GINA は自身で SAS を監視する必要があります。ただし、認識される SAS の 1 つとして標準の Ctrl + Alt + DEL SAS を持つ GINA は、この目的で提供される Winlogon サポートを使用する必要があります。
SAS ルーチンのディスパッチ
Winlogon が SAS イベントを検出したとき、または SAS が GINA によって Winlogon に配信されると、Winlogon はそれに応じて状態を設定し、Winlogon デスクトップに変更を加え、GINA の SAS 処理関数の 1 つを呼び出します。
ユーザー プロファイルの読み込み
ユーザーがログオンすると、ユーザー プロファイルがレジストリに読み込まれます。 このようにして、ユーザーのプロセスは特別なレジストリ キー HKEY_CURRENT_USERを使用できます。 Winlogon は、ログオンに成功した後、新しくログオンしたユーザーのシェルをアクティブ化する前に、自動的にこれを行います。
ユーザー シェルへのセキュリティの割り当て
ユーザーがログオンすると、GINA は、そのユーザーに対して 1 つ以上の初期プロセスを作成する役割を担います。 Winlogon は、新しくログオンしたユーザーのセキュリティをこれらのプロセスに適用するための GINA のサポート機能を提供します。 ただし、これを行う推奨される方法は、GINA が Windows 関数 CreateProcessAsUser を呼び出し、システムがサービスを提供できるようにすることです。
スクリーン セーバー コントロール
Winlogon は、キーボードとマウスのアクティビティを監視して、スクリーン セーバーをアクティブにするタイミングを決定します。 スクリーン セーバーがアクティブになると、Winlogon はキーボードとマウスのアクティビティを引き続き監視して、スクリーン セーバーを終了するタイミングを決定します。 スクリーン セーバーが安全としてマークされている場合、Winlogon はワークステーションをロック済みとして扱います。 マウスまたはキーボードのアクティビティがある場合、Winlogon は GINA の WlxDisplayLockedNotice 関数を呼び出し、ロックされたワークステーションの動作を再開します。 スクリーン セーバーが安全でない場合、キーボードまたはマウスのアクティビティは、GINA への通知なしでスクリーン セーバーを終了します。
複数のネットワーク プロバイダーのサポート
Windows システムにインストールされている複数のネットワークは、認証プロセスとパスワード更新操作に含めることができます。 この包含により、Winlogon のセキュリティで保護されたデスクトップを使用して、通常のログオン時に識別情報と認証情報を一度に収集するネットワークが追加されます。 GINA で使用できる Winlogon サービスに必要なパラメーターの一部では、これらの追加のネットワーク プロバイダーが明示的にサポートされています。