Win32 API 日本語リファレンス
ホーム › System.RemoteDesktop › IRemoteDesktopClientSettings

IRemoteDesktopClientSettings

COMIDispatch (デュアル)
✅ IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID48a0f2a7-2713-431f-bbac-6f4558e7d64d継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

公式ドキュメント

リモート デスクトップ プロトコル (RDP) アプリ コンテナー クライアント コントロールの接続設定を構成するために必要なメソッドを提供します。

メソッド 4

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT ApplySettings(LPWSTR rdpFileContents)

指定された内容を RDP ファイルに格納します。

rdpFileContentsLPWSTRinRDP ファイルの内容全体を指定します。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。

vtbl 8 HRESULT RetrieveSettings(LPWSTR* rdpFileContents)

RDP ファイル全体を文字列として取得します。

rdpFileContentsLPWSTR*outRDP ファイルの内容全体です。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。

vtbl 9 HRESULT GetRdpProperty(LPWSTR propertyName, VARIANT* value)

名前付きの RDP プロパティの値を 1 つ取得します。

propertyNameLPWSTRin取得する RDP プロパティの名前を表すワイド文字列を指定する。
valueVARIANT*out取得したプロパティ値を受け取る VARIANT へのポインタである。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。

vtbl 10 HRESULT SetRdpProperty(LPWSTR propertyName, VARIANT value)

名前付きの RDP プロパティの値を 1 つ設定します。

propertyNameLPWSTRin

プロパティの名前を指定する文字列です。

注意  これらの文字列値では大文字と小文字は区別されません。
 

指定できる値は次のとおりです。

"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

高速ブロードバンド

5

WAN

6

LAN

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 ベースの認証を使用するかどうかを指定します。次のいずれかの値を指定できます。

false

CredSSP ベースの認証を使用しません。

True

CredSSP ベースの認証を使用します。

"full address" (String)

接続先のコンピューターのアドレスを指定します。

"gatewaycredentialssource" (Number)

リモート デスクトップ ゲートウェイの資格情報の取得元を指定します。次のいずれかの値を指定できます。

0

ユーザーに資格情報の入力を求め、NTLM 認証を使用します。

1

資格情報にスマート カードを使用します。

2

現在ログオンしているユーザーの資格情報を使用します。

3

ユーザーに資格情報の入力を求め、基本認証を使用します。

4

ログオン時にユーザーが資格情報の取得元を選択します。

5

Cookie ベースの認証を使用します。

"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)

暗号化されたパスワードを指定します。このプロパティを設定するには、次の操作を行う必要があります。

  1. CryptographicBuffer クラスの ConvertStringToBinary メソッドを使用して、平文のパスワードをバイナリに変換します。
  2. 手順 1 で ConvertStringToBinary メソッドに渡した encoding パラメーターと等価な値を使用して、WinRTPasswordEncoding プロパティを設定します。
  3. 入力文字列として "LOCAL=user" を渡して DataProtectionProvider(String) メソッドを呼び出します。
  4. ProtectAsync メソッドを呼び出して、パスワードを含むバイナリ文字列を暗号化します。
  5. ProtectAsync メソッドが返す CryptographicBuffer オブジェクトを、EncodeToBase64String メソッドを使用して Base64 エンコードされた値に変換します。
  6. 手順 5 で得られた Base64 エンコード文字列をこのプロパティ (WinRTEncryptedPassword) に設定します。

"WinRTPasswordEncoding" (Number)

暗号化されたパスワードに適用できるエンコードの種類を指定します。次のいずれかの値を指定できます。既定値は 1 です。このプロパティは、WinRTEncryptedPassword プロパティを設定する前に設定する必要があります。

0

UTF8

1

UTF16LE

2

UTF16BE

"Workspace Id" (String)

この RDP ファイルが一部として発行されている RemoteApp およびデスクトップ接続ワークスペースの識別子を指定します。

valueVARIANTin新しいプロパティの値です。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
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 不要)。