ホーム › UI.TabletPC › IStylusPlugin
IStylusPlugin
COMメソッド 17
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT RealTimeStylusEnabled(IRealTimeStylus* piRtsSrc, DWORD cTcidCount, DWORD* pTcids)
| piRtsSrc | IRealTimeStylus* | inoptional | 通知元の RealTimeStylus オブジェクトへのポインタである。 |
| cTcidCount | DWORD | in | 有効化されたタブレットコンテキスト ID の数を指定する。 |
| pTcids | DWORD* | in | 有効化されたタブレットコンテキスト ID の配列へのポインタである。 |
vtbl 4 HRESULT RealTimeStylusDisabled(IRealTimeStylus* piRtsSrc, DWORD cTcidCount, DWORD* pTcids)
| piRtsSrc | IRealTimeStylus* | inoptional | 通知元の RealTimeStylus オブジェクトへのポインタである。 |
| cTcidCount | DWORD | in | 無効化されたタブレットコンテキスト ID の数を指定する。 |
| pTcids | DWORD* | in | 無効化されたタブレットコンテキスト ID の配列へのポインタである。 |
vtbl 5 HRESULT StylusInRange(IRealTimeStylus* piRtsSrc, DWORD tcid, DWORD sid)
| piRtsSrc | IRealTimeStylus* | inoptional | 通知元の RealTimeStylus オブジェクトへのポインタである。 |
| tcid | DWORD | in | 対象タブレットのコンテキスト ID を指定する。 |
| sid | DWORD | in | 検出範囲に入ったスタイラスの ID を指定する。 |
vtbl 6 HRESULT StylusOutOfRange(IRealTimeStylus* piRtsSrc, DWORD tcid, DWORD sid)
| piRtsSrc | IRealTimeStylus* | inoptional | 通知元の RealTimeStylus オブジェクトへのポインタである。 |
| tcid | DWORD | in | 対象タブレットのコンテキスト ID を指定する。 |
| sid | DWORD | in | 検出範囲から外れたスタイラスの ID を指定する。 |
vtbl 7 HRESULT StylusDown(IRealTimeStylus* piRtsSrc, StylusInfo* pStylusInfo, DWORD cPropCountPerPkt, INT* pPacket, INT** ppInOutPkt)
| piRtsSrc | IRealTimeStylus* | inoptional | 通知元の RealTimeStylus オブジェクトへのポインタである。 |
| pStylusInfo | StylusInfo* | in | スタイラスの状態情報を格納した StylusInfo 構造体へのポインタである。 |
| cPropCountPerPkt | DWORD | in | 1 パケットあたりのプロパティ数を指定する。 |
| pPacket | INT* | in | スタイラスダウン時のパケットデータへのポインタである。 |
| ppInOutPkt | INT** | inout | プラグインが変更したパケットデータを受け渡すための入出力ポインタである。 |
vtbl 8 HRESULT StylusUp(IRealTimeStylus* piRtsSrc, StylusInfo* pStylusInfo, DWORD cPropCountPerPkt, INT* pPacket, INT** ppInOutPkt)
| piRtsSrc | IRealTimeStylus* | inoptional | 通知元の RealTimeStylus オブジェクトへのポインタである。 |
| pStylusInfo | StylusInfo* | in | スタイラスの状態情報を格納した StylusInfo 構造体へのポインタである。 |
| cPropCountPerPkt | DWORD | in | 1 パケットあたりのプロパティ数を指定する。 |
| pPacket | INT* | in | スタイラスアップ時のパケットデータへのポインタである。 |
| ppInOutPkt | INT** | inout | プラグインが変更したパケットデータを受け渡すための入出力ポインタである。 |
vtbl 9 HRESULT StylusButtonDown(IRealTimeStylus* piRtsSrc, DWORD sid, GUID* pGuidStylusButton, POINT* pStylusPos)
| piRtsSrc | IRealTimeStylus* | inoptional | 通知元の RealTimeStylus オブジェクトへのポインタである。 |
| sid | DWORD | in | ボタンが押されたスタイラスの ID を指定する。 |
| pGuidStylusButton | GUID* | in | 押されたスタイラスボタンを識別する GUID へのポインタである。 |
| pStylusPos | POINT* | inout | ボタンが押された時点のスタイラス位置を表す POINT へのポインタである。 |
vtbl 10 HRESULT StylusButtonUp(IRealTimeStylus* piRtsSrc, DWORD sid, GUID* pGuidStylusButton, POINT* pStylusPos)
| piRtsSrc | IRealTimeStylus* | inoptional | 通知元の RealTimeStylus オブジェクトへのポインタである。 |
| sid | DWORD | in | ボタンが離されたスタイラスの ID を指定する。 |
| pGuidStylusButton | GUID* | in | 離されたスタイラスボタンを識別する GUID へのポインタである。 |
| pStylusPos | POINT* | inout | ボタンが離された時点のスタイラス位置を表す POINT へのポインタである。 |
vtbl 11 HRESULT InAirPackets(IRealTimeStylus* piRtsSrc, StylusInfo* pStylusInfo, DWORD cPktCount, DWORD cPktBuffLength, INT* pPackets, DWORD* pcInOutPkts, INT** ppInOutPkts)
| piRtsSrc | IRealTimeStylus* | inoptional | 通知元の RealTimeStylus オブジェクトへのポインタである。 |
| pStylusInfo | StylusInfo* | in | スタイラスの状態情報を格納した StylusInfo 構造体へのポインタである。 |
| cPktCount | DWORD | in | ホバー(空中)パケットの数を指定する。 |
| cPktBuffLength | DWORD | in | パケットバッファ全体の要素数(長さ)を指定する。 |
| pPackets | INT* | in | ホバー(空中)パケットデータの配列へのポインタである。 |
| pcInOutPkts | DWORD* | inout | プラグインが返すパケット数を受け渡すための入出力ポインタである。 |
| ppInOutPkts | INT** | inout | プラグインが変更したパケットデータを受け渡すための入出力ポインタである。 |
vtbl 12 HRESULT Packets(IRealTimeStylus* piRtsSrc, StylusInfo* pStylusInfo, DWORD cPktCount, DWORD cPktBuffLength, INT* pPackets, DWORD* pcInOutPkts, INT** ppInOutPkts)
| piRtsSrc | IRealTimeStylus* | inoptional | 通知元の RealTimeStylus オブジェクトへのポインタである。 |
| pStylusInfo | StylusInfo* | in | スタイラスの状態情報を格納した StylusInfo 構造体へのポインタである。 |
| cPktCount | DWORD | in | パケットの数を指定する。 |
| cPktBuffLength | DWORD | in | パケットバッファ全体の要素数(長さ)を指定する。 |
| pPackets | INT* | in | 接触中のパケットデータの配列へのポインタである。 |
| pcInOutPkts | DWORD* | inout | プラグインが返すパケット数を受け渡すための入出力ポインタである。 |
| ppInOutPkts | INT** | inout | プラグインが変更したパケットデータを受け渡すための入出力ポインタである。 |
vtbl 13 HRESULT CustomStylusDataAdded(IRealTimeStylus* piRtsSrc, GUID* pGuidId, DWORD cbData, BYTE* pbData)
| piRtsSrc | IRealTimeStylus* | inoptional | 通知元の RealTimeStylus オブジェクトへのポインタである。 |
| pGuidId | GUID* | in | 追加されたカスタムデータを識別する GUID へのポインタである。 |
| cbData | DWORD | in | カスタムデータのバイト数を指定する。 |
| pbData | BYTE* | inoptional | 追加されたカスタムデータのバッファへのポインタである。 |
vtbl 14 HRESULT SystemEvent(IRealTimeStylus* piRtsSrc, DWORD tcid, DWORD sid, WORD event, SYSTEM_EVENT_DATA eventdata)
| piRtsSrc | IRealTimeStylus* | inoptional | 通知元の RealTimeStylus オブジェクトへのポインタである。 |
| tcid | DWORD | in | イベントが発生したタブレットのコンテキスト ID を指定する。 |
| sid | DWORD | in | イベントが発生したスタイラスの ID を指定する。 |
| event | WORD | in | 発生したシステムイベントの種類を指定する。 |
| eventdata | SYSTEM_EVENT_DATA | in | システムイベントに付随するデータを格納した SYSTEM_EVENT_DATA を指定する。 |
vtbl 15 HRESULT TabletAdded(IRealTimeStylus* piRtsSrc, IInkTablet* piTablet)
| piRtsSrc | IRealTimeStylus* | inoptional | 通知元の RealTimeStylus オブジェクトへのポインタである。 |
| piTablet | IInkTablet* | inoptional | 追加されたタブレットを表す IInkTablet へのポインタである。 |
vtbl 16 HRESULT TabletRemoved(IRealTimeStylus* piRtsSrc, INT iTabletIndex)
| piRtsSrc | IRealTimeStylus* | inoptional | 通知元の RealTimeStylus オブジェクトへのポインタである。 |
| iTabletIndex | INT | in | 削除されたタブレットのインデックスを指定する。 |
vtbl 17 HRESULT Error(IRealTimeStylus* piRtsSrc, IStylusPlugin* piPlugin, RealTimeStylusDataInterest dataInterest, HRESULT hrErrorCode, INT_PTR* lptrKey)
| piRtsSrc | IRealTimeStylus* | inoptional | 通知元の RealTimeStylus オブジェクトへのポインタである。 |
| piPlugin | IStylusPlugin* | inoptional | エラーが発生したプラグインへのポインタである。 |
| dataInterest | RealTimeStylusDataInterest | in | エラー発生時に処理していたデータの種類を指定する。 |
| hrErrorCode | HRESULT | in | 発生したエラーを示す HRESULT 値を指定する。 |
| lptrKey | INT_PTR* | inout | エラーに関連付けられたキー値を受け渡すための入出力ポインタである。 |
vtbl 18 HRESULT UpdateMapping(IRealTimeStylus* piRtsSrc)
| piRtsSrc | IRealTimeStylus* | inoptional | 通知元の RealTimeStylus オブジェクトへのポインタである。 |
vtbl 19 HRESULT DataInterest(RealTimeStylusDataInterest* pDataInterest)
| pDataInterest | RealTimeStylusDataInterest* | out | このプラグインが受け取りたいデータ通知の種類を受け取る出力ポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IStylusPlugin "{A81436D8-4757-4FD1-A185-133F97C6C545}" #usecom global IStylusPlugin IID_IStylusPlugin "{}" #comfunc global IStylusPlugin_RealTimeStylusEnabled 3 sptr,int,var #comfunc global IStylusPlugin_RealTimeStylusDisabled 4 sptr,int,var #comfunc global IStylusPlugin_StylusInRange 5 sptr,int,int #comfunc global IStylusPlugin_StylusOutOfRange 6 sptr,int,int #comfunc global IStylusPlugin_StylusDown 7 sptr,var,int,var,var #comfunc global IStylusPlugin_StylusUp 8 sptr,var,int,var,var #comfunc global IStylusPlugin_StylusButtonDown 9 sptr,int,var,var #comfunc global IStylusPlugin_StylusButtonUp 10 sptr,int,var,var #comfunc global IStylusPlugin_InAirPackets 11 sptr,var,int,int,var,var,var #comfunc global IStylusPlugin_Packets 12 sptr,var,int,int,var,var,var #comfunc global IStylusPlugin_CustomStylusDataAdded 13 sptr,var,int,var #comfunc global IStylusPlugin_SystemEvent 14 sptr,int,int,int,int #comfunc global IStylusPlugin_TabletAdded 15 sptr,sptr #comfunc global IStylusPlugin_TabletRemoved 16 sptr,int #comfunc global IStylusPlugin_Error 17 sptr,sptr,int,int,var #comfunc global IStylusPlugin_UpdateMapping 18 sptr #comfunc global IStylusPlugin_DataInterest 19 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IStylusPlugin "{A81436D8-4757-4FD1-A185-133F97C6C545}" #usecom global IStylusPlugin IID_IStylusPlugin "{}" #comfunc global IStylusPlugin_RealTimeStylusEnabled 3 sptr,int,sptr #comfunc global IStylusPlugin_RealTimeStylusDisabled 4 sptr,int,sptr #comfunc global IStylusPlugin_StylusInRange 5 sptr,int,int #comfunc global IStylusPlugin_StylusOutOfRange 6 sptr,int,int #comfunc global IStylusPlugin_StylusDown 7 sptr,sptr,int,sptr,sptr #comfunc global IStylusPlugin_StylusUp 8 sptr,sptr,int,sptr,sptr #comfunc global IStylusPlugin_StylusButtonDown 9 sptr,int,sptr,sptr #comfunc global IStylusPlugin_StylusButtonUp 10 sptr,int,sptr,sptr #comfunc global IStylusPlugin_InAirPackets 11 sptr,sptr,int,int,sptr,sptr,sptr #comfunc global IStylusPlugin_Packets 12 sptr,sptr,int,int,sptr,sptr,sptr #comfunc global IStylusPlugin_CustomStylusDataAdded 13 sptr,sptr,int,sptr #comfunc global IStylusPlugin_SystemEvent 14 sptr,int,int,int,int #comfunc global IStylusPlugin_TabletAdded 15 sptr,sptr #comfunc global IStylusPlugin_TabletRemoved 16 sptr,int #comfunc global IStylusPlugin_Error 17 sptr,sptr,int,int,sptr #comfunc global IStylusPlugin_UpdateMapping 18 sptr #comfunc global IStylusPlugin_DataInterest 19 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。