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

IRawElementProviderSimple3

COM
IIDfcf5d820-d7ec-4613-bdf6-42a84ce7daaf継承元IRawElementProviderSimple2自前メソッド開始 vtbl8

公式ドキュメント

IRawElementProviderSimple2 インターフェースを拡張し、支援技術が優先されるコンテンツの種類をどのように読み上げるべきかに関するメタデータを取得できるようにします。

解説(Remarks)

ナレーターのようなスクリーンリーダー系のアクセシビリティツールは、音声合成を使用してアプリが表示している内容を読み上げます。音声合成は通常、コンテンツの説明に基づいて提供されたコンテンツを適切に読み上げます。

しかし、優先されるコンテンツの種類を説明する際には、音声合成に何らかの補助があると役立つ場合があります。SayAs コマンドは、UI Automation のコア API を通じて、Microsoft UI Automation プロバイダーから UI Automation クライアント(スクリーンリーダーなど)へ正確なコンテンツの読み上げを提供します。

例:

メソッド 1

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

vtbl 8 HRESULT GetMetadataValue(INT targetId, UIA_METADATA_ID metadataId, VARIANT* returnVal)

情報をどのように解釈すべきかを示すメタデータを UI Automation 要素から取得します。(IRawElementProviderSimple3.GetMetadataValue)

targetIdINTin取得するプロパティの ID。
metadataIdUIA_METADATA_IDin取得するメタデータの種類を指定します。
returnValVARIANT*outメタデータ。

戻り値

成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IRawElementProviderSimple3 "{FCF5D820-D7EC-4613-BDF6-42A84CE7DAAF}"
#usecom global IRawElementProviderSimple3 IID_IRawElementProviderSimple3 "{}"
#comfunc global IRawElementProviderSimple3_GetMetadataValue  8 int,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。