ホーム › UI.TextServices › ITextStoreACP
ITextStoreACP
COMメソッド 26
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| riid | GUID* | in | 登録するシンクのインターフェイス識別子(IID)へのポインタである。 |
| punk | IUnknown* | in | 通知を受け取るシンクオブジェクトの IUnknown へのポインタである。 |
| dwMask | DWORD | in | 通知を受け取るイベントの種類を示すマスクを指定する。 |
| punk | IUnknown* | in | 登録解除するシンクオブジェクトの IUnknown へのポインタである。 |
| dwLockFlags | DWORD | in | 要求するロックの種類(読み取り/読み書き等)を示すフラグを指定する。 |
| phrSession | HRESULT* | out | ロックが付与されて実行されたセッションの結果 HRESULT を受け取る出力ポインタである。 |
| pdcs | TS_STATUS* | out | ドキュメントの状態(読み取り専用かどうか等)を表す TS_STATUS を受け取る出力ポインタである。 |
vtbl 7 HRESULT QueryInsert(INT acpTestStart, INT acpTestEnd, DWORD cch, INT* pacpResultStart, INT* pacpResultEnd)
| acpTestStart | INT | in | 挿入を検証する範囲の開始文字位置(ACP)を指定する。 |
| acpTestEnd | INT | in | 挿入を検証する範囲の終了文字位置(ACP)を指定する。 |
| cch | DWORD | in | 挿入予定のテキストの文字数を指定する。 |
| pacpResultStart | INT* | out | 実際に置換される範囲の開始位置を受け取る出力ポインタである。 |
| pacpResultEnd | INT* | out | 実際に置換される範囲の終了位置を受け取る出力ポインタである。 |
vtbl 8 HRESULT GetSelection(DWORD ulIndex, DWORD ulCount, TS_SELECTION_ACP* pSelection, DWORD* pcFetched)
| ulIndex | DWORD | in | 取得を開始する選択範囲のインデックスを指定する。TS_DEFAULT_SELECTION で既定の選択を指す。 |
| ulCount | DWORD | in | 取得する選択範囲の数を指定する。 |
| pSelection | TS_SELECTION_ACP* | out | 取得した選択範囲を格納する TS_SELECTION_ACP 配列へのポインタである。 |
| pcFetched | DWORD* | out | 実際に取得された選択範囲の数を受け取る出力ポインタである。 |
vtbl 9 HRESULT SetSelection(DWORD ulCount, TS_SELECTION_ACP* pSelection)
| ulCount | DWORD | in | 設定する選択範囲の数を指定する。 |
| pSelection | TS_SELECTION_ACP* | in | 設定する選択範囲を格納した TS_SELECTION_ACP 配列へのポインタである。 |
vtbl 10 HRESULT GetText(INT acpStart, INT acpEnd, LPWSTR pchPlain, DWORD cchPlainReq, DWORD* pcchPlainRet, TS_RUNINFO* prgRunInfo, DWORD cRunInfoReq, DWORD* pcRunInfoRet, INT* pacpNext)
| acpStart | INT | in | 取得するテキスト範囲の開始文字位置(ACP)を指定する。 |
| acpEnd | INT | in | 取得するテキスト範囲の終了文字位置(ACP)を指定する。-1 は文書末尾を意味する。 |
| pchPlain | LPWSTR | out | 取得したプレーンテキストを受け取るバッファへのポインタである。 |
| cchPlainReq | DWORD | in | プレーンテキストバッファに格納できる最大文字数を指定する。 |
| pcchPlainRet | DWORD* | out | 実際に格納されたプレーンテキストの文字数を受け取る出力ポインタである。 |
| prgRunInfo | TS_RUNINFO* | out | テキストとその他要素の構成を記述する TS_RUNINFO 配列を受け取る出力ポインタである。 |
| cRunInfoReq | DWORD | in | ラン情報バッファに格納できる最大要素数を指定する。 |
| pcRunInfoRet | DWORD* | out | 実際に格納されたラン情報の要素数を受け取る出力ポインタである。 |
| pacpNext | INT* | out | 次の取得を開始すべき文字位置を受け取る出力ポインタである。 |
vtbl 11 HRESULT SetText(DWORD dwFlags, INT acpStart, INT acpEnd, LPWSTR pchText, DWORD cch, TS_TEXTCHANGE* pChange)
| dwFlags | DWORD | in | テキスト設定の動作を制御するフラグを指定する。 |
| acpStart | INT | in | 置換するテキスト範囲の開始文字位置(ACP)を指定する。 |
| acpEnd | INT | in | 置換するテキスト範囲の終了文字位置(ACP)を指定する。 |
| pchText | LPWSTR | in | 設定するテキスト文字列へのポインタである。 |
| cch | DWORD | in | 設定するテキストの文字数を指定する。 |
| pChange | TS_TEXTCHANGE* | out | テキスト変更の内容を記述する TS_TEXTCHANGE を受け取る出力ポインタである。 |
vtbl 12 HRESULT GetFormattedText(INT acpStart, INT acpEnd, IDataObject** ppDataObject)
| acpStart | INT | in | 取得する書式付きテキスト範囲の開始文字位置(ACP)を指定する。 |
| acpEnd | INT | in | 取得する書式付きテキスト範囲の終了文字位置(ACP)を指定する。 |
| ppDataObject | IDataObject** | out | 書式付きテキストを保持する IDataObject へのポインタを受け取る出力ポインタである。 |
| acpPos | INT | in | 取得する埋め込みオブジェクトの文字位置(ACP)を指定する。 |
| rguidService | GUID* | in | 要求するサービスを識別する GUID へのポインタである。 |
| riid | GUID* | in | 要求するインターフェイスの識別子(IID)へのポインタである。 |
| ppunk | IUnknown** | out | 取得した埋め込みオブジェクトへのインターフェイスポインタを受け取る出力ポインタである。 |
| pguidService | GUID* | in | 挿入可能性を問い合わせるサービスを識別する GUID へのポインタである。 |
| pFormatEtc | FORMATETC* | in | 埋め込みデータの形式を記述する FORMATETC へのポインタである。 |
| pfInsertable | BOOL* | out | 指定形式の埋め込みオブジェクトを挿入できるかどうかを受け取る出力ポインタである。 |
vtbl 15 HRESULT InsertEmbedded(DWORD dwFlags, INT acpStart, INT acpEnd, IDataObject* pDataObject, TS_TEXTCHANGE* pChange)
| dwFlags | DWORD | in | 埋め込みオブジェクト挿入の動作を制御するフラグを指定する。 |
| acpStart | INT | in | 挿入(置換)範囲の開始文字位置(ACP)を指定する。 |
| acpEnd | INT | in | 挿入(置換)範囲の終了文字位置(ACP)を指定する。 |
| pDataObject | IDataObject* | in | 挿入する埋め込みデータを保持する IDataObject へのポインタである。 |
| pChange | TS_TEXTCHANGE* | out | テキスト変更の内容を記述する TS_TEXTCHANGE を受け取る出力ポインタである。 |
vtbl 16 HRESULT InsertTextAtSelection(DWORD dwFlags, LPWSTR pchText, DWORD cch, INT* pacpStart, INT* pacpEnd, TS_TEXTCHANGE* pChange)
| dwFlags | DWORD | in | 選択位置へのテキスト挿入動作を制御するフラグを指定する。 |
| pchText | LPWSTR | in | 挿入するテキスト文字列へのポインタである。 |
| cch | DWORD | in | 挿入するテキストの文字数を指定する。 |
| pacpStart | INT* | out | 挿入後のテキスト範囲の開始文字位置を受け取る出力ポインタである。 |
| pacpEnd | INT* | out | 挿入後のテキスト範囲の終了文字位置を受け取る出力ポインタである。 |
| pChange | TS_TEXTCHANGE* | out | テキスト変更の内容を記述する TS_TEXTCHANGE を受け取る出力ポインタである。 |
vtbl 17 HRESULT InsertEmbeddedAtSelection(DWORD dwFlags, IDataObject* pDataObject, INT* pacpStart, INT* pacpEnd, TS_TEXTCHANGE* pChange)
| dwFlags | DWORD | in | 選択位置への埋め込みオブジェクト挿入動作を制御するフラグを指定する。 |
| pDataObject | IDataObject* | in | 挿入する埋め込みデータを保持する IDataObject へのポインタである。 |
| pacpStart | INT* | out | 挿入後のテキスト範囲の開始文字位置を受け取る出力ポインタである。 |
| pacpEnd | INT* | out | 挿入後のテキスト範囲の終了文字位置を受け取る出力ポインタである。 |
| pChange | TS_TEXTCHANGE* | out | テキスト変更の内容を記述する TS_TEXTCHANGE を受け取る出力ポインタである。 |
| dwFlags | DWORD | in | 属性要求の動作を制御するフラグを指定する。 |
| cFilterAttrs | DWORD | in | フィルタとして指定する属性の数を指定する。 |
| paFilterAttrs | GUID* | in | 対象とする属性を識別する GUID 配列へのポインタである。 |
vtbl 19 HRESULT RequestAttrsAtPosition(INT acpPos, DWORD cFilterAttrs, GUID* paFilterAttrs, DWORD dwFlags)
| acpPos | INT | in | 属性を要求する文字位置(ACP)を指定する。 |
| cFilterAttrs | DWORD | in | フィルタとして指定する属性の数を指定する。 |
| paFilterAttrs | GUID* | in | 対象とする属性を識別する GUID 配列へのポインタである。 |
| dwFlags | DWORD | in | 属性要求の動作を制御するフラグを指定する。 |
vtbl 20 HRESULT RequestAttrsTransitioningAtPosition(INT acpPos, DWORD cFilterAttrs, GUID* paFilterAttrs, DWORD dwFlags)
| acpPos | INT | in | 属性の遷移を要求する文字位置(ACP)を指定する。 |
| cFilterAttrs | DWORD | in | フィルタとして指定する属性の数を指定する。 |
| paFilterAttrs | GUID* | in | 対象とする属性を識別する GUID 配列へのポインタである。 |
| dwFlags | DWORD | in | 遷移属性要求の動作を制御するフラグを指定する。 |
vtbl 21 HRESULT FindNextAttrTransition(INT acpStart, INT acpHalt, DWORD cFilterAttrs, GUID* paFilterAttrs, DWORD dwFlags, INT* pacpNext, BOOL* pfFound, INT* plFoundOffset)
| acpStart | INT | in | 属性遷移の探索を開始する文字位置(ACP)を指定する。 |
| acpHalt | INT | in | 属性遷移の探索を打ち切る文字位置(ACP)を指定する。 |
| cFilterAttrs | DWORD | in | フィルタとして指定する属性の数を指定する。 |
| paFilterAttrs | GUID* | in | 対象とする属性を識別する GUID 配列へのポインタである。 |
| dwFlags | DWORD | in | 探索方向などの動作を制御するフラグを指定する。 |
| pacpNext | INT* | out | 次の属性遷移が見つかった文字位置を受け取る出力ポインタである。 |
| pfFound | BOOL* | out | 属性遷移が見つかったかどうかを受け取る出力ポインタである。 |
| plFoundOffset | INT* | out | 見つかった遷移位置のオフセットを受け取る出力ポインタである。 |
vtbl 22 HRESULT RetrieveRequestedAttrs(DWORD ulCount, TS_ATTRVAL* paAttrVals, DWORD* pcFetched)
| ulCount | DWORD | in | 取得する属性値の数を指定する。 |
| paAttrVals | TS_ATTRVAL* | out | 取得した属性値を格納する TS_ATTRVAL 配列へのポインタである。 |
| pcFetched | DWORD* | out | 実際に取得された属性値の数を受け取る出力ポインタである。 |
| pacp | INT* | out | 文書末尾の文字位置(ACP)を受け取る出力ポインタである。 |
| pvcView | DWORD* | out | 現在アクティブなビューの識別子(View Cookie)を受け取る出力ポインタである。 |
| vcView | DWORD | in | 対象ビューの識別子(View Cookie)を指定する。 |
| ptScreen | POINT* | in | 文字位置に変換する画面座標上の点を指す POINT へのポインタである。 |
| dwFlags | DWORD | in | 座標から文字位置への変換動作を制御するフラグを指定する。 |
| pacp | INT* | out | 指定点に対応する文字位置(ACP)を受け取る出力ポインタである。 |
| vcView | DWORD | in | 対象ビューの識別子(View Cookie)を指定する。 |
| acpStart | INT | in | 範囲の境界を取得するテキストの開始文字位置(ACP)を指定する。 |
| acpEnd | INT | in | 範囲の境界を取得するテキストの終了文字位置(ACP)を指定する。 |
| prc | RECT* | out | 指定テキスト範囲の境界矩形(画面座標)を受け取る出力ポインタである。 |
| pfClipped | BOOL* | out | 矩形がクリッピングされたかどうかを受け取る出力ポインタである。 |
| vcView | DWORD | in | 対象ビューの識別子(View Cookie)を指定する。 |
| prc | RECT* | out | テキスト表示領域全体の境界矩形(画面座標)を受け取る出力ポインタである。 |
| vcView | DWORD | in | 対象ビューの識別子(View Cookie)を指定する。 |
| phwnd | HWND* | out | ビューに関連付けられたウィンドウのハンドルを受け取る出力ポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ITextStoreACP "{28888FE3-C2A0-483A-A3EA-8CB1CE51FF3D}" #usecom global ITextStoreACP IID_ITextStoreACP "{}" #comfunc global ITextStoreACP_AdviseSink 3 var,sptr,int #comfunc global ITextStoreACP_UnadviseSink 4 sptr #comfunc global ITextStoreACP_RequestLock 5 int,var #comfunc global ITextStoreACP_GetStatus 6 var #comfunc global ITextStoreACP_QueryInsert 7 int,int,int,var,var #comfunc global ITextStoreACP_GetSelection 8 int,int,var,var #comfunc global ITextStoreACP_SetSelection 9 int,var #comfunc global ITextStoreACP_GetText 10 int,int,var,int,var,var,int,var,var #comfunc global ITextStoreACP_SetText 11 int,int,int,wstr,int,var #comfunc global ITextStoreACP_GetFormattedText 12 int,int,sptr #comfunc global ITextStoreACP_GetEmbedded 13 int,var,var,sptr #comfunc global ITextStoreACP_QueryInsertEmbedded 14 var,var,var #comfunc global ITextStoreACP_InsertEmbedded 15 int,int,int,sptr,var #comfunc global ITextStoreACP_InsertTextAtSelection 16 int,wstr,int,var,var,var #comfunc global ITextStoreACP_InsertEmbeddedAtSelection 17 int,sptr,var,var,var #comfunc global ITextStoreACP_RequestSupportedAttrs 18 int,int,var #comfunc global ITextStoreACP_RequestAttrsAtPosition 19 int,int,var,int #comfunc global ITextStoreACP_RequestAttrsTransitioningAtPosition 20 int,int,var,int #comfunc global ITextStoreACP_FindNextAttrTransition 21 int,int,int,var,int,var,var,var #comfunc global ITextStoreACP_RetrieveRequestedAttrs 22 int,var,var #comfunc global ITextStoreACP_GetEndACP 23 var #comfunc global ITextStoreACP_GetActiveView 24 var #comfunc global ITextStoreACP_GetACPFromPoint 25 int,var,int,var #comfunc global ITextStoreACP_GetTextExt 26 int,int,int,var,var #comfunc global ITextStoreACP_GetScreenExt 27 int,var #comfunc global ITextStoreACP_GetWnd 28 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ITextStoreACP "{28888FE3-C2A0-483A-A3EA-8CB1CE51FF3D}" #usecom global ITextStoreACP IID_ITextStoreACP "{}" #comfunc global ITextStoreACP_AdviseSink 3 sptr,sptr,int #comfunc global ITextStoreACP_UnadviseSink 4 sptr #comfunc global ITextStoreACP_RequestLock 5 int,sptr #comfunc global ITextStoreACP_GetStatus 6 sptr #comfunc global ITextStoreACP_QueryInsert 7 int,int,int,sptr,sptr #comfunc global ITextStoreACP_GetSelection 8 int,int,sptr,sptr #comfunc global ITextStoreACP_SetSelection 9 int,sptr #comfunc global ITextStoreACP_GetText 10 int,int,sptr,int,sptr,sptr,int,sptr,sptr #comfunc global ITextStoreACP_SetText 11 int,int,int,wstr,int,sptr #comfunc global ITextStoreACP_GetFormattedText 12 int,int,sptr #comfunc global ITextStoreACP_GetEmbedded 13 int,sptr,sptr,sptr #comfunc global ITextStoreACP_QueryInsertEmbedded 14 sptr,sptr,sptr #comfunc global ITextStoreACP_InsertEmbedded 15 int,int,int,sptr,sptr #comfunc global ITextStoreACP_InsertTextAtSelection 16 int,wstr,int,sptr,sptr,sptr #comfunc global ITextStoreACP_InsertEmbeddedAtSelection 17 int,sptr,sptr,sptr,sptr #comfunc global ITextStoreACP_RequestSupportedAttrs 18 int,int,sptr #comfunc global ITextStoreACP_RequestAttrsAtPosition 19 int,int,sptr,int #comfunc global ITextStoreACP_RequestAttrsTransitioningAtPosition 20 int,int,sptr,int #comfunc global ITextStoreACP_FindNextAttrTransition 21 int,int,int,sptr,int,sptr,sptr,sptr #comfunc global ITextStoreACP_RetrieveRequestedAttrs 22 int,sptr,sptr #comfunc global ITextStoreACP_GetEndACP 23 sptr #comfunc global ITextStoreACP_GetActiveView 24 sptr #comfunc global ITextStoreACP_GetACPFromPoint 25 int,sptr,int,sptr #comfunc global ITextStoreACP_GetTextExt 26 int,int,int,sptr,sptr #comfunc global ITextStoreACP_GetScreenExt 27 int,sptr #comfunc global ITextStoreACP_GetWnd 28 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。