IRemoteDesktopClientSettings
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
リモート デスクトップ プロトコル (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 プロパティの値を 1 つ取得します。
| propertyName | LPWSTR | in | 取得する RDP プロパティの名前を表すワイド文字列を指定する。 |
| value | VARIANT* | out | 取得したプロパティ値を受け取る VARIANT へのポインタである。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
名前付きの RDP プロパティの値を 1 つ設定します。
| 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 不要)。