IRemoteDesktopClientSettings
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
Remote Desktop Protocol (RDP) アプリコンテナークライアントコントロールの接続設定を構成するために必要なメソッドを提供します。
メソッド 4
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
指定した内容を RDP ファイルに格納します。
| rdpFileContents | LPWSTR | in | RDP ファイルの内容全体を指定します。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
RDP ファイル全体を文字列として取得します。
| rdpFileContents | LPWSTR* | out | RDP ファイルの内容全体。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
指定した名前の単一の RDP プロパティ値を取得します。
| propertyName | LPWSTR | in | 取得する RDP プロパティの名前を表すワイド文字列を指定する。 |
| value | VARIANT* | out | 取得したプロパティ値を受け取る VARIANT へのポインタである。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
指定した名前の単一の RDP プロパティの値を設定します。
| propertyName | LPWSTR | in | プロパティの名前を指定する文字列。 注意 これらの文字列値は大文字と小文字を区別しません。
指定可能な値は次のとおりです。 "administrative session" (Boolean)セッションが管理セッションかどうかを指定します。次のいずれかの値を指定できます。 falseセッションは管理セッションではありません。 Trueセッションは管理セッションです。 "allow font smoothing" (Boolean)リモートセッションでフォントスムージングを許可するかどうかを指定します。次のいずれかの値を指定できます。 falseフォントスムージングは許可されません。 Trueフォントスムージングが許可されます。 "alternate full address" (String)接続先のリモートコンピューターの別名または IP アドレスを指定します。 "audiocapturemode" (Boolean)オーディオ入力のキャプチャモードを指定します。次のいずれかの値を指定できます。 falseオーディオ入力をキャプチャしません。 Trueオーディオ入力をキャプチャします。 "audiomode" (Number)サウンドを再生する場所を指定します。次のいずれかの値を指定できます。 0クライアントコンピューターでサウンドを再生します。 1ホストコンピューターでサウンドを再生します。 2サウンドを再生しません。 "authentication level" (Number)リモートセッションの認証レベルを指定します。次のいずれかの値を指定できます。 0なし。 1認証が必要です。 2認証はネゴシエート可能です。 3認証は指定されていません。 "connection type" (Number)接続の種類を指定します。次のいずれかの値を指定できます。 1モデム 2低速ブロードバンド 3衛星 4高速ブロードバンド 5WAN 6LAN 7自動検出 "cookie based authentication server address" (String)Cookie ベースの認証サーバーのアドレスを指定します。 "desktopheight" (Number)仮想デスクトップの高さをピクセル単位で指定します。 "desktopwidth" (Number)仮想デスクトップの幅をピクセル単位で指定します。 "disable full window drag" (Boolean)ドラッグ中にウィンドウの内容を表示する機能を無効にするかどうかを指定します。次のいずれかの値を指定できます。 false有効 True無効 "disable menu anims" (Boolean)メニューアニメーションの表示を無効にするかどうかを指定します。次のいずれかの値を指定できます。 false有効 True無効 "disable themes" (Boolean)テーマを無効にするかどうかを指定します。次のいずれかの値を指定できます。 false有効 True無効 "disable wallpaper" (Boolean)壁紙を表示するかどうかを指定します。次のいずれかの値を指定できます。 false壁紙が表示されます。 True壁紙は表示されません。 "domain" (String)リモートセッションへの接続に使用するドメインを指定します。 "enablecredsspsupport" (Boolean)リモートセッションで CredSSP ベースの認証を使用するかどうかを指定します。次のいずれかの値を指定できます。 falseCredSSP ベースの認証を使用しません。 TrueCredSSP ベースの認証を使用します。 "full address" (String)接続先のコンピューターのアドレスを指定します。 "gatewaycredentialssource" (Number)リモートデスクトップゲートウェイの資格情報のソースを指定します。次のいずれかの値を指定できます。 0ユーザーに資格情報の入力を求め、NTLM 認証を使用します。 1資格情報にスマートカードを使用します。 2現在ログオンしているユーザーの資格情報を使用します。 3ユーザーに資格情報の入力を求め、基本認証を使用します。 4ユーザーはログオン時に資格情報のソースを選択します。 5Cookie ベースの認証を使用します。 "gatewayhostname" (String)リモートデスクトップゲートウェイサーバー名を指定します。 "gatewayprofileusagemethod" (Number)リモートデスクトップゲートウェイプロファイルの使用方法を指定します。次のいずれかの値を指定できます。 0ゲートウェイプロファイル設定が存在する場合は、それを使用します。 1ゲートウェイプロファイルが存在する場合でも、明示的なゲートウェイ設定を使用します。 "gatewayusagemethod" (Number)リモートデスクトップゲートウェイの使用方法を指定します。次のいずれかの値を指定できます。 0リモートデスクトップゲートウェイサーバーを使用しません。ローカルアドレスに対して RD ゲートウェイサーバーをバイパスするチェックボックスがオフになっています。 1"gatewayhostname" プロパティで指定されたリモートデスクトップゲートウェイを使用します。 2リモートデスクトップゲートウェイサーバーの設定を自動的に検出します。 3既定のリモートデスクトップゲートウェイ使用設定を使用します。 4リモートデスクトップゲートウェイサーバーを使用しません。ローカルアドレスに対して RD ゲートウェイサーバーをバイパスするチェックボックスがオンになっています。 "high resolution mouse" (Boolean)マウス入力の解像度モードを指定します。次のいずれかの値を指定できます。 falseマウス入力は結合されます。マウスデータはサブサンプリングされ、既定のサンプリングレートに従って送信されます。 Trueマウス入力は結合されません。マウスデータはフル解像度で送信されます。 "loadbalanceinfo" (String)クライアントコンピューターに最適なサーバーを選択するために使用される負荷分散 Cookie が含まれます。 "login web page address" (String)ログイン Web ページのアドレスを指定します。 "pre-authentication server address" (String)事前認証サーバーのアドレスを指定します。 "prompt for credentials" (Boolean)ユーザーに資格情報の入力を求めるかどうかを指定します。次のいずれかの値を指定できます。 falseユーザーに資格情報の入力を求めません。 Trueユーザーに資格情報の入力を求めます。 "promptcredentialonce" (Number)リモートデスクトップゲートウェイの資格情報の共有を有効にするかどうかを指定します。次のいずれかの値を指定できます。 0資格情報の共有が無効になっています。 1資格情報の共有が有効になっています。 "redirectclipboard" (Boolean)クライアントのクリップボードをリモートセッションにリダイレクトするかどうかを指定します。次のいずれかの値を指定できます。 falseクリップボードはリダイレクトされません。 Trueクリップボードがリダイレクトされます。 "redirectprinters" (Boolean)クライアントのプリンターをリモートセッションにリダイレクトするかどうかを指定します。次のいずれかの値を指定できます。 falseプリンターはリダイレクトされません。 Trueプリンターがリダイレクトされます。 "require pre-authentication" (Number)事前認証が必要かどうかを指定します。次のいずれかの値を指定できます。 0事前認証は必要ありません。 1事前認証が必要です。 "support url" (String)サポート情報を取得する URL を指定します。 Boolean "use redirection server name" (Boolean)リダイレクトサーバーを許可するかどうかを指定します。次のいずれかの値を指定できます。 falseリダイレクトサーバーは許可されません。 Trueリダイレクトサーバーが許可されます。 "username" (String)リモートセッションへの接続に使用するユーザー名を指定します。 "WinRTEncryptedPassword" (String)暗号化されたパスワードを指定します。このプロパティを設定するには、次の操作を行う必要があります。
"WinRTPasswordEncoding" (Number)暗号化されたパスワードに適用できるエンコードの種類を指定します。次のいずれかの値を指定できます。既定値は 1 です。このプロパティは、WinRTEncryptedPassword プロパティを設定する前に設定する必要があります。 0UTF8 1UTF16LE 2UTF16BE "Workspace Id" (String)この RDP ファイルが公開の一部となっている RemoteApp およびデスクトップ接続ワークスペースの識別子を指定します。 |
| value | VARIANT | in | 新しいプロパティ値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IRemoteDesktopClientSettings "{48A0F2A7-2713-431F-BBAC-6F4558E7D64D}" #usecom global IRemoteDesktopClientSettings IID_IRemoteDesktopClientSettings "{}" #comfunc global IRemoteDesktopClientSettings_ApplySettings 7 wstr #comfunc global IRemoteDesktopClientSettings_RetrieveSettings 8 var #comfunc global IRemoteDesktopClientSettings_GetRdpProperty 9 wstr,var #comfunc global IRemoteDesktopClientSettings_SetRdpProperty 10 wstr,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IRemoteDesktopClientSettings "{48A0F2A7-2713-431F-BBAC-6F4558E7D64D}" #usecom global IRemoteDesktopClientSettings IID_IRemoteDesktopClientSettings "{}" #comfunc global IRemoteDesktopClientSettings_ApplySettings 7 wstr #comfunc global IRemoteDesktopClientSettings_RetrieveSettings 8 sptr #comfunc global IRemoteDesktopClientSettings_GetRdpProperty 9 wstr,sptr #comfunc global IRemoteDesktopClientSettings_SetRdpProperty 10 wstr,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。