ホーム › System.Search › ISearchProtocol
ISearchProtocol
COMメソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT Init(TIMEOUT_INFO* pTimeoutInfo, IProtocolHandlerSite* pProtocolHandlerSite, PROXY_INFO* pProxyInfo)
| pTimeoutInfo | TIMEOUT_INFO* | in | 処理に適用するタイムアウト設定を記述する TIMEOUT_INFO へのポインタである。 |
| pProtocolHandlerSite | IProtocolHandlerSite* | in | プロトコルハンドラーのサイトサービスを提供する IProtocolHandlerSite へのポインタである。 |
| pProxyInfo | PROXY_INFO* | in | 接続に使用するプロキシ設定を記述する PROXY_INFO へのポインタである。 |
vtbl 4 HRESULT CreateAccessor(LPWSTR pcwszURL, AUTHENTICATION_INFO* pAuthenticationInfo, INCREMENTAL_ACCESS_INFO* pIncrementalAccessInfo, ITEM_INFO* pItemInfo, IUrlAccessor** ppAccessor)
| pcwszURL | LPWSTR | in | アクセサーを作成する対象の URL 文字列を指定する。 |
| pAuthenticationInfo | AUTHENTICATION_INFO* | in | アクセスに使用する認証情報を記述する AUTHENTICATION_INFO へのポインタである。 |
| pIncrementalAccessInfo | INCREMENTAL_ACCESS_INFO* | in | 増分アクセスに使用する情報を記述する INCREMENTAL_ACCESS_INFO へのポインタである。 |
| pItemInfo | ITEM_INFO* | in | 対象アイテムに関する情報を記述する ITEM_INFO へのポインタである。 |
| ppAccessor | IUrlAccessor** | out | 作成された IUrlAccessor を受け取る出力ポインタである。 |
vtbl 5 HRESULT CloseAccessor(IUrlAccessor* pAccessor)
| pAccessor | IUrlAccessor* | in | 閉じる対象の IUrlAccessor へのポインタである。 |
vtbl 6 HRESULT ShutDown()
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ISearchProtocol "{C73106BA-AC80-11D1-8DF3-00C04FB6EF4F}" #usecom global ISearchProtocol IID_ISearchProtocol "{}" #comfunc global ISearchProtocol_Init 3 var,sptr,var #comfunc global ISearchProtocol_CreateAccessor 4 wstr,var,var,var,sptr #comfunc global ISearchProtocol_CloseAccessor 5 sptr #comfunc global ISearchProtocol_ShutDown 6 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ISearchProtocol "{C73106BA-AC80-11D1-8DF3-00C04FB6EF4F}" #usecom global ISearchProtocol IID_ISearchProtocol "{}" #comfunc global ISearchProtocol_Init 3 sptr,sptr,sptr #comfunc global ISearchProtocol_CreateAccessor 4 wstr,sptr,sptr,sptr,sptr #comfunc global ISearchProtocol_CloseAccessor 5 sptr #comfunc global ISearchProtocol_ShutDown 6 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。