-
-
Citrix ICA®仮想チャネル
-
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 DaaS(旧Citrix Virtual Apps and Desktops™サービス)サーバー間の機能と通信の大部分は、仮想チャネルを介して行われます。仮想チャネルは、Citrix DaaSサーバーでのリモートコンピューティングエクスペリエンスに不可欠な部分です。仮想チャネルは以下に使用されます。
- オーディオ
- COMポート
- ディスク
- グラフィック
- LPTポート
- プリンター
- スマートカード
- サードパーティ製カスタム仮想チャネル
- ビデオ
Citrix DaaS™およびCitrix Workspaceアプリ製品では、より多くの機能を提供するために、新しい仮想チャネルがリリースされることがあります。

-
仮想チャネルは、サーバー側アプリケーションと通信するクライアント側仮想ドライバーで構成されます。Citrix DaaSには、さまざまな仮想チャネルが付属しています。これらは、提供されているソフトウェア開発キット(SDK)のいずれかを使用して、顧客やサードパーティベンダーが独自の仮想チャネルを作成できるように設計されています。
-
仮想チャネルは、さまざまなタスクを安全に実行する方法を提供します。たとえば、Citrix Virtual Apps™サーバーで実行されているアプリケーションがクライアント側デバイスと通信する場合や、アプリケーションがクライアント側環境と通信する場合などです。
-
クライアント側では、仮想チャネルは仮想ドライバーに対応します。各仮想ドライバーは特定の機能を提供します。一部は通常の操作に必須であり、その他はオプションです。仮想ドライバーはプレゼンテーション層プロトコルレベルで動作します。Windows Station(WinStation)プロトコル層によって提供されるチャネルを多重化することにより、いつでも複数のプロトコルをアクティブにできます。
-
次の機能は、このレジストリパスの下のVirtualDriverレジストリ値に含まれています。
-
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ICA Client\Engine\Configuration\Advanced\Modules\ICA 3.0 -
または
-
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Citrix\ICA Client\Engine\Configuration\Advanced\Modules\ICA 3.0(64ビット用) - Thinwire3.0(必須)
- ClientDrive
- ClentPrinterQueue
- ClentPrinterPort
- Clipboard
- ClientComm
- ClientAudio
- LicenseHandler(必須)
- TWI(必須)
- SmartCard
- ICACTL(必須)
- SSPI
- TwainRdr
- UserEXperience
-
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 – モバイルReceiver仮想チャネル
- 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
- Clipboard
- Multimedia
- Seamless session sharing
- Time Zone
一部はカーネルモードとしてロードされます。例:
- CtxDvcs.sys – 動的仮想チャネル
- Icausbb.sys – 汎用USBリダイレクト
- Picadm.sys – クライアントドライブマッピング
- Picaser.sys – COMポートリダイレクト
- Picapar.sys – LPTポートリダイレクト
サーバー側のグラフィック仮想チャネル
XenApp 7.0およびXenDesktop 7.0以降、ctxgfx.exeはワークステーションおよびターミナルサーバーベースのセッションの両方でグラフィック仮想チャネルをホストします。Ctxgfxは、対応するドライバー(RDSHの場合はIcardd.dll、ワークステーションの場合はvdod.dllおよびvidd.dll)と対話するプラットフォーム固有のモジュールをホストします。
XenDesktop® 3D Pro展開の場合、VDA上の対応するGPUにOEMグラフィックドライバーがインストールされます。Ctxgfxは、OEMグラフィックドライバーと対話するために特殊なアダプターモジュールをロードします。
Windowsサービスでの特殊チャネルのホスティング
Citrix DaaSサーバーでは、さまざまなチャネルがWindowsサービスとしてホストされます。このようなホスティングは、セッション内の複数のアプリケーションとサーバー上の複数のセッションに対して1対多のセマンティクスを提供します。このようなサービスの例には、以下が含まれます。
- Citrix Device Redirector Service
- Citrix Dynamic Virtual Channel Service
- Citrix End User Experience Monitoring Service
- Citrix Location and Sensor Virtual Channel Service
- Citrix MultiTouch Redirection Service
- Citrix Print Manager Service
- Citrix Smartcard Service
- Citrix Audio Redirection Service(Citrix Virtual Desktops™のみ)
- Citrix ICA Status Channel Service
Citrix Virtual Appsのオーディオ仮想チャネルは、Windowsオーディオサービスを使用してホストされます。
-
サーバー側では、すべてのクライアント仮想チャネルはWinStationドライバー
Wdica.sysを介してルーティングされます。クライアント側では、wfica32.exeに組み込まれた対応するWinStationドライバーがクライアント仮想チャネルをポーリングします。この画像は、仮想チャネルのクライアント-サーバー接続を示しています。 -

