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送信するマウスボタンの種類を指定する RDPSRAPI_MOUSE_BUTTON_TYPE 列挙値である。
vbButtonDownVARIANT_BOOLinボタンが押下されたか離されたかを指定する VARIANT_BOOL である。VARIANT_TRUE で押下を表す。
xPosDWORDinイベントの X 座標を指定する DWORD である。
yPosDWORDinイベントの Y 座標を指定する DWORD である。
vtbl 4 HRESULT SendMouseMoveEvent(DWORD xPos, DWORD yPos)
xPosDWORDinマウス移動先の X 座標を指定する DWORD である。
yPosDWORDinマウス移動先の Y 座標を指定する DWORD である。
vtbl 5 HRESULT SendMouseWheelEvent(WORD wheelRotation)
wheelRotationWORDinマウスホイールの回転量を指定する WORD である。
vtbl 6 HRESULT SendKeyboardEvent(RDPSRAPI_KBD_CODE_TYPE codeType, WORD keycode, VARIANT_BOOL vbKeyUp, VARIANT_BOOL vbRepeat, VARIANT_BOOL vbExtended)
codeTypeRDPSRAPI_KBD_CODE_TYPEinキーコードの種類 (スキャンコードか仮想キーかなど) を指定する RDPSRAPI_KBD_CODE_TYPE 列挙値である。
keycodeWORDin送信するキーのコードを指定する WORD である。
vbKeyUpVARIANT_BOOLinキーが離されたかどうかを指定する VARIANT_BOOL である。VARIANT_TRUE でキーアップを表す。
vbRepeatVARIANT_BOOLinキーリピートのイベントかどうかを指定する VARIANT_BOOL である。
vbExtendedVARIANT_BOOLin拡張キーかどうかを指定する VARIANT_BOOL である。
vtbl 7 HRESULT SendSyncEvent(DWORD syncFlags)
syncFlagsDWORDin同期するキーの状態 (CapsLock や NumLock など) を示すフラグを指定する DWORD である。
vtbl 8 HRESULT BeginTouchFrame()
vtbl 9 HRESULT AddTouchInput(DWORD contactId, DWORD event, INT x, INT y)
contactIdDWORDinタッチ接点を識別する一意な識別子を指定する DWORD である。
eventDWORDinタッチイベントの種類を指定する DWORD である。
xINTinタッチ接点の X 座標を指定する整数である。
yINTinタッチ接点の Y 座標を指定する整数である。
vtbl 10 HRESULT EndTouchFrame()

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が無いため "{}"(他メソッド/アクティベーションで取得)。