仮想チャネルでのリモート デスクトップ ActiveX コントロールの使用

リモート デスクトップ サービスの展開で仮想チャネル アプリケーションを有効にしている場合は、リモート デスクトップ ActiveX コントロールを使用して、リモート デスクトップ セッション ホスト (RD セッション ホスト) サーバーにアクセスするクライアント コンピューターでこのアプリケーションを使用できるようにします。

仮想チャネル アプリケーションを使用できるようにするには

  1. アプリケーションのサーバー側モジュールをデプロイし、RD セッション ホスト サーバーで実行されていることを確認します。 Web サーバーで実行されているリモート デスクトップ サービス Web アプリケーションの接続ページで、IMsTscAdvancedSettings インターフェイスの PluginDlls プロパティにアクセスして、仮想チャネル DLL の名前を指定します。 複数のプラグインがある場合は、DLL 名のコンマ区切りのリストを指定します。 たとえば、仮想チャネル プラグインの名前が "MyPlugin.dll" の場合は、次のコードを使用します。

    MsRdpClient.AdvancedSettings.PluginDlls = "myplugin.dll"
    

    2 つの仮想チャネル DLL がある場合は、次のコードを使用します。 この例では、DLL ファイル名は "MyPlugin.dll" と "Vdriver.dll" です。

    MsRdpClient.AdvancedSettings.PluginDlls = "myplugin.dll,Vdriver.dll"
    

    セキュリティ上の理由から、 PluginDlls プロパティは仮想チャネル DLL の名前付きリストのみを受け入れます。 任意の形式のファイル システムまたは UNC パスが指定されている場合、コントロールはエラーを返します。 さらに、DLL の名前には英数字のみを含める必要があります。

  2. クライアント側モジュールが %windir%\system32 ディレクトリにインストールされていることを確認します。

仮想チャネル API では、同じ仮想チャネル DLL の複数のインスタンスを 1 つのプロセス内で読み込むことができません。 このため、リモート デスクトップ ActiveX コントロールの複数のインスタンスが同じプロセス内で実行されている場合、コントロールの最初のインスタンスのみが仮想チャネル DLL を読み込むことができます。 1 つのプロセス内で複数のインスタンスをサポートする必要がある仮想チャネル アプリケーションを設計する場合は、 動的仮想チャネル API を使用して仮想チャネル アプリケーションを実装する必要があります。

注意

既定では、リモート デスクトップ ActiveX コントロールは、%windir%\system32 ディレクトリから仮想チャネル クライアント DLL を読み込みます。 管理者は、この既定のクライアント プラグイン DLL ディレクトリを変更できます。 これを行うには、クライアント コンピューターで HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client\vdllpath レジストリ キーを編集します。 このディレクトリ パスは UNC 形式では指定できません。