Winlogon と GINA 間の相互作用

WinlogonGINA は、初期化情報を通信し、 セキュリティで保護されたアテンション シーケンス (SAS) の監視と通知を処理し、ログオフおよびシャットダウン アクティビティを許可する必要があります。 Winlogon の状態によって、特定の SAS イベントを処理するために呼び出される GINA 関数が決まります。 通信は、ここに示されている順序で行われます。

Note

Windows Vista では GINA DLL は無視されます。

 

Event 説明
ワークステーションの起動
  1. Winlogon は GINA の WlxNegotiate 関数を呼び出して、使用中の Winlogon のバージョンについて GINA に通知します。
  2. Winlogon は GINA の WlxInitialize 関数を呼び出して、サポート関数のアドレス、Winlogon へのハンドルを GINA に渡し、GINA の コンテキスト 情報を取得します (GINA への今後のすべての呼び出しで使用されます)。
    Winlogon はログアウト状態です。
誰もログオンしていません (GINA は、デバイスで SAS イベントを監視します)。
  1. GINA は、SAS イベントが受信されたときに Winlogon の WlxSasNotify 関数を呼び出します。
  2. Winlogon は GINA の WlxLoggedOutSAS 関数を呼び出し、GINA がユーザーの識別と認証情報を処理できるようにします。
    ログオンが成功すると、Winlogon はログオン状態になります。
ユーザーがログオンしている (GINA は、デバイスで SAS イベントを監視します)。
  1. GINA は、SAS イベントが受信されたときに Winlogon の WlxSasNotify 関数を呼び出します。
  2. Winlogon は GINA の WlxLoggedOnSAS 関数を呼び出し、GINA が現在ログオンしているユーザーにオプションを表示できるようにします。
ユーザーがログオンしていて、コンピューターをロックする必要がある (GINA は、デバイスで SAS イベントを監視します)。
  1. GINA は WlxSasNotify 関数を呼び出します。
  2. Winlogon は、GINA の WlxLoggedOnSAS 関数を呼び出します。
  3. GINA はWLX_SAS_ACTION_LOCK_WKSTAを返します。
    Winlogon はワークステーションロック状態です。
ユーザーがログオンし、ワークステーションがロックされ、ユーザーがコンピューターのロックを解除する必要がある (GINA は、デバイスで SAS イベントを監視します)。
  1. GINA は WlxSasNotify 関数を呼び出します。
  2. Winlogon は、GINA の WlxWkstaLockedSAS 関数を 呼び出します。
  3. GINA はWLX_SAS_ACTION_UNLOCK_WKSTAを返します。
ユーザーがログオンし、プログラムが ExitWindowsEx 関数を呼び出す Winlogon は、GINA の WlxLogoff 関数を 呼び出します。
ユーザーがログオンしていて、SAS を使用してログオフする必要がある (GINA は、デバイスで SAS イベントを監視します)。
  1. GINA は WlxSasNotify 関数を呼び出します。
  2. Winlogon は、GINA の WlxLoggedOnSAS 関数を呼び出します。
  3. GINA はWLX_SAS_ACTION_LOGOFFを返します。
  4. Winlogon は、GINA の WlxLogoff 関数を 呼び出します。
ユーザーがログオンしていて、ExitWindowsEx を使用してログオフしてシャットダウンする必要がある
  1. Winlogon は、GINA の WlxLogoff 関数を 呼び出します。
  2. Winlogon は GINA の WlxShutdown 関数を 呼び出します。
ユーザーがログオンしていて、SAS を使用してログオフおよびシャットダウンする必要がある (GINA は、デバイスで SAS イベントを監視します)。
  1. GINA は WlxSasNotify 関数を呼び出します。
  2. Winlogon は、GINA の WlxLoggedOnSAS 関数を呼び出します。
  3. GINA はWLX_SAS_ACTION_SHUTDOWNを返します。
  4. Winlogon は、GINA の WlxLogoff 関数を 呼び出します。
  5. Winlogon は GINA の WlxShutdown 関数を 呼び出します。