activscp.idl: Added IActiveScriptParseProcedure*64 interfaces and use it on Win64.

oldstable
Jacek Caban 2009-02-09 21:11:36 +01:00 committed by Alexandre Julliard
parent 8496db4976
commit 2e29c7d516
4 changed files with 87 additions and 9 deletions

View File

@ -28,11 +28,13 @@ WINE_DEFAULT_DEBUG_CHANNEL(jscript);
#define CTXARG_T DWORDLONG
#define IActiveScriptParseVtbl IActiveScriptParse64Vtbl
#define IActiveScriptParseProcedure2Vtbl IActiveScriptParseProcedure2_64Vtbl
#else
#define CTXARG_T DWORD
#define IActiveScriptParseVtbl IActiveScriptParse32Vtbl
#define IActiveScriptParseProcedure2Vtbl IActiveScriptParseProcedure2_32Vtbl
#endif
@ -646,16 +648,16 @@ static ULONG WINAPI JScriptParseProcedure_Release(IActiveScriptParseProcedure2 *
static HRESULT WINAPI JScriptParseProcedure_ParseProcedureText(IActiveScriptParseProcedure2 *iface,
LPCOLESTR pstrCode, LPCOLESTR pstrFormalParams, LPCOLESTR pstrProcedureName,
LPCOLESTR pstrItemName, IUnknown *punkContext, LPCOLESTR pstrDelimiter,
DWORD dwSourceContextCookie, ULONG ulStartingLineNumber, DWORD dwFlags, IDispatch **ppdisp)
CTXARG_T dwSourceContextCookie, ULONG ulStartingLineNumber, DWORD dwFlags, IDispatch **ppdisp)
{
JScript *This = ASPARSEPROC_THIS(iface);
parser_ctx_t *parser_ctx;
DispatchEx *dispex;
HRESULT hres;
TRACE("(%p)->(%s %s %s %s %p %s %x %u %x %p)\n", This, debugstr_w(pstrCode), debugstr_w(pstrFormalParams),
TRACE("(%p)->(%s %s %s %s %p %s %s %u %x %p)\n", This, debugstr_w(pstrCode), debugstr_w(pstrFormalParams),
debugstr_w(pstrProcedureName), debugstr_w(pstrItemName), punkContext, debugstr_w(pstrDelimiter),
dwSourceContextCookie, ulStartingLineNumber, dwFlags, ppdisp);
wine_dbgstr_longlong(dwSourceContextCookie), ulStartingLineNumber, dwFlags, ppdisp);
if(This->thread_id != GetCurrentThreadId() || This->ctx->state == SCRIPTSTATE_CLOSED)
return E_UNEXPECTED;

View File

@ -175,7 +175,7 @@ static void release_script_engine(ScriptHost *This)
default:
if(This->parse_proc) {
IActiveScriptParseProcedure_Release(This->parse_proc);
IUnknown_Release(This->parse_proc);
This->parse_proc = NULL;
}
@ -783,7 +783,7 @@ IDispatch *script_parse_event(HTMLDocument *doc, LPCWSTR text)
if(!script_host || !script_host->parse_proc)
return NULL;
hres = IActiveScriptParseProcedure_ParseProcedureText(script_host->parse_proc, ptr, NULL, emptyW,
hres = IActiveScriptParseProcedure64_ParseProcedureText(script_host->parse_proc, ptr, NULL, emptyW,
NULL, NULL, delimiterW, 0 /* FIXME */, 0,
SCRIPTPROC_HOSTMANAGESSOURCE|SCRIPTPROC_IMPLICIT_THIS|SCRIPTPROC_IMPLICIT_PARENTS, &disp);
if(FAILED(hres)) {

View File

@ -40,11 +40,13 @@ DEFINE_GUID(CLSID_IdentityUnmarshal,0x0000001b,0x0000,0x0000,0xc0,0x00,0x00,0x00
#define CTXARG_T DWORDLONG
#define IActiveScriptParseVtbl IActiveScriptParse64Vtbl
#define IActiveScriptParseProcedure2Vtbl IActiveScriptParseProcedure2_64Vtbl
#else
#define CTXARG_T DWORD
#define IActiveScriptParseVtbl IActiveScriptParse32Vtbl
#define IActiveScriptParseProcedure2Vtbl IActiveScriptParseProcedure2_32Vtbl
#endif
@ -550,7 +552,7 @@ static ULONG WINAPI ActiveScriptParseProcedure_Release(IActiveScriptParseProcedu
static HRESULT WINAPI ActiveScriptParseProcedure_ParseProcedureText(IActiveScriptParseProcedure2 *iface,
LPCOLESTR pstrCode, LPCOLESTR pstrFormalParams, LPCOLESTR pstrProcedureName,
LPCOLESTR pstrItemName, IUnknown *punkContext, LPCOLESTR pstrDelimiter,
DWORD dwSourceContextCookie, ULONG ulStartingLineNumber, DWORD dwFlags, IDispatch **ppdisp)
CTXARG_T dwSourceContextCookie, ULONG ulStartingLineNumber, DWORD dwFlags, IDispatch **ppdisp)
{
ok(0, "unexpected call\n");
return E_NOTIMPL;

View File

@ -350,7 +350,7 @@ object,
uuid(1CFF0050-6FDD-11d0-9328-00A0C90DCAA9),
pointer_default(unique)
]
interface IActiveScriptParseProcedureOld : IUnknown
interface IActiveScriptParseProcedureOld32 : IUnknown
{
HRESULT ParseProcedureText(
[in] LPCOLESTR pstrCode,
@ -365,12 +365,40 @@ interface IActiveScriptParseProcedureOld : IUnknown
);
}
[
object,
uuid(21f57128-08c9-4638-ba12-22d15d88dc5c),
pointer_default(unique)
]
interface IActiveScriptParseProcedureOld64 : IUnknown
{
HRESULT ParseProcedureText(
[in] LPCOLESTR pstrCode,
[in] LPCOLESTR pstrFormalParams,
[in] LPCOLESTR pstrItemName,
[in] IUnknown *punkContext,
[in] LPCOLESTR pstrDelimiter,
[in] DWORDLONG dwSourceContextCookie,
[in] ULONG ulStartingLineNumber,
[in] DWORD dwFlags,
[out] IDispatch **ppdisp
);
}
cpp_quote("#ifdef _WIN64")
cpp_quote("#define IActiveScriptParseProcedureOld IActiveScriptParseProcedureOld64")
cpp_quote("#define IID_IActiveScriptParseProcedureOld IID_IActiveScriptParseProcedureOld64")
cpp_quote("#else")
cpp_quote("#define IActiveScriptParseProcedureOld IActiveScriptParseProcedureOld32")
cpp_quote("#define IID_IActiveScriptParseProcedureOld IID_IActiveScriptParseProcedureOld32")
cpp_quote("#endif")
[
object,
uuid(AA5B6A80-B834-11d0-932F-00A0C90DCAA9),
pointer_default(unique)
]
interface IActiveScriptParseProcedure : IUnknown
interface IActiveScriptParseProcedure32 : IUnknown
{
HRESULT ParseProcedureText(
[in] LPCOLESTR pstrCode,
@ -386,15 +414,61 @@ interface IActiveScriptParseProcedure : IUnknown
);
}
[
object,
uuid(c64713b6-e029-4cc5-9200-438b72890b6a),
pointer_default(unique)
]
interface IActiveScriptParseProcedure64 : IUnknown
{
HRESULT ParseProcedureText(
[in] LPCOLESTR pstrCode,
[in] LPCOLESTR pstrFormalParams,
[in] LPCOLESTR pstrProcedureName,
[in] LPCOLESTR pstrItemName,
[in] IUnknown *punkContext,
[in] LPCOLESTR pstrDelimiter,
[in] DWORDLONG dwSourceContextCookie,
[in] ULONG ulStartingLineNumber,
[in] DWORD dwFlags,
[out] IDispatch **ppdisp
);
}
cpp_quote("#ifdef _WIN64")
cpp_quote("#define IActiveScriptParseProcedure IActiveScriptParseProcedure64")
cpp_quote("#define IID_IActiveScriptParseProcedure IID_IActiveScriptParseProcedure64")
cpp_quote("#else")
cpp_quote("#define IActiveScriptParseProcedure IActiveScriptParseProcedure32")
cpp_quote("#define IID_IActiveScriptParseProcedure IID_IActiveScriptParseProcedure32")
cpp_quote("#endif")
[
object,
uuid(71ee5b20-fb04-11d1-b3a8-00a0c911e8b2),
pointer_default(unique)
]
interface IActiveScriptParseProcedure2 : IActiveScriptParseProcedure
interface IActiveScriptParseProcedure2_32 : IActiveScriptParseProcedure32
{
}
[
object,
uuid(fe7c4271-210c-448d-9f54-76dab7047b28),
pointer_default(unique)
]
interface IActiveScriptParseProcedure2_64 : IActiveScriptParseProcedure64
{
}
cpp_quote("#ifdef _WIN64")
cpp_quote("#define IActiveScriptParseProcedure2 IActiveScriptParseProcedure2_64")
cpp_quote("#define IID_IActiveScriptParseProcedure2 IID_IActiveScriptParseProcedure2_64")
cpp_quote("#else")
cpp_quote("#define IActiveScriptParseProcedure2 IActiveScriptParseProcedure2_32")
cpp_quote("#define IID_IActiveScriptParseProcedure2 IID_IActiveScriptParseProcedure2_32")
cpp_quote("#endif")
[
object,
uuid(63CDBCB0-C1B1-11d0-9336-00A0C90DCAA9),