この概要では、仮想チャネルを使用したクライアントとサーバー間のデータ交換について説明します。
- クライアントはCitrix DaaSサーバーに接続します。クライアントは、サポートする仮想チャネルに関する情報をサーバーに渡します。
- サーバー側アプリケーションが起動し、仮想チャネルへのハンドルを取得し、必要に応じてチャネルに関する追加情報を照会します。
-
クライアント仮想ドライバーとサーバー側アプリケーションは、次の2つの方法でデータを渡します。
- サーバーアプリケーションがクライアントに送信するデータを持っている場合、データはすぐにクライアントに送信されます。クライアントがデータを受信すると、WinStationドライバーはICAストリームから仮想チャネルデータを逆多重化し、すぐにクライアント仮想ドライバーに渡します。
- クライアント仮想ドライバーがサーバーに送信するデータを持っている場合、データはWinStationドライバーが次にポーリングするときに送信されます。サーバーがデータを受信すると、仮想チャネルアプリケーションがそれを読み取るまでキューに入れられます。サーバー仮想チャネルアプリケーションにデータが受信されたことを通知する方法はありません。
-
- サーバー仮想チャネルアプリケーションが完了すると、仮想チャネルを閉じ、割り当てられたリソースを解放します。
Virtual Channel SDKを使用した独自の仮想チャネルの作成
-
Virtual Channel SDKを使用して仮想チャネルを作成するには、中程度のプログラミング知識が必要です。この方法を使用して、クライアントとサーバー間の主要な通信パスを提供します。たとえば、セッション内のプロセスで使用するために、スキャナーなどのデバイスをクライアント側で実装する場合などです。
-
注:
- Virtual Channel SDKは、仮想チャネルのサーバー側を記述するためにWFAPI SDKを必要とします。
- Citrix DaaSのセキュリティが強化されたため、ICAセッションで開くことが許可される仮想チャネルを指定する必要があります。詳細については、「仮想チャネル許可リストポリシー設定」を参照してください。
ICA Client Object SDKを使用した独自の仮想チャネルの作成
ICA Client Object (ICO) を使用して仮想チャネルを作成する方が、Virtual Channel SDKを使用するよりも簡単です。ICOを使用するには、プログラムで CreateChannels メソッドを使用して名前付きオブジェクトを作成します。
-
重要:
Citrix Receiver for Windowsバージョン10.00以降(およびCitrix Workspaceアプリ for Windows)からセキュリティが強化されたため、ICO仮想チャネルを作成する際には追加の手順が必要です。
詳細については、「クライアントオブジェクトAPI仕様プログラマーズガイド」を参照してください。
仮想チャネルのパススルー機能
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のみが使用します。
ダブルホップのサポート
| 仮想チャネル | ダブルホップはサポートされていますか? |
|---|---|
| Audio | いいえ |
| Browser Content Redirection | いいえ |
| CDM | はい |
| CEIP | いいえ |
| Clipboard | はい |
| Continuum (MRVC) | いいえ |
| Control VC | はい |
| HTML5 Video Redirection (v1) | はい |
| Keyboard, Mouse | はい |
| MultiTouch | いいえ |
| NSAPVC | いいえ |
| Printing | はい |
| SensVC | いいえ |
| Smartcard | はい |
| Twain | はい |
| USB VC | はい |
| WAYCOM devices -K2M using USB VC | はい |
| Webcam Video Compression | はい |
| Windows Media Redirection | はい |
参照
- ICA仮想チャネルSDK
- Citrix Developer Networkは、Citrix SDKの使用に関するすべての技術リソースとディスカッションの拠点です。このネットワークでは、SDK、サンプルコードとスクリプト、拡張機能とプラグイン、およびSDKドキュメントにアクセスできます。また、各Citrix SDKに関する技術的なディスカッションが行われるCitrix Developer Networkフォーラムも含まれています。
共有
共有
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.