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

IRemoteDesktopClientSettings

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

公式ドキュメント

Remote Desktop Protocol (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 プロパティ値を取得します。

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

戻り値

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

vtbl 10 HRESULT SetRdpProperty(LPWSTR propertyName, VARIANT value)

指定した名前の単一の RDP プロパティの値を設定します。

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. ConvertStringToBinary メソッド(CryptographicBuffer クラス)を使用して、クリアテキストのパスワードをバイナリに変換します。
  2. 手順 1 で ConvertStringToBinary メソッドに渡した encoding パラメーターと同等の値を使用して、WinRTPasswordEncoding プロパティを設定します。
  3. 入力文字列として "LOCAL=user" を渡して、DataProtectionProvider(String) メソッドを呼び出します。
  4. ProtectAsync メソッドを呼び出して、パスワードを含むバイナリ文字列を暗号化します。
  5. EncodeToBase64String メソッドを使用して、ProtectAsync メソッドが返す CryptographicBuffer オブジェクトを 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 不要)。