Win32 API 日本語リファレンス
ホームSystem.Diagnostics.Debug.ActiveScript › IActiveScriptParse32

IActiveScriptParse32

COM
IIDbb1a2ae2-a4f9-11cf-8f20-00805f2cd064継承元IUnknown自前メソッド開始 vtbl3

メソッド 3

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

vtbl 3 HRESULT InitNew()
vtbl 4 HRESULT AddScriptlet(LPWSTR pstrDefaultName, LPWSTR pstrCode, LPWSTR pstrItemName, LPWSTR pstrSubItemName, LPWSTR pstrEventName, LPWSTR pstrDelimiter, DWORD dwSourceContextCookie, DWORD ulStartingLineNumber, DWORD dwFlags, LPWSTR* pbstrName, EXCEPINFO* pexcepinfo)
pstrDefaultNameLPWSTRinホストがスクリプトレットに付ける既定の名前を指定する。エンジンが名前を生成する場合は NULL でよい。
pstrCodeLPWSTRin追加するスクリプトレットのソースコードを指定する。
pstrItemNameLPWSTRinスクリプトレットが関連付けられるアイテムの名前を指定する。
pstrSubItemNameLPWSTRinスクリプトレットが関連付けられるサブオブジェクトの名前を指定する。不要なら NULL でよい。
pstrEventNameLPWSTRinスクリプトレットがハンドルするイベントの名前を指定する。
pstrDelimiterLPWSTRinソースコードの終端を示す区切り文字列を指定する。不要なら NULL でよい。
dwSourceContextCookieDWORDinデバッグ時にこのソースを識別するためのアプリケーション定義クッキーを指定する。
ulStartingLineNumberDWORDinソースコードの開始行番号(0 起算)を指定する。
dwFlagsDWORDinスクリプトレットの解釈方法を制御する SCRIPTTEXT フラグを指定する。
pbstrNameLPWSTR*outエンジンが割り当てたスクリプトレットの実際の名前(BSTR)を受け取る。
pexcepinfoEXCEPINFO*out解析中に発生した例外の情報を受け取る EXCEPINFO 構造体へのポインタである。
vtbl 5 HRESULT ParseScriptText(LPWSTR pstrCode, LPWSTR pstrItemName, IUnknown* punkContext, LPWSTR pstrDelimiter, DWORD dwSourceContextCookie, DWORD ulStartingLineNumber, DWORD dwFlags, VARIANT* pvarResult, EXCEPINFO* pexcepinfo)
pstrCodeLPWSTRin解析および実行するスクリプトテキストを指定する。
pstrItemNameLPWSTRinコードのコンテキストとなるアイテムの名前を指定する。不要なら NULL でよい。
punkContextIUnknown*inデバッグなどに使用するコンテキストオブジェクトの IUnknown へのポインタである。不要なら NULL でよい。
pstrDelimiterLPWSTRinソースコードの終端を示す区切り文字列を指定する。不要なら NULL でよい。
dwSourceContextCookieDWORDinデバッグ時にこのソースを識別するためのアプリケーション定義クッキーを指定する。
ulStartingLineNumberDWORDinソースコードの開始行番号(0 起算)を指定する。
dwFlagsDWORDinコードの解析・実行方法を制御する SCRIPTTEXT フラグを指定する。
pvarResultVARIANT*out式として評価された場合の結果値を受け取る VARIANT へのポインタである。結果が不要なら NULL でよい。
pexcepinfoEXCEPINFO*out解析中に発生した例外の情報を受け取る EXCEPINFO 構造体へのポインタである。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IActiveScriptParse32 "{BB1A2AE2-A4F9-11CF-8F20-00805F2CD064}"
#usecom global IActiveScriptParse32 IID_IActiveScriptParse32 "{}"
#comfunc global IActiveScriptParse32_InitNew          3
#comfunc global IActiveScriptParse32_AddScriptlet     4 wstr,wstr,wstr,wstr,wstr,wstr,int,int,int,var,var
#comfunc global IActiveScriptParse32_ParseScriptText  5 wstr,wstr,sptr,wstr,int,int,int,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。