次の方法で共有


アプリケーション互換性レイヤー

リモート デスクトップ サービス環境でレガシ アプリケーションを実行するには、リモート デスクトップ サービス アプリケーション互換性レイヤーを使用できます。 リモート デスクトップ セッション ホスト (RD セッション ホスト) サーバーが、リモート デスクトップ サービスに対応していないアプリケーションを読み込むと、互換性コードを含む DLL も読み込まれます。 リモート デスクトップ サービス アプリケーション互換性レイヤーを使用するには、アプリケーションのコンパイル時に NOT TSAWARE フラグを設定します。

アプリケーションがリモート デスクトップ サービスに対応している場合は、この追加の DLL を読み込んで互換性コードを実行するオーバーヘッドを回避できます。

アプリケーションがリモート デスクトップ サービスに対応していることを示すには、省略可能なヘッダーに IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE フラグを設定します。 Microsoft Visual C++ に付属するリンカーを使用している場合は、TSAWARE リンカー オプションを使用してこのフラグを設定できます。 Microsoft Visual C++ に付属する DUMPBIN ツールには、TSAWARE フラグの状態を判断するための /HEADERS オプションが用意されています。 DUMPBIN ツールの使用方法の詳細については、「DUMPBIN リファレンス 参照してください。

TSAWARE フラグを使用する場合は、アプリケーションでリモート デスクトップ サービスの互換性の最適化をバイパスできるため、注意してください。 TSAWARE フラグは、アプリケーションがリモート デスクトップ サービス環境用に設計されていることが確実な場合にのみ使用してください。 アプリケーションが次の条件を満たしている場合は、IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE フラグを安全に使用できます。

  • アプリケーションは .ini ファイルを使用しません。
  • アプリケーションは、セットアップ中に HKEY_CURRENT_USER に書き込まれません。 詳細については、「User-Specific 情報の格納 を参照してください。
  • アプリケーションはシステム サービス (つまり LUID=System) として実行されません。
  • アプリケーションは、Windows またはその他のシステム ディレクトリへの排他的アクセスを想定していません。 つまり、アプリケーションはユーザーごとの一時データや構成データを Windows または他のシステム ディレクトリに格納しません。
  • アプリケーションは、ユーザー固有のデータまたは構成のために、HKEY ローカル マシン レジストリ ハイブに書き込まれません。
  • このアプリケーションは、このドキュメントで説明されている他のリモート デスクトップ サービス互換性ガイドラインに従います。