IShellWindows
COMIDispatch (デュアル)✅ IDispatch を実装(デュアルインターフェース)。HSP では
comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。メソッド 11
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
| vtbl | メソッド |
|---|---|
| 7 | HRESULT get_Count(INT* Count) |
| 8 | HRESULT Item(VARIANT index, IDispatch** Folder) |
| 9 | HRESULT _NewEnum(IUnknown** ppunk) |
| 10 | HRESULT Register(IDispatch* pid, INT hwnd, ShellWindowTypeConstants swClass, INT* plCookie) |
| 11 | HRESULT RegisterPending(INT lThreadId, VARIANT* pvarloc, VARIANT* pvarlocRoot, ShellWindowTypeConstants swClass, INT* plCookie) |
| 12 | HRESULT Revoke(INT lCookie) |
| 13 | HRESULT OnNavigate(INT lCookie, VARIANT* pvarLoc) |
| 14 | HRESULT OnActivated(INT lCookie, VARIANT_BOOL fActive) |
| 15 | HRESULT FindWindowSW(VARIANT* pvarLoc, VARIANT* pvarLocRoot, ShellWindowTypeConstants swClass, INT* phwnd, ShellWindowFindWindowOptions swfwOptions, IDispatch** ppdispOut) |
| 16 | HRESULT OnCreated(INT lCookie, IUnknown* punk) |
| 17 | HRESULT ProcessAttachDetach(VARIANT_BOOL fAttach) |