/TSAWARE
(ターミナル サーバーに対応したアプリケーションの作成)
$
解説
/TSAWARE
オプションを指定すると、プログラム イメージのオプション ヘッダー内の IMAGE_OPTIONAL_HEADER
DllCharacteristics
フィールドにフラグが設定されます。 このフラグが設定されると、ターミナル サーバーはアプリケーションに特定の変更を加えなくなります。
アプリケーションがターミナル サーバー対応でない (レガシ アプリケーションとも呼ばれます) 場合、マルチユーザー環境で正常に動作するように、ターミナル サーバーでレガシ アプリケーションに対して特定の変更が行われます。 たとえば、各ユーザーがシステムの Windows
ディレクトリを取得するのではなく、Windows
フォルダーを取得するように、ターミナル サーバーで仮想 Windows
フォルダーが作成されます。 この仮想フォルダーにより、ユーザーが独自の INI ファイルにアクセスできるようになります。 さらに、ターミナル サーバーで、レガシ アプリケーションのレジストリに対していくつかの調整が行われます。 これらの変更により、ターミナル サーバーでのレガシ アプリケーションの読み込みが遅くなります。
アプリケーションがターミナル サーバーに対応している場合は、セットアップ中に INI ファイルに依存することも、HKEY_CURRENT_USER
レジストリに書き込むこともできません。
/TSAWARE
を使用していて、アプリケーションで引き続き INI ファイルが使用される場合、そのファイルはシステムのすべてのユーザーによって共有されます。 それが許容される場合は、引き続きアプリケーションを /TSAWARE
とリンクできます。それ以外の場合は、/TSAWARE:NO
を使用する必要があります。
/TSAWARE
オプションは、Windows アプリケーションやコンソール アプリケーションで既定で有効になっています。 詳細については、次のトピックを参照してください。 /SUBSYSTEM
および /VERSION
/TSAWARE
は、ドライバーや DLL に対して有効ではありません。
アプリケーションが /TSAWARE
とリンクされていた場合、その効果に対する情報が DUMPBIN /HEADERS
に表示されます。
Visual Studio 開発環境でこのリンカー オプションを設定するには
プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。
[構成プロパティ]>[リンカー]>[システム] プロパティ ページを選択します。
[ターミナル サーバー] プロパティを変更します。
このリンカーをコードから設定するには
- 以下を参照してください。TerminalServerAware
関連項目
MSVC リンカーのリファレンス
MSVC リンカー オプション
ユーザー固有の情報の格納
ターミナル サービス環境でのレガシ アプリケーション