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

IExpDispSupport

COM
IID0d7d1d00-6fc0-11d0-a974-00c04fd705a2継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

非推奨。プロパティの取得、キーボードアクセラレータの変換、および特定のイベントに対する接続点の判別を可能にするメソッドを公開します。(IExpDispSupport)

解説(Remarks)

注意 IExpDispSupport は、Windows XP より後のバージョンの Windows ではサポートされない場合があります。

メソッド 3

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

vtbl 3 HRESULT FindConnectionPoint(GUID* riid, IConnectionPoint** ppccp)

非推奨。ブラウザーイベントの接続点を取得します。

riidGUID*in

接続点オブジェクトが要求されている、接続点コンテナー上のインターフェイスの IID。次のいずれかの値です。

DIID_DWebBrowserEvents

DWebBrowserEvents インターフェイスのメンバーを示す値です。

DIID_DWebBrowserEvents2

DWebBrowserEvents2 インターフェイスのメンバーを示す値です。

IID_IPropertyNotifySink

IPropertyNotifySink インターフェイスのメンバーを示す値です。

ppccpIConnectionPoint**outブラウザー接続点へのポインターのアドレスです。

戻り値

型: HRESULT

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

解説(Remarks)

IExpDispSupport::FindCIE4ConnectionPoint は、Windows Internet Explorer 4.0 で使用するために特別に作成されました。

vtbl 4 HRESULT OnTranslateAccelerator(MSG* pMsg, DWORD grfModifiers)

非推奨。pMsg で記述され、grfModifiers のフラグによって修飾されたキーストロークを処理するようコントロールサイトに指示します。

pMsgMSG*in処理するキーストロークを記述する MSG 構造体へのポインターです。
grfModifiersDWORDinCTRL、ALT、SHIFT キーの状態を記述するフラグです。フラグの値には、任意の有効な KEYMODIFIERS 列挙値を指定できます。

戻り値

型: HRESULT

コンテナーがメッセージを処理した場合は S_OK を、コンテナーがメッセージを処理しなかった場合は S_FALSE を、コンテナーがアクセラレータサポートを実装していない場合は E_NOTIMPL を返します。

vtbl 5 HRESULT OnInvoke(INT dispidMember, GUID* iid, DWORD lcid, WORD wFlags, DISPPARAMS* pdispparams, VARIANT* pVarResult, EXCEPINFO* pexcepinfo, DWORD* puArgErr)

非推奨。アンビエントプロパティを取得します。

dispidMemberINTin呼び出されるメンバーを識別するディスパッチ ID です。
iidGUID*in予約済み。IID_NULL である必要があります。
lcidDWORDin引数を解釈するロケールコンテキストを提供するロケール ID です。複数の言語をサポートしないアプリケーションは、このパラメーターを無視できます。
wFlagsWORDin

呼び出しのコンテキストを記述するフラグで、次のものが含まれます。

DISPATCH_METHOD

メンバーはメソッドとして呼び出されます。同じ名前のプロパティが存在する場合は、このフラグと DISPATCH_PROPERTYGET フラグの両方が設定される場合があります。メンバーはメソッドとして呼び出されます。同じ名前のプロパティが存在する場合は、このフラグと DISPATCH_PROPERTYGET フラグの両方が設定される場合があります。

DISPATCH_PROPERTYGET

メンバーはプロパティまたはデータメンバーとして取得されます。

DISPATCH_PROPERTYPUT

メンバーはプロパティまたはデータメンバーとして変更されます。

DISPATCH_PROPERTYPUTREF

メンバーは値の代入ではなく参照の代入によって変更されます。このフラグは、プロパティがオブジェクトへの参照を受け入れる場合にのみ有効です。

pdispparamsDISPPARAMS*in引数の配列、名前付き引数の引数 DISPID の配列、および配列内の要素数のカウントを含む DISPPARAMS 構造体へのポインターです。
pVarResultVARIANT*out結果を格納する場所へのポインター、または呼び出し元が結果を期待しない場合は NULL です。DISPATCH_PROPERTYPUT または DISPATCH_PROPERTYPUTREF が指定されている場合、この引数は無視されます。
pexcepinfoEXCEPINFO*out例外情報を含む構造体へのポインターです。この構造体は、DISP_E_EXCEPTION が返される場合に設定する必要があります。NULL を指定できます。
puArgErrDWORD*out最初にエラーが発生した引数の、DISPPARAMS 構造体の rgvarg メンバー内でのインデックスです。引数は rgvarg に逆順で格納されるため、最初の引数は配列内で最も大きいインデックスを持つものになります。このパラメーターは、結果として返される戻り値が DISP_E_TYPEMISMATCH または DISP_E_PARAMNOTFOUND の場合にのみ返されます。この引数は NULL に設定できます。

戻り値

型: HRESULT

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

解説(Remarks)

詳細については、IDispatch::Invoke を参照してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IExpDispSupport "{0D7D1D00-6FC0-11D0-A974-00C04FD705A2}"
#usecom global IExpDispSupport IID_IExpDispSupport "{}"
#comfunc global IExpDispSupport_FindConnectionPoint     3 var,sptr
#comfunc global IExpDispSupport_OnTranslateAccelerator  4 var,int
#comfunc global IExpDispSupport_OnInvoke                5 int,var,int,int,var,var,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。