LPFNACCESSIBLEOBJECTFROMWINDOW
コールバックシグネチャ
HRESULT LPFNACCESSIBLEOBJECTFROMWINDOW(
HWND hwnd,
DWORD dwId,
GUID* riid,
void** ppvObject
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| hwnd | HWND | オブジェクトを取得する対象のウィンドウのハンドルを指定します。カーソルまたはキャレットのオブジェクトへのインターフェイスポインターを取得するには、NULL を指定し、dwObjectID に適切なオブジェクト ID を使用します。 |
| dwId | DWORD | オブジェクト ID を指定します。この値は、標準のオブジェクト識別子定数のいずれか、または Office のネイティブオブジェクトモデルのオブジェクト ID である OBJID_NATIVEOM のようなカスタムオブジェクト ID です。OBJID_NATIVEOM の詳細については、このトピックの「解説」セクションを参照してください。 |
| riid | GUID* | 要求するインターフェイスの参照識別子を指定します。この値は IID_IAccessible または IID_IDispatch ですが、IID_IUnknown や、そのオブジェクトがサポートすると想定される任意のインターフェイスの IID を指定することもできます。 |
| ppvObject | void** | 指定されたインターフェイスのアドレスを受け取るポインター変数のアドレスです。 |
公式ドキュメント
指定されたウィンドウに関連付けられたオブジェクトについて、指定されたインターフェイスのアドレスを取得します。
戻り値
型: STDAPI
成功した場合は S_OK を返します。
失敗した場合は、次のいずれか、またはその他の標準の COM エラーコードを返します。
| 戻り値 | 説明 |
|---|---|
| 引数が有効ではありません。 | |
| 要求されたインターフェイスはサポートされていません。 |
解説(Remarks)
クライアントは、オブジェクトの IAccessible、IDispatch、IEnumVARIANT、IUnknown、またはその他のサポートされるインターフェイスへのポインターのアドレスを取得するために、この関数を呼び出します。
他の IAccessible のメソッドや関数と同様に、ユーザーの操作が原因で、IAccessible インターフェイスポインターについてエラーがクライアントに返されることがあります。詳細については、Receiving Errors for IAccessible Interface Pointers を参照してください。
クライアントは、Microsoft Office 2000 のネイティブオブジェクトモデルにアクセスするためにこの関数を使用します。ネイティブオブジェクトモデルは、Microsoft Active Accessibility では公開されない、Office アプリケーションのドキュメントやクライアント領域に関するアクセシビリティ情報をクライアントに提供します。
ネイティブオブジェクトモデルがサポートするクラスへの IDispatch インターフェイスポインターを取得するには、dwObjectID に OBJID_NATIVEOM を指定します。このオブジェクト識別子を使用する場合、hwnd パラメーターは次のウィンドウクラスの種類と一致している必要があります。
| Office アプリケーション | ウィンドウクラス | IDispatch ポインターの取得先 |
|---|---|---|
| Word | _WwG | Window |
| Excel | EXCEL7 | Window |
| PowerPoint | paneClassDC | DocumentWindow |
| Command Bars | MsoCommandBar | CommandBar |
上記のウィンドウクラスは、最も内側のドキュメントウィンドウまたはペインウィンドウに対応する点に注意してください。Office のオブジェクトモデルの詳細については、Microsoft Office 2000/Visual Basic Programmer's Guide を参照してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)