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

IRDPViewerInputSink

COM
IIDbb590853-a6c5-4a7b-8dd4-76b69eea12d5継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

マウスイベントおよびキーボードイベントを送信し、タッチ入力をサポートします。

メソッド 8

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

vtbl 3 HRESULT SendMouseButtonEvent(RDPSRAPI_MOUSE_BUTTON_TYPE buttonType, VARIANT_BOOL vbButtonDown, DWORD xPos, DWORD yPos)

マウスボタンイベントメッセージを送信します。

buttonTypeRDPSRAPI_MOUSE_BUTTON_TYPEin押された、または離されたボタン。
vbButtonDownVARIANT_BOOLinボタンの状態。ボタンが押されている場合は TRUE、それ以外の場合は FALSE です。
xPosDWORDin水平軸方向のマウス位置(ピクセル単位)。
yPosDWORDin垂直軸方向のマウス位置(ピクセル単位)。

戻り値

メソッドが成功した場合、戻り値は S_OK です。それ以外の場合、戻り値はエラーコードです。

vtbl 4 HRESULT SendMouseMoveEvent(DWORD xPos, DWORD yPos)

マウス移動イベントメッセージを送信します。

xPosDWORDin水平軸方向のマウス位置(ピクセル単位)。
yPosDWORDin垂直軸方向のマウス位置(ピクセル単位)。

戻り値

メソッドが成功した場合、戻り値は S_OK です。それ以外の場合、戻り値はエラーコードです。

vtbl 5 HRESULT SendMouseWheelEvent(WORD wheelRotation)

マウスホイールイベントメッセージを送信します。

wheelRotationWORDinホイールが移動した増分の数。

戻り値

メソッドが成功した場合、戻り値は S_OK です。それ以外の場合、戻り値はエラーコードです。

vtbl 6 HRESULT SendKeyboardEvent(RDPSRAPI_KBD_CODE_TYPE codeType, WORD keycode, VARIANT_BOOL vbKeyUp, VARIANT_BOOL vbRepeat, VARIANT_BOOL vbExtended)

キーボードイベントメッセージを送信します。

codeTypeRDPSRAPI_KBD_CODE_TYPEinキーコードのエンコード方式。
keycodeWORDin押された、または離されたキーのキーコード。
vbKeyUpVARIANT_BOOLinキーの状態。キーが離された場合は TRUE、キーが押された場合は FALSE です。
vbRepeatVARIANT_BOOLinキーコードがリピートコードであるかどうか。キー押下による最初のキーコードの場合は FALSE、1 回のキー押下によるリピートコードの場合は TRUE です。
vbExtendedVARIANT_BOOLinキーコードが拡張コードであるかどうか。拡張コードの場合は TRUE、それ以外の場合は FALSE です。

戻り値

メソッドが成功した場合、戻り値は S_OK です。それ以外の場合、戻り値はエラーコードです。

vtbl 7 HRESULT SendSyncEvent(DWORD syncFlags)

Caps Lock キーが押された場合など、キーボードの状態の変化を示すイベントメッセージを送信します。

syncFlagsDWORDin指定可能な値については、RDPSRAPI_KBD_SYNC_FLAG 列挙型を参照してください。

戻り値

メソッドが成功した場合、戻り値は S_OK です。それ以外の場合、戻り値はエラーコードです。

vtbl 8 HRESULT BeginTouchFrame()

一連のタッチ入力の受け付けを開始します。

戻り値

メソッドが成功した場合、戻り値は S_OK です。それ以外の場合、戻り値はエラーコードです。

vtbl 9 HRESULT AddTouchInput(DWORD contactId, DWORD event, INT x, INT y)

タッチ入力の記述を受け付けます。

contactIdDWORDinタッチ入力を生成した接触点の識別子。
eventDWORDin入力によって生じるイベント。
xINTinx 軸方向のタッチ位置。
yINTiny 軸方向のタッチ位置。

戻り値

メソッドが成功した場合、戻り値は S_OK です。それ以外の場合、戻り値はエラーコードです。

vtbl 10 HRESULT EndTouchFrame()

一連のタッチ入力の受け付けを終了します。

戻り値

メソッドが成功した場合、戻り値は S_OK です。それ以外の場合、戻り値はエラーコードです。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IRDPViewerInputSink "{BB590853-A6C5-4A7B-8DD4-76B69EEA12D5}"
#usecom global IRDPViewerInputSink IID_IRDPViewerInputSink "{}"
#comfunc global IRDPViewerInputSink_SendMouseButtonEvent  3 int,int,int,int
#comfunc global IRDPViewerInputSink_SendMouseMoveEvent    4 int,int
#comfunc global IRDPViewerInputSink_SendMouseWheelEvent   5 int
#comfunc global IRDPViewerInputSink_SendKeyboardEvent     6 int,int,int,int,int
#comfunc global IRDPViewerInputSink_SendSyncEvent         7 int
#comfunc global IRDPViewerInputSink_BeginTouchFrame       8
#comfunc global IRDPViewerInputSink_AddTouchInput         9 int,int,int,int
#comfunc global IRDPViewerInputSink_EndTouchFrame         10
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。