次の方法で共有


高速ユーザー切り替え

ユーザーがコンピューターにログオンすると、システムはプロファイルを読み込みます。 各ユーザーには一意のユーザー アカウントがあるため、これにより、複数のユーザーが 1 つのコンピューターを共有できます。 ユーザーがログオンすると、デスクトップの設定、ファイル、お気に入り、履歴が表示されます。他のユーザーがアクセスすることはできません。 そのユーザーがログオフすると、次回ログオンするときにプロファイルが保持されます。 以前のオペレーティング システムでは、別のユーザーがログオンする前に、ユーザーがログオフする必要があった。 Windows XP の時点では、別のユーザーがログオンできるようにするためにユーザーがログオフする必要はありません。 代わりに、複数のユーザーがログオンし、開いているアカウント間ですばやく切り替えることができます。 この機能は、高速ユーザー切り替えと呼ばれます。 別のアカウントに切り替しても、ユーザーが現在実行しているアプリケーションの状態は変わりません。 たとえば、1 人のユーザーが最初のユーザーのログオン中に別のユーザーが自分のアカウントに切り替えを許可するとします。 最初のユーザーが自分のアカウントに戻ると、アプリケーションが実行され、ネットワーク接続が保持されます。 したがって、両方のユーザーが同時にコンピューターを使用しているようです。

アプリケーションが Windows 2000 ロゴの要件に準拠している場合は、Windows XP 以降のオペレーティング システムで高速なユーザー切り替えで動作する必要があります。 ただし、ユーザーが期待どおりに動作するようにアプリケーションを開発するときは、このシナリオに留意することが重要です。 アプリケーションを記述するときは、次のガイドラインを使用します。

  • 真のプロファイル分離を実装します。 システムは、ユーザー データ、ユーザー設定、およびコンピューター設定の分離をサポートする基盤となるインフラストラクチャを提供します。 たとえば、ユーザーの Documents フォルダーを使用して、ユーザーが作成したデータを格納します。 アプリケーション固有のデータ用のディレクトリを見つけるには、FOLDERID_RoamingAppDataを使用するシステム 既知のフォルダーを使用するか、古いオペレーティング システムの場合は、CSIDL_APPDATAを使用する CSIDL システム) を使用します。 一時ファイルなど、他のコンピューターでユーザーが使用できないデータには、FOLDERID_LocalAppData または CSIDL_LOCAL_APPDATA を使用します。
  • ユーザー切り替え通知を登録してください。 通常、スイッチが発生したときにアプリケーションに通知する必要はありません。 ただし、アプリケーションにセッションの変更を通知する必要がある場合は、WM_WTSSESSION_CHANGE メッセージを受信するように登録できます。
  • アプリケーションの他のインスタンスに注意してください。 たとえば、アプリケーションがインターネットから更新プログラムをダウンロードする必要がある場合があります。 別のユーザーが別のセッションでアプリケーションのインスタンスを同時に実行している場合、更新が失敗する可能性があります。 更新が成功した場合でも、更新によってアプリケーションの他の実行中のインスタンスが予期しない動作をする可能性があります。 そのため、アプリケーションの他のインスタンスが実行されていない場合にのみ、動的アップグレードを実行することをお勧めします。 アプリケーションの更新プログラムをダウンロードする前に、データを保存して正常に終了するようにアプリケーションの実行中のすべてのインスタンスに通知するメソッドを実装することが適切な場合があります。