IRDPSRAPISessionProperties
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
セッションのプロパティを取得または設定するには、このインターフェイスを使用します。
メソッド 2
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
名前付きのセッションプロパティを設定または取得します。(Get)
| PropertyName | LPWSTR | in | 取得するプロパティの名前を指定する文字列である。 |
| pVal | VARIANT* | out | 指定プロパティの値を受け取る VARIANT へのポインタである。 |
解説(Remarks)
次のプロパティを設定および取得できます。プロパティ名は大文字と小文字を区別します。
| プロパティ名 | プロパティの説明 | 値の型 |
|---|---|---|
| "DrvConAttach" |
注意 DrvConAttach プロパティは Windows 10 以降では使用できません。共有用のミラードライバーは存在しなくなりました。
2 つ目は静的ロードモードです。このモードでは、セッションが開かれた直後にミラードライバーがロードされ、セッションが終了するまでアンロードされません。 いずれのモードでも、画面解像度や共有時の色深度の変更といった外部イベントの結果として、ドライバーがデタッチおよび再アタッチされる場合がある点に注意してください。 動的アタッチモードにするにはこのプロパティを VARIANT_TRUE に、静的アタッチモードにするには VARIANT_FALSE に設定します。このプロパティを設定できるのは IRDPSRAPISharingSession::Open メソッドを呼び出す前だけである点に注意してください。Open メソッドの呼び出し後、このプロパティは読み取り専用になります。既定値は VARIANT_TRUE です。 リモートアシスタンスのような 1:1 のシナリオでは、セッションを開いてからエキスパートが接続するまでに非常に長い時間がかかることがあるため、動的ロードモードを使用してください。 1:M (複数参加者) のシナリオでは、ミラードライバーのアタッチとデタッチはかなり大きな中断を伴い、正当な理由がない限り行うべきではないため、静的ロードモードを使用してください。 |
VT_BOOL |
| "PortId" | 共有側からの受信接続を待ち受けるリスナーポートです。このプロパティはビューアー側でも設定できますが、リバース接続の場合に接続を待ち受ける用途にのみ使用されます。 | VT_I4 |
| "PortProtocol" | 共有側でリスナーを開始するプロトコルファミリを指定します。指定できる値は次のとおりです。 | VT_I4 |
| "SetNetworkStream" |
IRDPSRAPITransportStream インターフェイスをサポートする IUnknown インターフェイスへのポインターです。このプロパティが設定されている場合、Connect メソッドはこのストリームを使用し、渡された接続文字列を無視します。
このプロパティはビューアー側でのみ有効です。 |
VT_UNKNOWN |
| "EnforceStrongEncryption" |
このプロパティの値が VARIANT_TRUE の場合、共有側はビューアーに対して Federal Information Processing Standard (FIPS) 140 準拠の暗号化の使用を要求します。既定値は VARIANT_FALSE です。
このプロパティは IRDPSRAPISharingSession::Open メソッドの呼び出し後に読み取り専用になります。このプロパティを設定できるのは、そのメソッドを呼び出す前だけです。 FIPS 140 準拠に対するビューアーのサポートは Windows 10 バージョン 1709 で追加されました。共有側は、Windows 10 バージョン 1709 より前のバージョンのビューアーからの接続を拒否します。 このプロパティは共有側でのみ有効です。 |
VT_BOOL |
| "FrameCaptureIntervalInMs" |
フレームキャプチャの間隔を指定します。既定では、フレームキャプチャの間隔は 33 ミリ秒であり、これは毎秒 30 フレームに相当します。
このプロパティを使用してパフォーマンスを最適化できます。画面の更新をそれほど頻繁に行う必要がない場合は、キャプチャ間隔を長くできます。たとえば、400 ミリ秒に設定すると毎秒 2.5 フレームになります。 このプロパティは共有側でのみ有効です。 |
VT_I4 |
| "DefaultAttendeeControlLevel" |
参加者の既定のコントロールレベルを指定します。既定では、この値は CTRL_LEVEL_NONE (なし) です。この値は CTRL_LEVEL_VIEW (表示) に変更できます。
既定のコントロールレベルを対話 (interactive) に設定することはできません。 このプロパティは共有側でのみ有効です。 |
VT_I4 |
| "EnableClipboardRedirect" |
このプロパティの値が VARIANT_TRUE の場合、共有側とビューアー間のクリップボードが有効になります。既定値は VARIANT_FALSE です。
クリップボードの共有を使用するには、セッションが対話モードである必要があります。 クリップボードを共有できる接続は 1 つだけです。直近に入力コントロールを取得した接続がクリップボードの共有を引き継ぎます。それ以前の接続のクリップボード共有は自動的に無効になります。 このプロパティはデスクトップアプリでのみ使用できます。 このプロパティは共有側でのみ有効です。 このプロパティは Windows 10 バージョン 1511 以降で使用できます。 |
VT_BOOL |
| "SetClipboardRedirectCallback" |
共有側コンピューターからビューアーへのコピーが試行されるたびにコールバックを受け取る IRDPSRAPIClipboardUseEvents のインスタンスへの IUnknown ポインターを指定します。このプロパティは、クリップボードの共有が有効な場合にのみ意味を持ちます。
このプロパティは IRDPSRAPISharingSession::Open メソッドの呼び出し後に読み取り専用になります。このプロパティを設定できるのは、そのメソッドを呼び出す前だけです。 このプロパティはデスクトップアプリでのみ使用できます。 このプロパティは共有側でのみ有効です。 このプロパティは Windows 10 バージョン 1511 以降で使用できます。 |
VT_UNKNOWN |
| "EnabledTransports" |
有効にするトランスポートを指定します。値 3 は TCP と UDP の両方をサポートします。既定値は 1 で、TCP のみです。
このプロパティは IRDPSRAPISharingSession::Open メソッドの呼び出し後に読み取り専用になります。このプロパティを設定できるのは、そのメソッドを呼び出す前だけです。 このプロパティは Windows 10 バージョン 1803 以降で使用できます。 このプロパティは共有側でのみ有効です。 |
VT_I4 |
名前付きのセッションプロパティを設定または取得します。(Put)
| PropertyName | LPWSTR | in | 設定するプロパティの名前を指定する文字列である。 |
| newVal | VARIANT | in | プロパティに設定する値を指定する VARIANT である。 |
解説(Remarks)
次のプロパティを設定および取得できます。プロパティ名は大文字と小文字を区別します。
| プロパティ名 | プロパティの説明 | 値の型 |
|---|---|---|
| "DrvConAttach" |
注意 DrvConAttach プロパティは Windows 10 以降では使用できません。共有用のミラードライバーは存在しなくなりました。
2 つ目は静的ロードモードです。このモードでは、セッションが開かれた直後にミラードライバーがロードされ、セッションが終了するまでアンロードされません。 いずれのモードでも、画面解像度や共有時の色深度の変更といった外部イベントの結果として、ドライバーがデタッチおよび再アタッチされる場合がある点に注意してください。 動的アタッチモードにするにはこのプロパティを VARIANT_TRUE に、静的アタッチモードにするには VARIANT_FALSE に設定します。このプロパティを設定できるのは IRDPSRAPISharingSession::Open メソッドを呼び出す前だけである点に注意してください。Open メソッドの呼び出し後、このプロパティは読み取り専用になります。既定値は VARIANT_TRUE です。 リモートアシスタンスのような 1:1 のシナリオでは、セッションを開いてからエキスパートが接続するまでに非常に長い時間がかかることがあるため、動的ロードモードを使用してください。 1:M (複数参加者) のシナリオでは、ミラードライバーのアタッチとデタッチはかなり大きな中断を伴い、正当な理由がない限り行うべきではないため、静的ロードモードを使用してください。 |
VT_BOOL |
| "PortId" | 共有側からの受信接続を待ち受けるリスナーポートです。このプロパティはビューアー側でも設定できますが、リバース接続の場合に接続を待ち受ける用途にのみ使用されます。 | VT_I4 |
| "PortProtocol" | 共有側でリスナーを開始するプロトコルファミリを指定します。指定できる値は次のとおりです。 | VT_I4 |
| "SetNetworkStream" |
IRDPSRAPITransportStream インターフェイスをサポートする IUnknown インターフェイスへのポインターです。このプロパティが設定されている場合、Connect メソッドはこのストリームを使用し、渡された接続文字列を無視します。
このプロパティはビューアー側でのみ有効です。 |
VT_UNKNOWN |
| "EnforceStrongEncryption" |
このプロパティの値が VARIANT_TRUE の場合、共有側はビューアーに対して Federal Information Processing Standard (FIPS) 140 準拠の暗号化の使用を要求します。既定値は VARIANT_FALSE です。
このプロパティは IRDPSRAPISharingSession::Open メソッドの呼び出し後に読み取り専用になります。このプロパティを設定できるのは、そのメソッドを呼び出す前だけです。 FIPS 140 準拠に対するビューアーのサポートは Windows 10 バージョン 1709 で追加されました。共有側は、Windows 10 バージョン 1709 より前のバージョンのビューアーからの接続を拒否します。 このプロパティは共有側でのみ有効です。 |
VT_BOOL |
| "FrameCaptureIntervalInMs" |
フレームキャプチャの間隔を指定します。既定では、フレームキャプチャの間隔は 33 ミリ秒であり、これは毎秒 30 フレームに相当します。
このプロパティを使用してパフォーマンスを最適化できます。画面の更新をそれほど頻繁に行う必要がない場合は、キャプチャ間隔を長くできます。たとえば、400 ミリ秒に設定すると毎秒 2.5 フレームになります。 このプロパティは共有側でのみ有効です。 |
VT_I4 |
| "DefaultAttendeeControlLevel" |
参加者の既定のコントロールレベルを指定します。既定では、この値は CTRL_LEVEL_NONE (なし) です。この値は CTRL_LEVEL_VIEW (表示) に変更できます。
既定のコントロールレベルを対話 (interactive) に設定することはできません。 このプロパティは共有側でのみ有効です。 |
VT_I4 |
| "EnableClipboardRedirect" |
このプロパティの値が VARIANT_TRUE の場合、共有側とビューアー間のクリップボードが有効になります。既定値は VARIANT_FALSE です。
クリップボードの共有を使用するには、セッションが対話モードである必要があります。 クリップボードを共有できる接続は 1 つだけです。直近に入力コントロールを取得した接続がクリップボードの共有を引き継ぎます。それ以前の接続のクリップボード共有は自動的に無効になります。 このプロパティはデスクトップアプリでのみ使用できます。 このプロパティは共有側でのみ有効です。 このプロパティは Windows 10 バージョン 1511 以降で使用できます。 |
VT_BOOL |
| "SetClipboardRedirectCallback" |
共有側コンピューターからビューアーへのコピーが試行されるたびにコールバックを受け取る IRDPSRAPIClipboardUseEvents のインスタンスへの IUnknown ポインターを指定します。このプロパティは、クリップボードの共有が有効な場合にのみ意味を持ちます。
このプロパティは IRDPSRAPISharingSession::Open メソッドの呼び出し後に読み取り専用になります。このプロパティを設定できるのは、そのメソッドを呼び出す前だけです。 このプロパティはデスクトップアプリでのみ使用できます。 このプロパティは共有側でのみ有効です。 このプロパティは Windows 10 バージョン 1511 以降で使用できます。 |
VT_UNKNOWN |
| "EnabledTransports" |
有効にするトランスポートを指定します。値 3 は TCP と UDP の両方をサポートします。既定値は 1 で、TCP のみです。
このプロパティは IRDPSRAPISharingSession::Open メソッドの呼び出し後に読み取り専用になります。このプロパティを設定できるのは、そのメソッドを呼び出す前だけです。 このプロパティは Windows 10 バージョン 1803 以降で使用できます。 このプロパティは共有側でのみ有効です。 |
VT_I4 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IRDPSRAPISessionProperties "{339B24F2-9BC0-4F16-9AAC-F165433D13D4}" #usecom global IRDPSRAPISessionProperties IID_IRDPSRAPISessionProperties "{DD7594FF-EA2A-4C06-8FDF-132DE48B6510}" #comfunc global IRDPSRAPISessionProperties_get_Property 7 wstr,var #comfunc global IRDPSRAPISessionProperties_put_Property 8 wstr,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IRDPSRAPISessionProperties "{339B24F2-9BC0-4F16-9AAC-F165433D13D4}" #usecom global IRDPSRAPISessionProperties IID_IRDPSRAPISessionProperties "{DD7594FF-EA2A-4C06-8FDF-132DE48B6510}" #comfunc global IRDPSRAPISessionProperties_get_Property 7 wstr,sptr #comfunc global IRDPSRAPISessionProperties_put_Property 8 wstr,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。