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

IWRdsProtocolSettings

COM
IID654a5a6a-2550-47eb-b6f7-ebd637475265継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

ポリシー関連の設定を取得および追加するためのメソッドを公開します。

解説(Remarks)

このインターフェイスのいずれかのメソッドを呼び出す際にデッドロックが発生する可能性を回避するため、直接的または間接的にリモートデスクトップサービス API の呼び出しを引き起こすような関数呼び出しやメソッド呼び出しを行わないでください。外部への呼び出しを行う必要がある場合は、新しいスレッドを開始し、その新しいスレッドから外部呼び出しを行ってください。

メソッド 2

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT GetSettings(WRDS_SETTING_TYPE WRdsSettingType, WRDS_SETTING_LEVEL WRdsSettingLevel, WRDS_SETTINGS* pWRdsSettings)

特定のポリシーの設定を取得します。

WRdsSettingTypeWRDS_SETTING_TYPEin設定を取得する領域(マシングループポリシー、ユーザーグループポリシー、またはユーザーセキュリティアカウントマネージャー)を指定する WRDS_SETTING_TYPE 列挙体の値です。
WRdsSettingLevelWRDS_SETTING_LEVELinWRDS_SETTINGS 構造体の WRdsSetting メンバーに含まれる構造体の型を指定する WRDS_SETTING_LEVEL 列挙体の値です。
pWRdsSettingsWRDS_SETTINGS*out返される設定を格納する WRDS_SETTINGS 構造体へのポインターです。

戻り値

このメソッドを実装する際は、関数が成功した場合は S_OK を返します。失敗した場合は、エラーを示す HRESULT 値を返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

vtbl 4 HRESULT MergeSettings(WRDS_SETTINGS* pWRdsSettings, WRDS_CONNECTION_SETTING_LEVEL WRdsConnectionSettingLevel, WRDS_CONNECTION_SETTINGS* pWRdsConnectionSettings)

指定されたポリシー関連の設定を、より大きな接続設定のグループに追加(マージ)します。

pWRdsSettingsWRDS_SETTINGS*in追加するポリシー関連の設定を格納した WRDS_SETTINGS 構造体へのポインターです。
WRdsConnectionSettingLevelWRDS_CONNECTION_SETTING_LEVELinWRDS_CONNECTION_SETTINGS 構造体の WRdsConnectionSetting メンバーに含まれる構造体の型を指定する WRDS_CONNECTION_SETTING_LEVEL 列挙体の値です。
pWRdsConnectionSettingsWRDS_CONNECTION_SETTINGS*inout既存の接続設定を格納した WRDS_CONNECTION_SETTINGS 構造体へのポインターです。メソッドが返るとき、この構造体はマージされた設定を含むように更新されます。

戻り値

このメソッドを実装する際は、関数が成功した場合は S_OK を返します。失敗した場合は、エラーを示す HRESULT 値を返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IWRdsProtocolSettings "{654A5A6A-2550-47EB-B6F7-EBD637475265}"
#usecom global IWRdsProtocolSettings IID_IWRdsProtocolSettings "{}"
#comfunc global IWRdsProtocolSettings_GetSettings    3 int,int,var
#comfunc global IWRdsProtocolSettings_MergeSettings  4 var,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。