Win32 API 日本語リファレンス
ホームUI.TextServices › IAccClientDocMgr

IAccClientDocMgr

COM
IID4c896039-7b6d-49e6-a8c1-45116a98292b継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

クライアントアプリケーションがドキュメントを取得するためのメソッドを公開します。

メソッド 4

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

vtbl 3 HRESULT GetDocuments(IEnumUnknown** enumUnknown)

クライアントは IAccClientDocMgr::GetDocuments を呼び出して、Microsoft Active Accessibility ランタイムに登録されているすべてのドキュメントの一覧を取得します。

enumUnknownIEnumUnknown**outドキュメントのインターフェイスポインターの一覧です。

戻り値

型: HRESULT

成功した場合は S_OK を返します。

解説(Remarks)

サーバーがドキュメントを受け取るまでに、このメソッドを複数回ポーリングする必要がある場合があります。ドキュメントがシステム上に現れてから、ドキュメントサービスに登録されるまでには、わずかな時間差(およそ 1 秒)が生じることがあります。

vtbl 4 HRESULT LookupByHWND(HWND hWnd, GUID* riid, IUnknown** ppunk)

クライアントは IAccClientDocMgr::LookupByHWND を呼び出し、ドキュメントの HWND を指定することでそのドキュメントを取得します。

hWndHWNDin返されるドキュメントの HWND です。
riidGUID*in要求するドキュメントの IID です。通常は IID_ITextStoreAnchor です。
ppunkIUnknown**out要求したドキュメントへのインターフェイスポインターです。

戻り値

型: HRESULT

成功した場合は S_OK を返します。

失敗した場合は、次の値または他の標準的な COM エラーコードを返します。

エラー 説明
E_FAIL
指定した HWND がアクティブなドキュメントに対応していない場合、ppunkNULL になります。

解説(Remarks)

サーバーがドキュメントを受け取るまでに、このメソッドを複数回ポーリングする必要がある場合があります。ドキュメントがシステム上に現れてから、ドキュメントサービスに登録されるまでには、わずかな時間差(およそ 1 秒)が生じることがあります。

vtbl 5 HRESULT LookupByPoint(POINT pt, GUID* riid, IUnknown** ppunk)

クライアントは IAccClientDocMgr::LookupByPoint を呼び出し、ドキュメント内の座標からドキュメントオブジェクトを取得します。

ptPOINTin返されるドキュメントの境界矩形の内側にある座標です。
riidGUID*in要求するドキュメントの IID です。通常は IID_ITextStoreAnchor です。
ppunkIUnknown**out要求したドキュメントへのインターフェイスポインターです。

戻り値

型: HRESULT

成功した場合は S_OK を返します。

失敗した場合は、次の値または他の標準的な COM エラーコードを返します。

エラー 説明
E_FAIL
pt の値がアクティブなドキュメントの境界矩形の内側に収まらない場合、ppunkNULL になります。

解説(Remarks)

サーバーがドキュメントを受け取るまでに、このメソッドを複数回ポーリングする必要がある場合があります。ドキュメントがシステム上に現れてから、ドキュメントサービスに登録されるまでには、わずかな時間差(およそ 1 秒)が生じることがあります。

vtbl 6 HRESULT GetFocused(GUID* riid, IUnknown** ppunk)

クライアントは IAccClientDocMgr::GetFocused メソッドを呼び出して、フォーカスを持つドキュメントへのポインターを取得します。

riidGUID*in要求するドキュメントの IID です。通常は IID_ITextStoreAnchor です。
ppunkIUnknown**out要求したドキュメントへのインターフェイスポインターです。

戻り値

型: HRESULT

成功した場合は S_OK を返します。

解説(Remarks)

フォーカスを持つウィンドウが ITextStoreACP インターフェイスを実装したドキュメントでない場合、ppunkNULL になります。

サーバーがドキュメントを受け取るまでに、このメソッドを複数回ポーリングする必要がある場合があります。ドキュメントがシステム上に現れてから、ドキュメントサービスに登録されるまでには、わずかな時間差(およそ 1 秒)が生じることがあります。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IAccClientDocMgr "{4C896039-7B6D-49E6-A8C1-45116A98292B}"
#usecom global IAccClientDocMgr IID_IAccClientDocMgr "{FC48CC30-4F3E-4FA1-803B-AD0E196A83B1}"
#comfunc global IAccClientDocMgr_GetDocuments   3 sptr
#comfunc global IAccClientDocMgr_LookupByHWND   4 sptr,var,sptr
#comfunc global IAccClientDocMgr_LookupByPoint  5 int,var,sptr
#comfunc global IAccClientDocMgr_GetFocused     6 var,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。