This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
Citrix ICA® 仮想チャネル
警告:
レジストリを誤って編集すると、オペレーティングシステムの再インストールが必要になる深刻な問題が発生する可能性があります。レジストリエディターの誤った使用によって生じる問題が解決されることを、Citrixは保証できません。レジストリエディターの使用は、お客様ご自身の責任において行ってください。編集する前に必ずレジストリをバックアップしてください。
-
ICA仮想チャネルとは
-
Citrix Workspace™アプリとCitrix Virtual Apps and Desktops™サーバー間の機能および通信の大部分は、仮想チャネルを介して行われます。仮想チャネルは、Citrix Virtual Apps and Desktopsサーバーでのリモートコンピューティングエクスペリエンスに不可欠な要素です。仮想チャネルは、以下の目的で使用されます。
- オーディオ
- COMポート
- ディスク
- グラフィック
- LPTポート
- プリンター
- スマートカード
- サードパーティ製カスタム仮想チャネル
- ビデオ
新しい機能を提供するために、Citrix Virtual Apps™ and DesktopsサーバーおよびCitrix Workspaceアプリ製品の新しいバージョンとともに、新しい仮想チャネルがリリースされることがあります。

-
仮想チャネルは、サーバー側アプリケーションと通信するクライアント側仮想ドライバーで構成されます。Citrix Virtual Apps and Desktopsには、さまざまな仮想チャネルが付属しています。これらは、提供されているソフトウェア開発キット (SDK) のいずれかを使用して、顧客およびサードパーティベンダーが独自の仮想チャネルを作成できるように設計されています。
-
仮想チャネルは、さまざまなタスクを安全に実行する方法を提供します。たとえば、Citrix Virtual Appsサーバー上で実行されているアプリケーションがクライアント側デバイスと通信する場合や、クライアント側環境と通信するアプリケーションの場合などです。
-
クライアント側では、仮想チャネルは仮想ドライバーに対応します。各仮想ドライバーは特定の機能を提供します。一部は通常の操作に必要であり、その他はオプションです。仮想ドライバーはプレゼンテーション層プロトコルレベルで動作します。Windows Station (WinStation) プロトコル層によって提供されるチャネルを多重化することにより、いつでも複数のプロトコルをアクティブにできます。
-
以下の機能は、このレジストリパスのVirtualDriverレジストリ値に含まれています。
-
[[CODE_BLOCK_0]]
-
または
-
[[CODE_BLOCK_1]] (64ビットの場合)
- Thinwire3.0 (必須)
- クライアントドライブ
- クライアントプリンターキュー
- クライアントプリンターポート
- クリップボード
- クライアント通信
- クライアントオーディオ
- ライセンスハンドラー (必須)
- TWI (必須)
- スマートカード
- ICACTL (必須)
- SSPI
- TwainRdr
- ユーザーエクスペリエンス
-
Vd3d
-
注:
-
-
レジストリキーからこれらの値の1つ以上を削除することで、特定のクライアント機能を無効にできます。たとえば、クライアントクリップボードを削除したい場合は、Clipboardという単語を削除します。
-
このリストには、クライアント仮想ドライバーファイルとそのそれぞれの機能が含まれています。Citrix Virtual AppsおよびWindows向けCitrix Workspaceアプリはこれらのファイルを使用します。これらはダイナミックリンクライブラリ (ユーザーモード) の形式であり、汎用USB仮想チャネルで説明されている汎用USBを除き、Windowsドライバー (カーネルモード) ではありません。
- vd3dn.dll – デスクトップコンポジションリダイレクトに使用されるDirect3D仮想チャネル
- vdcamN.dll – 双方向オーディオ
- vdcdm30n.dll – クライアントドライブマッピング
- vdcom30N.dll – クライアントCOMポートマッピング
- vdcpm30N.dll – クライアントプリンターマッピング
- vdctln.dll – ICAコントロールチャネル
- vddvc0n.dll – 動的仮想チャネル
- vdeuemn.dll – エンドユーザーエクスペリエンス監視
- vdgusbn.dll – 汎用USB仮想チャネル
- vdkbhook.dll – 透明キーパススルー
- vdlfpn.dll – UDPライクなトランスポートを介したFramehawkディスプレイチャネル
- vdmmn.dll – マルチメディアサポート
- vdmrvc.dll – モバイルレシーバー仮想チャネル
- vdmtchn.dll – マルチタッチサポート
- vdscardn.dll – スマートカードサポート
- vdsens.dll – センサー仮想チャネル
- vdspl30n.dll – クライアントUPD
- vdsspin.dll – Kerberos
- vdtuin.dll – 透明UI
- vdtw30n.dll – クライアントThinwire
- vdtwin.dll – シームレス
-
vdtwn.dll – Twain
- 一部の仮想チャネルは、他のファイルにコンパイルされています。たとえば、クリップボードマッピングはwfica32.exeで利用できます。
64ビット互換性
-
Windows向けCitrix Workspaceアプリは64ビット互換です。32ビット用にコンパイルされたほとんどのバイナリと同様に、これらのクライアントファイルには64ビットコンパイル版の同等品があります。
- brapi64.dll
- confmgr.dll
- ctxlogging.dll
- ctxmui.dll
- icaconf.exe
- icaconfs.dll
- icafile.dll
- pnipcn64.dll
- pnsson.dll
- ssoncom.exe
- ssonstub.dll
- vdkbhook64.dll
汎用USB仮想チャネル
-
汎用USB仮想チャネルの実装では、仮想チャネルドライバーvdgusbn.dllとともに2つのカーネルモードドライバーが使用されます。
- ctxusbm.sys
-
ctxusbr.sys
-
ICA仮想チャネルの仕組み
- 仮想チャネルは複数の方法でロードされます。シェル (サーバーの場合はWfShell、ワークステーションの場合はPicaShell) が一部の仮想チャネルをロードします。一部の仮想チャネルはWindowsサービスとしてホストされます。
シェルによってロードされる仮想チャネルモジュール (例):
- EUEM
- Twain
- クリップボード
- マルチメディア
- シームレスセッション共有
- タイムゾーン
カーネルモードとしてロードされるもの (例):
- CtxDvcs.sys – 動的仮想チャネル
- Icausbb.sys – 汎用USBリダイレクト
- Picadm.sys – クライアントドライブマッピング
- Picaser.sys – COMポートリダイレクト
- Picapar.sys – LPTポートリダイレクト
サーバー側のグラフィック仮想チャネル
ctxgfx.exeは、ワークステーションベースのセッションとターミナルサーバーベースのセッションの両方でグラフィック仮想チャネルをホストします。Ctxgfxは、対応するドライバー (RDSHの場合はIcardd.dll、ワークステーションの場合はvdod.dllおよびvidd.dll) と相互作用するプラットフォーム固有のモジュールをホストします。
XenDesktop® 3D Pro展開の場合、VDA上の対応するGPUにOEMグラフィックドライバーがインストールされます。Ctxgfxは、OEMグラフィックドライバーと相互作用するために特殊なアダプターモジュールをロードします。
Windowsサービスでの特殊チャネルのホスティング
Citrix Virtual Apps and Desktopsサーバーでは、さまざまなチャネルがWindowsサービスとしてホストされます。このようなホスティングは、セッション内の複数のアプリケーションおよびサーバー上の複数のセッションに対して、1対多のセマンティクスを提供します。このようなサービスの例を次に示します。
- Citrixデバイスリダイレクターサービス
- Citrix動的仮想チャネルサービス
- Citrixエンドユーザーエクスペリエンス監視サービス
- Citrixロケーションおよびセンサー仮想チャネルサービス
- Citrixマルチタッチリダイレクトサービス
- Citrix印刷マネージャーサービス
- Citrixスマートカードサービス
- Citrixオーディオリダイレクトサービス (Citrix Virtual Desktops™のみ)
-
Citrix ICAステータスチャネルサービス
- Citrix Virtual Apps上のオーディオ仮想チャネルは、Windowsオーディオサービスを使用してホストされます。
サーバー側では、すべてのクライアント仮想チャネルはWinStationドライバーWdica.sysを介してルーティングされます。クライアント側では、wfica32.exeに組み込まれている対応するWinStationドライバーがクライアント仮想チャネルをポーリングします。この図は、仮想チャネルのクライアント-サーバー接続を示しています。
-

