usp10: Simplify GPOS_expand_script_cache().
[wine.git] / include / activscp.idl
blob57179cf52fa6946b7f14067096e2752fdef15c55
1 /*
2 * Copyright 2004 Kevin Koltzau
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef DO_NO_IMPORTS
20 import "ocidl.idl";
21 import "oleidl.idl";
22 import "oaidl.idl";
23 #endif
25 cpp_quote("#ifndef _NO_SCRIPT_GUIDS")
27 cpp_quote("DEFINE_GUID(CATID_ActiveScript, 0xf0b7a1a1,0x9847,0x11cf,0x8f,0x20,0x00,0x80,0x5f,0x2c,0xd0,0x64);")
28 cpp_quote("DEFINE_GUID(CATID_ActiveScriptParse, 0xf0b7a1a2,0x9847,0x11cf,0x8f,0x20,0x00,0x80,0x5f,0x2c,0xd0,0x64);")
29 cpp_quote("DEFINE_GUID(CATID_ActiveScriptEncode, 0xf0b7a1a3,0x9847,0x11cf,0x8f,0x20,0x00,0x80,0x5f,0x2c,0xd0,0x64);")
31 cpp_quote("#endif")
33 cpp_quote("#define SCRIPTPROP_NAME 0x00000000")
34 cpp_quote("#define SCRIPTPROP_MAJORVERSION 0x00000001")
35 cpp_quote("#define SCRIPTPROP_MINORVERSION 0x00000002")
36 cpp_quote("#define SCRIPTPROP_BUILDNUMBER 0x00000003")
37 cpp_quote("#define SCRIPTPROP_DELAYEDEVENTSINKING 0x00001000")
38 cpp_quote("#define SCRIPTPROP_CATCHEXCEPTION 0x00001001")
39 cpp_quote("#define SCRIPTPROP_CONVERSIONLCID 0x00001002")
40 cpp_quote("#define SCRIPTPROP_HOSTSTACKREQUIRED 0x00001003")
41 cpp_quote("#define SCRIPTPROP_DEBUGGER 0x00001100")
42 cpp_quote("#define SCRIPTPROP_JITDEBUG 0x00001101")
43 cpp_quote("#define SCRIPTPROP_INVOKEVERSIONING 0x00004000")
45 cpp_quote("#define SCRIPTPROP_HACK_FIBERSUPPORT 0x70000000")
46 cpp_quote("#define SCRIPTPROP_HACK_TRIDENTEVENTSINK 0x70000001")
47 cpp_quote("#define SCRIPTPROP_ABBREVIATE_GLOBALNAME_RESOLUTION 0x70000002")
49 typedef enum tagSCRIPTLANGUAGEVERSION {
50 SCRIPTLANGUAGEVERSION_DEFAULT = 0,
51 SCRIPTLANGUAGEVERSION_5_7 = 1,
52 SCRIPTLANGUAGEVERSION_5_8 = 2,
53 SCRIPTLANGUAGEVERSION_MAX = 255
54 } SCRIPTLANGUAGEVERSION;
56 typedef enum tagSCRIPTSTATE {
57 SCRIPTSTATE_UNINITIALIZED = 0,
58 SCRIPTSTATE_STARTED = 1,
59 SCRIPTSTATE_CONNECTED = 2,
60 SCRIPTSTATE_DISCONNECTED = 3,
61 SCRIPTSTATE_CLOSED = 4,
62 SCRIPTSTATE_INITIALIZED = 5
63 } SCRIPTSTATE;
65 typedef enum tagSCRIPTTHREADSTATE {
66 SCRIPTTHREADSTATE_NOTINSCRIPT = 0,
67 SCRIPTTHREADSTATE_RUNNING = 1
68 } SCRIPTTHREADSTATE;
70 typedef enum tagSCRIPTUICITEM {
71 SCRIPTUICITEM_INPUTBOX = 1,
72 SCRIPTUICITEM_MSGBOX = 2
73 } SCRIPTUICITEM;
75 typedef enum tagSCRIPTUICHANDLING {
76 SCRIPTUICHANDLING_ALLOW = 0,
77 SCRIPTUICHANDLING_NOUIERROR = 1,
78 SCRIPTUICHANDLING_NOUIDEFAULT = 2
79 } SCRIPTUICHANDLING;
81 typedef enum tagSCRIPTGCTYPE {
82 SCRIPTGCTYPE_NORMAL = 0,
83 SCRIPTGCTYPE_EXHAUSTIVE = 1
84 } SCRIPTGCTYPE;
86 typedef DWORD SCRIPTTHREADID;
87 cpp_quote("#define SCRIPTTHREADID_CURRENT ((SCRIPTTHREADID)-1)")
88 cpp_quote("#define SCRIPTTHREADID_BASE ((SCRIPTTHREADID)-2)")
89 cpp_quote("#define SCRIPTTHREADID_ALL ((SCRIPTTHREADID)-3)")
91 cpp_quote("#define SCRIPTITEM_ISVISIBLE 0x00000002")
92 cpp_quote("#define SCRIPTITEM_ISSOURCE 0x00000004")
93 cpp_quote("#define SCRIPTITEM_GLOBALMEMBERS 0x00000008")
94 cpp_quote("#define SCRIPTITEM_ISPERSISTENT 0x00000040")
95 cpp_quote("#define SCRIPTITEM_CODEONLY 0x00000200")
96 cpp_quote("#define SCRIPTITEM_NOCODE 0x00000400")
97 cpp_quote("#define SCRIPTITEM_ALL_FLAGS (SCRIPTITEM_ISSOURCE | \\")
98 cpp_quote(" SCRIPTITEM_ISVISIBLE | \\")
99 cpp_quote(" SCRIPTITEM_ISPERSISTENT | \\")
100 cpp_quote(" SCRIPTITEM_GLOBALMEMBERS | \\")
101 cpp_quote(" SCRIPTITEM_NOCODE | \\")
102 cpp_quote(" SCRIPTITEM_CODEONLY)")
103 cpp_quote("#define SCRIPTTYPELIB_ISCONTROL 0x00000010")
104 cpp_quote("#define SCRIPTTYPELIB_ISPERSISTENT 0x00000040")
105 cpp_quote("#define SCRIPTTYPELIB_ALL_FLAGS (SCRIPTTEXT_ISCONTROL | SCRIPTTYPELIB_ISPERSISTENT)")
106 cpp_quote("#define SCRIPTTEXT_DELAYEXECUTION 0x00000001")
107 cpp_quote("#define SCRIPTTEXT_ISVISIBLE 0x00000002")
108 cpp_quote("#define SCRIPTTEXT_ISEXPRESSION 0x00000020")
109 cpp_quote("#define SCRIPTTEXT_ISPERSISTENT 0x00000040")
110 cpp_quote("#define SCRIPTTEXT_HOSTMANAGESSOURCE 0x00000080")
111 cpp_quote("#define SCRIPTTEXT_ALL_FLAGS (SCRIPTTEXT_DELAYEXECUTION | \\")
112 cpp_quote(" SCRIPTTEXT_ISVISIBLE | \\")
113 cpp_quote(" SCRIPTTEXT_ISEXPRESSION | \\")
114 cpp_quote(" SCRIPTTEXT_ISPERSISTENT | \\")
115 cpp_quote(" SCRIPTTEXT_HOSTMANAGESSOURCE)")
116 cpp_quote("#define SCRIPTPROC_HOSTMANAGESSOURCE 0x00000080")
117 cpp_quote("#define SCRIPTPROC_IMPLICIT_THIS 0x00000100")
118 cpp_quote("#define SCRIPTPROC_IMPLICIT_PARENTS 0x00000200")
119 cpp_quote("#define SCRIPTPROC_ALL_FLAGS (SCRIPTPROC_HOSTMANAGESSOURCE | \\")
120 cpp_quote(" SCRIPTPROC_IMPLICIT_THIS | \\")
121 cpp_quote(" SCRIPTPROC_IMPLICIT_PARENTS)")
122 cpp_quote("#define SCRIPTINFO_IUNKNOWN 0x00000001")
123 cpp_quote("#define SCRIPTINFO_ITYPEINFO 0x00000002")
124 cpp_quote("#define SCRIPTINFO_ALL_FLAGS (SCRIPTINFO_IUNKNOWN | SCRIPTINFO_ITYPEINFO)")
125 cpp_quote("#define SCRIPTINTERRUPT_DEBUG 0x00000001")
126 cpp_quote("#define SCRIPTINTERRUPT_RAISEEXCEPTION 0x00000002")
127 cpp_quote("#define SCRIPTINTERRUPT_ALL_FLAGS (SCRIPTINTERRUPT_DEBUG | SCRIPTINTERRUPT_RAISEEXCEPTION)")
128 cpp_quote("#define SCRIPTSTAT_STATEMENT_COUNT 1")
129 cpp_quote("#define SCRIPTSTAT_INSTRUCTION_COUNT 2")
130 cpp_quote("#define SCRIPTSTAT_INTSTRUCTION_TIME 3")
131 cpp_quote("#define SCRIPTSTAT_TOTAL_TIME 4")
133 cpp_quote("#define SCRIPT_E_RECORDED 0x86664004")
134 cpp_quote("#define SCRIPT_E_REPORTED 0x80020101")
135 cpp_quote("#define SCRIPT_E_PROPAGATE 0x80020102")
138 object,
139 uuid(EAE1BA61-A4ED-11cf-8F20-00805F2CD064),
140 pointer_default(unique)
142 interface IActiveScriptError : IUnknown
144 HRESULT GetExceptionInfo(
145 [out] EXCEPINFO *pexcepinfo
148 HRESULT GetSourcePosition(
149 [out] DWORD *pdwSourceContext,
150 [out] ULONG *pulLineNumber,
151 [out] LONG *plCharacterPosition
154 HRESULT GetSourceLineText(
155 [out] BSTR *pbstrSourceLine
160 object,
161 uuid(DB01A1E3-A42B-11cf-8F20-00805F2CD064),
162 pointer_default(unique)
164 interface IActiveScriptSite : IUnknown
166 HRESULT GetLCID(
167 [out] LCID *plcid);
169 HRESULT GetItemInfo(
170 [in] LPCOLESTR pstrName,
171 [in] DWORD dwReturnMask,
172 [out] IUnknown **ppiunkItem,
173 [out] ITypeInfo **ppti
176 HRESULT GetDocVersionString(
177 [out] BSTR *pbstrVersion
180 HRESULT OnScriptTerminate(
181 [in] const VARIANT *pvarResult,
182 [in] const EXCEPINFO *pexcepinfo
185 HRESULT OnStateChange(
186 [in] SCRIPTSTATE ssScriptState
189 HRESULT OnScriptError(
190 [in] IActiveScriptError *pscripterror
193 HRESULT OnEnterScript(void);
195 HRESULT OnLeaveScript(void);
198 cpp_quote("typedef IActiveScriptSite *PIActiveScriptSite;")
201 object,
202 uuid(D10F6761-83E9-11cf-8F20-00805F2CD064),
203 pointer_default(unique)
205 interface IActiveScriptSiteWindow : IUnknown
207 HRESULT GetWindow(
208 [out] HWND *phwnd
211 HRESULT EnableModeless(
212 [in] BOOL fEnable
217 object,
218 uuid(aedae97e-d7ee-4796-b960-7f092ae844ab),
219 pointer_default(unique)
221 interface IActiveScriptSiteUIControl : IUnknown
223 HRESULT GetUIBehavior(
224 [in] SCRIPTUICITEM UicItem,
225 [out] SCRIPTUICHANDLING *pUicHandling);
229 object,
230 uuid(539698A0-CDCA-11CF-A5EB-00AA0047A063),
231 pointer_default(unique)
233 interface IActiveScriptSiteInterruptPoll : IUnknown
235 HRESULT QueryContinue();
239 object,
240 uuid(BB1A2AE1-A4F9-11cf-8F20-00805F2CD064),
241 pointer_default(unique)
243 interface IActiveScript : IUnknown
245 HRESULT SetScriptSite(
246 [in] IActiveScriptSite *pass
249 HRESULT GetScriptSite(
250 [in] REFIID riid,
251 [out, iid_is(riid)] void **ppvObject
254 HRESULT SetScriptState(
255 [in] SCRIPTSTATE ss
258 HRESULT GetScriptState(
259 [out] SCRIPTSTATE *pssState
262 HRESULT Close(void);
264 HRESULT AddNamedItem(
265 [in] LPCOLESTR pstrName,
266 [in] DWORD dwFlags
269 HRESULT AddTypeLib(
270 [in] REFGUID rguidTypeLib,
271 [in] DWORD dwMajor,
272 [in] DWORD dwMinor,
273 [in] DWORD dwFlags
276 HRESULT GetScriptDispatch(
277 [in] LPCOLESTR pstrItemName,
278 [out] IDispatch **ppdisp
281 HRESULT GetCurrentScriptThreadID(
282 [out] SCRIPTTHREADID *pstidThread
285 HRESULT GetScriptThreadID(
286 [in] DWORD dwWin32ThreadId,
287 [out] SCRIPTTHREADID *pstidThread
290 HRESULT GetScriptThreadState(
291 [in] SCRIPTTHREADID stidThread,
292 [out] SCRIPTTHREADSTATE *pstsState
295 HRESULT InterruptScriptThread(
296 [in] SCRIPTTHREADID stidThread,
297 [in] const EXCEPINFO *pexcepinfo,
298 [in] DWORD dwFlags
301 HRESULT Clone(
302 [out] IActiveScript **ppscript
306 cpp_quote("typedef IActiveScript *PIActiveScript;")
309 object,
310 uuid(BB1A2AE2-A4F9-11cf-8F20-00805F2CD064),
311 pointer_default(unique)
313 interface IActiveScriptParse32 : IUnknown
315 HRESULT InitNew(void);
317 HRESULT AddScriptlet(
318 [in] LPCOLESTR pstrDefaultName,
319 [in] LPCOLESTR pstrCode,
320 [in] LPCOLESTR pstrItemName,
321 [in] LPCOLESTR pstrSubItemName,
322 [in] LPCOLESTR pstrEventName,
323 [in] LPCOLESTR pstrDelimiter,
324 [in] DWORD dwSourceContextCookie,
325 [in] ULONG ulStartingLineNumber,
326 [in] DWORD dwFlags,
327 [out] BSTR *pbstrName,
328 [out] EXCEPINFO *pexcepinfo
331 HRESULT ParseScriptText(
332 [in] LPCOLESTR pstrCode,
333 [in] LPCOLESTR pstrItemName,
334 [in] IUnknown *punkContext,
335 [in] LPCOLESTR pstrDelimiter,
336 [in] DWORD dwSourceContextCookie,
337 [in] ULONG ulStartingLineNumber,
338 [in] DWORD dwFlags,
339 [out] VARIANT *pvarResult,
340 [out] EXCEPINFO *pexcepinfo
345 object,
346 uuid(c7ef7658-e1ee-480e-97ea-d52cb4d76d17),
347 pointer_default(unique)
349 interface IActiveScriptParse64 : IUnknown
351 HRESULT InitNew(void);
353 HRESULT AddScriptlet(
354 [in] LPCOLESTR pstrDefaultName,
355 [in] LPCOLESTR pstrCode,
356 [in] LPCOLESTR pstrItemName,
357 [in] LPCOLESTR pstrSubItemName,
358 [in] LPCOLESTR pstrEventName,
359 [in] LPCOLESTR pstrDelimiter,
360 [in] DWORDLONG dwSourceContextCookie,
361 [in] ULONG ulStartingLineNumber,
362 [in] DWORD dwFlags,
363 [out] BSTR *pbstrName,
364 [out] EXCEPINFO *pexcepinfo
367 HRESULT ParseScriptText(
368 [in] LPCOLESTR pstrCode,
369 [in] LPCOLESTR pstrItemName,
370 [in] IUnknown *punkContext,
371 [in] LPCOLESTR pstrDelimiter,
372 [in] DWORDLONG dwSourceContextCookie,
373 [in] ULONG ulStartingLineNumber,
374 [in] DWORD dwFlags,
375 [out] VARIANT *pvarResult,
376 [out] EXCEPINFO *pexcepinfo
380 cpp_quote("#ifdef _WIN64")
381 cpp_quote("#define IActiveScriptParse IActiveScriptParse64")
382 cpp_quote("#define IID_IActiveScriptParse IID_IActiveScriptParse64")
383 cpp_quote("#else")
384 cpp_quote("#define IActiveScriptParse IActiveScriptParse32")
385 cpp_quote("#define IID_IActiveScriptParse IID_IActiveScriptParse32")
386 cpp_quote("#endif")
388 cpp_quote("typedef IActiveScriptParse *PIActiveScriptParse;")
391 object,
392 uuid(1CFF0050-6FDD-11d0-9328-00A0C90DCAA9),
393 pointer_default(unique)
395 interface IActiveScriptParseProcedureOld32 : IUnknown
397 HRESULT ParseProcedureText(
398 [in] LPCOLESTR pstrCode,
399 [in] LPCOLESTR pstrFormalParams,
400 [in] LPCOLESTR pstrItemName,
401 [in] IUnknown *punkContext,
402 [in] LPCOLESTR pstrDelimiter,
403 [in] DWORD dwSourceContextCookie,
404 [in] ULONG ulStartingLineNumber,
405 [in] DWORD dwFlags,
406 [out] IDispatch **ppdisp
411 object,
412 uuid(21f57128-08c9-4638-ba12-22d15d88dc5c),
413 pointer_default(unique)
415 interface IActiveScriptParseProcedureOld64 : IUnknown
417 HRESULT ParseProcedureText(
418 [in] LPCOLESTR pstrCode,
419 [in] LPCOLESTR pstrFormalParams,
420 [in] LPCOLESTR pstrItemName,
421 [in] IUnknown *punkContext,
422 [in] LPCOLESTR pstrDelimiter,
423 [in] DWORDLONG dwSourceContextCookie,
424 [in] ULONG ulStartingLineNumber,
425 [in] DWORD dwFlags,
426 [out] IDispatch **ppdisp
430 cpp_quote("#ifdef _WIN64")
431 cpp_quote("#define IActiveScriptParseProcedureOld IActiveScriptParseProcedureOld64")
432 cpp_quote("#define IID_IActiveScriptParseProcedureOld IID_IActiveScriptParseProcedureOld64")
433 cpp_quote("#else")
434 cpp_quote("#define IActiveScriptParseProcedureOld IActiveScriptParseProcedureOld32")
435 cpp_quote("#define IID_IActiveScriptParseProcedureOld IID_IActiveScriptParseProcedureOld32")
436 cpp_quote("#endif")
439 object,
440 uuid(AA5B6A80-B834-11d0-932F-00A0C90DCAA9),
441 pointer_default(unique)
443 interface IActiveScriptParseProcedure32 : IUnknown
445 HRESULT ParseProcedureText(
446 [in] LPCOLESTR pstrCode,
447 [in] LPCOLESTR pstrFormalParams,
448 [in] LPCOLESTR pstrProcedureName,
449 [in] LPCOLESTR pstrItemName,
450 [in] IUnknown *punkContext,
451 [in] LPCOLESTR pstrDelimiter,
452 [in] DWORD dwSourceContextCookie,
453 [in] ULONG ulStartingLineNumber,
454 [in] DWORD dwFlags,
455 [out] IDispatch **ppdisp
460 object,
461 uuid(c64713b6-e029-4cc5-9200-438b72890b6a),
462 pointer_default(unique)
464 interface IActiveScriptParseProcedure64 : IUnknown
466 HRESULT ParseProcedureText(
467 [in] LPCOLESTR pstrCode,
468 [in] LPCOLESTR pstrFormalParams,
469 [in] LPCOLESTR pstrProcedureName,
470 [in] LPCOLESTR pstrItemName,
471 [in] IUnknown *punkContext,
472 [in] LPCOLESTR pstrDelimiter,
473 [in] DWORDLONG dwSourceContextCookie,
474 [in] ULONG ulStartingLineNumber,
475 [in] DWORD dwFlags,
476 [out] IDispatch **ppdisp
480 cpp_quote("#ifdef _WIN64")
481 cpp_quote("#define IActiveScriptParseProcedure IActiveScriptParseProcedure64")
482 cpp_quote("#define IID_IActiveScriptParseProcedure IID_IActiveScriptParseProcedure64")
483 cpp_quote("#else")
484 cpp_quote("#define IActiveScriptParseProcedure IActiveScriptParseProcedure32")
485 cpp_quote("#define IID_IActiveScriptParseProcedure IID_IActiveScriptParseProcedure32")
486 cpp_quote("#endif")
489 object,
490 uuid(71ee5b20-fb04-11d1-b3a8-00a0c911e8b2),
491 pointer_default(unique)
493 interface IActiveScriptParseProcedure2_32 : IActiveScriptParseProcedure32
498 object,
499 uuid(fe7c4271-210c-448d-9f54-76dab7047b28),
500 pointer_default(unique)
502 interface IActiveScriptParseProcedure2_64 : IActiveScriptParseProcedure64
506 cpp_quote("#ifdef _WIN64")
507 cpp_quote("#define IActiveScriptParseProcedure2 IActiveScriptParseProcedure2_64")
508 cpp_quote("#define IID_IActiveScriptParseProcedure2 IID_IActiveScriptParseProcedure2_64")
509 cpp_quote("#else")
510 cpp_quote("#define IActiveScriptParseProcedure2 IActiveScriptParseProcedure2_32")
511 cpp_quote("#define IID_IActiveScriptParseProcedure2 IID_IActiveScriptParseProcedure2_32")
512 cpp_quote("#endif")
515 object,
516 uuid(63CDBCB0-C1B1-11d0-9336-00A0C90DCAA9),
517 pointer_default(unique)
519 interface IBindEventHandler : IUnknown
521 HRESULT BindHandler(
522 [in] LPCOLESTR pstrEvent,
523 [in] IDispatch *pdisp
528 object,
529 uuid(B8DA6310-E19B-11d0-933C-00A0C90DCAA9),
530 pointer_default(unique)
532 interface IActiveScriptStats : IUnknown
534 HRESULT GetStat(
535 [in] DWORD stid,
536 [out] ULONG *pluHi,
537 [out] ULONG *pluLo
540 HRESULT GetStatEx(
541 [in] REFGUID guid,
542 [out] ULONG *pluHi,
543 [out] ULONG *pluLo
546 HRESULT ResetStats(void);
550 object,
551 uuid(4954e0d0-fbc7-11d1-8410-006008c3fbfc),
552 pointer_default(unique)
554 interface IActiveScriptProperty : IUnknown
556 HRESULT GetProperty(
557 [in] DWORD dwProperty,
558 [in] VARIANT *pvarIndex,
559 [out] VARIANT *pvarValue);
561 HRESULT SetProperty(
562 [in] DWORD dwProperty,
563 [in] VARIANT *pvarIndex,
564 [in] VARIANT *pvarValue);
568 object,
569 uuid(6aa2c4a0-2b53-11d4-a2a0-00104bd35090),
570 pointer_default(unique)
572 interface IActiveScriptGarbageCollector : IUnknown
574 HRESULT CollectGarbage(
575 [in] SCRIPTGCTYPE gctype);