-
この概要では、仮想チャネルを使用したクライアントとサーバー間のデータ交換について説明します。
- クライアントはCitrix Virtual Apps and Desktopsサーバーに接続します。クライアントは、サポートする仮想チャネルに関する情報をサーバーに渡します。
- サーバー側アプリケーションが起動し、仮想チャネルへのハンドルを取得し、必要に応じてチャネルに関する追加情報を照会します。
-
クライアント仮想ドライバーとサーバー側アプリケーションは、次の2つの方法を使用してデータを渡します。
- サーバーアプリケーションがクライアントに送信するデータを持っている場合、データはすぐにクライアントに送信されます。クライアントがデータを受信すると、WinStationドライバーはICAストリームから仮想チャネルデータをデマルチプレックスし、すぐにクライアント仮想ドライバーに渡します。
- クライアント仮想ドライバーがサーバーに送信するデータを持っている場合、データはWinStationドライバーが次にポーリングするときに送信されます。サーバーがデータを受信すると、仮想チャネルアプリケーションがそれを読み取るまでキューに入れられます。サーバー仮想チャネルアプリケーションにデータが受信されたことを通知する方法はありません。
-
- サーバー仮想チャネルアプリケーションが完了すると、仮想チャネルを閉じ、割り当てられたリソースを解放します。
-
Virtual Channel SDKを使用した独自の仮想チャネルの作成
-
注:
-
-
Citrix SDKは、Citrix Developerポータル(https://developer.cloud.com)で入手できます。
- Virtual Channel SDKを使用して仮想チャネルを作成するには、中程度のプログラミング知識が必要です。この方法を使用して、クライアントとサーバー間の主要な通信パスを提供します。たとえば、セッション内のプロセスで使用するために、スキャナーなどのデバイスをクライアント側で実装する場合などです。
注:
- Virtual Channel SDKは、仮想チャネルのサーバー側を記述するためにWFAPI SDKを必要とします。
- Citrix Virtual Apps and Desktopsのセキュリティが強化されたため、ICAセッションで開くことが許可されている仮想チャネルを指定する必要があります。詳細については、「仮想チャネル許可リストポリシー設定」を参照してください。
ICA Client Object SDKを使用した独自の仮想チャネルの作成
- ICA Client Object (ICO) を使用して仮想チャネルを作成する方が、Virtual Channel SDKを使用するよりも簡単です。CreateChannelsメソッドを使用してプログラムで名前付きオブジェクトを作成することで、ICOを使用します。
重要:
Citrix Receiver for Windowsバージョン10.00以降(およびCitrix Workspaceアプリ for Windows)でセキュリティが強化されたため、ICO仮想チャネルを作成する際には追加の手順が必要です。
仮想チャネルのパススルー機能
Citrixが提供するほとんどの仮想チャネルは、ICAセッション内でCitrix Workspaceアプリ for Windowsを使用する場合(パススルーセッションとも呼ばれます)に、変更なしで動作します。クライアントを複数のホップで使用する場合には考慮事項があります。
次の機能は、シングルホップまたはマルチホップで同じように動作します。
- クライアントCOMポートマッピング
- クライアントドライブマッピング
- クライアントプリンターマッピング
- クライアントUPD
- エンドユーザーエクスペリエンス監視
- 汎用USB
- Kerberos
- マルチメディアサポート
- スマートカードサポート
- 透過的なキーパススルー
- Twain
待ち時間の固有の性質や、各ホップで実行される圧縮と解凍、レンダリングなどの要因により、クライアントが経由するホップが増えるごとにパフォーマンスが影響を受ける可能性があります。影響を受ける領域は次のとおりです。
- 双方向オーディオ
- ファイル転送
- 汎用USBリダイレクト
- シームレス
- Thinwire
重要:
デフォルトでは、パススルーセッションで実行されているクライアントのインスタンスによってマップされたクライアントドライブは、接続しているクライアントのクライアントドライブに制限されます。
Citrix Virtual DesktopセッションとCitrix Virtual Appセッション間の仮想チャネルのパススルー機能
Citrixが提供するほとんどの仮想チャネルは、Citrix Virtual Desktopsサーバー上のICAセッション内でCitrix Workspaceアプリ for Windowsを使用する場合(パススルーセッションとも呼ばれます)に、変更なしで動作します。
具体的には、Citrix Virtual Desktopsサーバーには、picaPassthruHookを実行するVDAフックがあります。このフックにより、クライアントはCPSサーバーで実行されていると認識し、クライアントを従来のパススルーモードにします。
次の従来の仮想チャネルとその機能をサポートしています。
- クライアント
- クライアントCOMポートマッピング
- クライアントドライブマッピング
- クライアントプリンターマッピング
- 汎用USB(パフォーマンス上の理由により制限あり)
- マルチメディアサポート
- スマートカードサポート
- SSON
- 透過的なキーパススルー
セキュリティとICA仮想チャネル
使用状況のセキュリティ確保は、仮想チャネルの計画、開発、および実装の重要な部分です。このドキュメント全体に、特定のセキュリティ領域への参照がいくつかあります。
ベストプラクティス
接続および再接続時に仮想チャネルを開きます。ログオフおよび切断時に仮想チャネルを閉じます。
仮想チャネル機能を使用するスクリプトを作成する際は、次のガイドラインを念頭に置いてください。
仮想チャネルの命名:
最大32個の仮想チャネルを作成できます。32個のチャネルのうち17個は特殊な目的のために予約されています。
-
仮想チャネル名は7文字以内である必要があります。
-
最初の3文字はベンダー名に、次の4文字はチャネルタイプに予約されています。たとえば、CTXAUDはCitrixオーディオ仮想チャネルを表します。
仮想チャネルは、7文字(またはそれ以下)のASCII名で参照されます。ICAプロトコルの以前のバージョンでは、仮想チャネルは番号付けされていました。現在、番号はASCII名に基づいて動的に割り当てられるため、実装が容易になります。内部使用のみの仮想チャネルコードを開発しているユーザーは、既存の仮想チャネルと競合しない7文字の名前を使用できます。数字と大文字小文字のASCIIのみを使用してください。独自の仮想チャネルを追加する際は、既存の命名規則に従ってください。いくつかの事前定義されたチャネルがあります。事前定義されたチャネルはOEM識別子CTXで始まり、Citrixのみが使用できます。
ダブルホップサポート:
| 仮想チャネル | ダブルホップはサポートされていますか? |
|---|---|
| オーディオ | いいえ |
| ブラウザコンテンツリダイレクト | いいえ |
| CDM | はい |
| CEIP | いいえ |
| クリップボード | はい |
| Continuum (MRVC) | いいえ |
| Control VC | はい |
| HTML5ビデオリダイレクト (v1) | はい |
| キーボード、マウス | はい |
| MultiTouch | いいえ |
| NSAPVC | いいえ |
| 印刷 | はい |
| SensVC | いいえ |
| スマートカード | はい |
| Twain | はい |
| USB VC | はい |
| WAYCOMデバイス -K2M (USB VCを使用) | はい |
| ウェブカメラビデオ圧縮 | はい |
| Windows Mediaリダイレクト | はい |
関連項目
- ICA Virtual Channel SDK
- Citrix Developer Networkは、Citrix SDKの使用に関するすべての技術リソースとディスカッションの拠点です。このネットワークでは、SDK、サンプルコードとスクリプト、拡張機能とプラグイン、およびSDKドキュメントにアクセスできます。Citrix Developer Networkフォーラムも含まれており、各Citrix SDKに関する技術的な議論が行われています。
共有
共有
This Preview product documentation is Citrix Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Citrix Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Citrix product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.