1/*** Autogenerated by WIDL 1.6 from include/activaut.idl - Do not edit ***/
2
3#ifndef __REQUIRED_RPCNDR_H_VERSION__
4#define __REQUIRED_RPCNDR_H_VERSION__ 475
5#endif
6
7#include <rpc.h>
8#include <rpcndr.h>
9
10#ifndef COM_NO_WINDOWS_H
11#include <windows.h>
12#include <ole2.h>
13#endif
14
15#ifndef __activaut_h__
16#define __activaut_h__
17
18/* Forward declarations */
19
20#ifndef __IScriptNode_FWD_DEFINED__
21#define __IScriptNode_FWD_DEFINED__
22typedef interface IScriptNode IScriptNode;
23#endif
24
25#ifndef __IScriptEntry_FWD_DEFINED__
26#define __IScriptEntry_FWD_DEFINED__
27typedef interface IScriptEntry IScriptEntry;
28#endif
29
30#ifndef __IScriptScriptlet_FWD_DEFINED__
31#define __IScriptScriptlet_FWD_DEFINED__
32typedef interface IScriptScriptlet IScriptScriptlet;
33#endif
34
35#ifndef __IActiveScriptAuthor_FWD_DEFINED__
36#define __IActiveScriptAuthor_FWD_DEFINED__
37typedef interface IActiveScriptAuthor IActiveScriptAuthor;
38#endif
39
40#ifndef __IActiveScriptAuthorProcedure_FWD_DEFINED__
41#define __IActiveScriptAuthorProcedure_FWD_DEFINED__
42typedef interface IActiveScriptAuthorProcedure IActiveScriptAuthorProcedure;
43#endif
44
45/* Headers for imported files */
46
47#include <ocidl.h>
48#include <oleidl.h>
49#include <oaidl.h>
50
51#ifdef __cplusplus
52extern "C" {
53#endif
54
55/**
56 * This file is part of the mingw-w64 runtime package.
57 * No warranty is given; refer to the file DISCLAIMER within this package.
58 */
59
60#include <winapifamily.h>
61
62#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
63
64#ifndef __ActivAut_h
65#define __ActivAut_h
66
67
68#ifndef _NO_AUTHOR_GUIDS
69DEFINE_GUID(CATID_ActiveScriptAuthor, 0xaee2a92, 0xbcbb, 0x11d0, 0x8c, 0x72, 0x0, 0xc0, 0x4f, 0xc2, 0xb0, 0x85);
70#endif
71
72const DWORD fasaPreferInternalHandler = 1;
73const DWORD fasaSupportInternalHandler = 2;
74const DWORD fasaCaseSensitive = 4;
75
76const DWORD SCRIPT_CMPL_NOLIST = 0;
77const DWORD SCRIPT_CMPL_MEMBERLIST = 1;
78const DWORD SCRIPT_CMPL_ENUMLIST = 2;
79const DWORD SCRIPT_CMPL_PARAMTIP = 4;
80const DWORD SCRIPT_CMPL_GLOBALLIST = 8;
81
82const DWORD SCRIPT_CMPL_ENUM_TRIGGER = 1;
83const DWORD SCRIPT_CMPL_MEMBER_TRIGGER = 2;
84const DWORD SCRIPT_CMPL_PARAM_TRIGGER = 3;
85const DWORD SCRIPT_CMPL_COMMIT = 4;
86
87const DWORD GETATTRTYPE_NORMAL = 0;
88const DWORD GETATTRTYPE_DEPSCAN = 1;
89
90const DWORD GETATTRFLAG_THIS = 0x100;
91const DWORD GETATTRFLAG_HUMANTEXT = 0x8000;
92
93const DWORD SOURCETEXT_ATTR_IDENTIFIER = 0x100;
94const DWORD SOURCETEXT_ATTR_MEMBERLOOKUP = 0x200;
95const DWORD SOURCETEXT_ATTR_THIS = 0x400;
96const DWORD SOURCETEXT_ATTR_HUMANTEXT = 0x8000;
97
98#ifndef __IActiveScriptAuthor_FWD_DEFINED__
99#define __IActiveScriptAuthor_FWD_DEFINED__
100typedef interface IActiveScriptAuthor IActiveScriptAuthor;
101#endif
102
103#ifndef __IScriptNode_FWD_DEFINED__
104#define __IScriptNode_FWD_DEFINED__
105typedef interface IScriptNode IScriptNode;
106#endif
107
108#ifndef __IScriptEntry_FWD_DEFINED__
109#define __IScriptEntry_FWD_DEFINED__
110typedef interface IScriptEntry IScriptEntry;
111#endif
112
113#ifndef __IScriptScriptlet_FWD_DEFINED__
114#define __IScriptScriptlet_FWD_DEFINED__
115typedef interface IScriptScriptlet IScriptScriptlet;
116#endif
117
118typedef WORD SOURCE_TEXT_ATTR;
119/*****************************************************************************
120 * IScriptNode interface
121 */
122#ifndef __IScriptNode_INTERFACE_DEFINED__
123#define __IScriptNode_INTERFACE_DEFINED__
124
125DEFINE_GUID(IID_IScriptNode, 0x0aee2a94, 0xbcbb, 0x11d0, 0x8c,0x72, 0x00,0xc0,0x4f,0xc2,0xb0,0x85);
126#if defined(__cplusplus) && !defined(CINTERFACE)
127MIDL_INTERFACE("0aee2a94-bcbb-11d0-8c72-00c04fc2b085")
128IScriptNode : public IUnknown
129{
130    virtual HRESULT STDMETHODCALLTYPE Alive(
131        ) = 0;
132
133    virtual HRESULT STDMETHODCALLTYPE Delete(
134        ) = 0;
135
136    virtual HRESULT STDMETHODCALLTYPE GetParent(
137        IScriptNode **ppsnParent) = 0;
138
139    virtual HRESULT STDMETHODCALLTYPE GetIndexInParent(
140        ULONG *pisn) = 0;
141
142    virtual HRESULT STDMETHODCALLTYPE GetCookie(
143        DWORD *pdwCookie) = 0;
144
145    virtual HRESULT STDMETHODCALLTYPE GetNumberOfChildren(
146        ULONG *pcsn) = 0;
147
148    virtual HRESULT STDMETHODCALLTYPE GetChild(
149        ULONG isn,
150        IScriptNode **ppsn) = 0;
151
152    virtual HRESULT STDMETHODCALLTYPE GetLanguage(
153        BSTR *pbstr) = 0;
154
155    virtual HRESULT STDMETHODCALLTYPE CreateChildEntry(
156        ULONG isn,
157        DWORD dwCookie,
158        LPCOLESTR pszDelimiter,
159        IScriptEntry **ppse) = 0;
160
161    virtual HRESULT STDMETHODCALLTYPE CreateChildHandler(
162        LPCOLESTR pszDefaultName,
163        LPCOLESTR *prgpszNames,
164        ULONG cpszNames,
165        LPCOLESTR pszEvent,
166        LPCOLESTR pszDelimiter,
167        ITypeInfo *ptiSignature,
168        ULONG iMethodSignature,
169        ULONG isn,
170        DWORD dwCookie,
171        IScriptEntry **ppse) = 0;
172
173};
174#ifdef __CRT_UUID_DECL
175__CRT_UUID_DECL(IScriptNode, 0x0aee2a94, 0xbcbb, 0x11d0, 0x8c,0x72, 0x00,0xc0,0x4f,0xc2,0xb0,0x85)
176#endif
177#else
178typedef struct IScriptNodeVtbl {
179    BEGIN_INTERFACE
180
181    /*** IUnknown methods ***/
182    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
183        IScriptNode* This,
184        REFIID riid,
185        void **ppvObject);
186
187    ULONG (STDMETHODCALLTYPE *AddRef)(
188        IScriptNode* This);
189
190    ULONG (STDMETHODCALLTYPE *Release)(
191        IScriptNode* This);
192
193    /*** IScriptNode methods ***/
194    HRESULT (STDMETHODCALLTYPE *Alive)(
195        IScriptNode* This);
196
197    HRESULT (STDMETHODCALLTYPE *Delete)(
198        IScriptNode* This);
199
200    HRESULT (STDMETHODCALLTYPE *GetParent)(
201        IScriptNode* This,
202        IScriptNode **ppsnParent);
203
204    HRESULT (STDMETHODCALLTYPE *GetIndexInParent)(
205        IScriptNode* This,
206        ULONG *pisn);
207
208    HRESULT (STDMETHODCALLTYPE *GetCookie)(
209        IScriptNode* This,
210        DWORD *pdwCookie);
211
212    HRESULT (STDMETHODCALLTYPE *GetNumberOfChildren)(
213        IScriptNode* This,
214        ULONG *pcsn);
215
216    HRESULT (STDMETHODCALLTYPE *GetChild)(
217        IScriptNode* This,
218        ULONG isn,
219        IScriptNode **ppsn);
220
221    HRESULT (STDMETHODCALLTYPE *GetLanguage)(
222        IScriptNode* This,
223        BSTR *pbstr);
224
225    HRESULT (STDMETHODCALLTYPE *CreateChildEntry)(
226        IScriptNode* This,
227        ULONG isn,
228        DWORD dwCookie,
229        LPCOLESTR pszDelimiter,
230        IScriptEntry **ppse);
231
232    HRESULT (STDMETHODCALLTYPE *CreateChildHandler)(
233        IScriptNode* This,
234        LPCOLESTR pszDefaultName,
235        LPCOLESTR *prgpszNames,
236        ULONG cpszNames,
237        LPCOLESTR pszEvent,
238        LPCOLESTR pszDelimiter,
239        ITypeInfo *ptiSignature,
240        ULONG iMethodSignature,
241        ULONG isn,
242        DWORD dwCookie,
243        IScriptEntry **ppse);
244
245    END_INTERFACE
246} IScriptNodeVtbl;
247interface IScriptNode {
248    CONST_VTBL IScriptNodeVtbl* lpVtbl;
249};
250
251#ifdef COBJMACROS
252#ifndef WIDL_C_INLINE_WRAPPERS
253/*** IUnknown methods ***/
254#define IScriptNode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
255#define IScriptNode_AddRef(This) (This)->lpVtbl->AddRef(This)
256#define IScriptNode_Release(This) (This)->lpVtbl->Release(This)
257/*** IScriptNode methods ***/
258#define IScriptNode_Alive(This) (This)->lpVtbl->Alive(This)
259#define IScriptNode_Delete(This) (This)->lpVtbl->Delete(This)
260#define IScriptNode_GetParent(This,ppsnParent) (This)->lpVtbl->GetParent(This,ppsnParent)
261#define IScriptNode_GetIndexInParent(This,pisn) (This)->lpVtbl->GetIndexInParent(This,pisn)
262#define IScriptNode_GetCookie(This,pdwCookie) (This)->lpVtbl->GetCookie(This,pdwCookie)
263#define IScriptNode_GetNumberOfChildren(This,pcsn) (This)->lpVtbl->GetNumberOfChildren(This,pcsn)
264#define IScriptNode_GetChild(This,isn,ppsn) (This)->lpVtbl->GetChild(This,isn,ppsn)
265#define IScriptNode_GetLanguage(This,pbstr) (This)->lpVtbl->GetLanguage(This,pbstr)
266#define IScriptNode_CreateChildEntry(This,isn,dwCookie,pszDelimiter,ppse) (This)->lpVtbl->CreateChildEntry(This,isn,dwCookie,pszDelimiter,ppse)
267#define IScriptNode_CreateChildHandler(This,pszDefaultName,prgpszNames,cpszNames,pszEvent,pszDelimiter,ptiSignature,iMethodSignature,isn,dwCookie,ppse) (This)->lpVtbl->CreateChildHandler(This,pszDefaultName,prgpszNames,cpszNames,pszEvent,pszDelimiter,ptiSignature,iMethodSignature,isn,dwCookie,ppse)
268#else
269/*** IUnknown methods ***/
270static FORCEINLINE HRESULT IScriptNode_QueryInterface(IScriptNode* This,REFIID riid,void **ppvObject) {
271    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
272}
273static FORCEINLINE ULONG IScriptNode_AddRef(IScriptNode* This) {
274    return This->lpVtbl->AddRef(This);
275}
276static FORCEINLINE ULONG IScriptNode_Release(IScriptNode* This) {
277    return This->lpVtbl->Release(This);
278}
279/*** IScriptNode methods ***/
280static FORCEINLINE HRESULT IScriptNode_Alive(IScriptNode* This) {
281    return This->lpVtbl->Alive(This);
282}
283static FORCEINLINE HRESULT IScriptNode_Delete(IScriptNode* This) {
284    return This->lpVtbl->Delete(This);
285}
286static FORCEINLINE HRESULT IScriptNode_GetParent(IScriptNode* This,IScriptNode **ppsnParent) {
287    return This->lpVtbl->GetParent(This,ppsnParent);
288}
289static FORCEINLINE HRESULT IScriptNode_GetIndexInParent(IScriptNode* This,ULONG *pisn) {
290    return This->lpVtbl->GetIndexInParent(This,pisn);
291}
292static FORCEINLINE HRESULT IScriptNode_GetCookie(IScriptNode* This,DWORD *pdwCookie) {
293    return This->lpVtbl->GetCookie(This,pdwCookie);
294}
295static FORCEINLINE HRESULT IScriptNode_GetNumberOfChildren(IScriptNode* This,ULONG *pcsn) {
296    return This->lpVtbl->GetNumberOfChildren(This,pcsn);
297}
298static FORCEINLINE HRESULT IScriptNode_GetChild(IScriptNode* This,ULONG isn,IScriptNode **ppsn) {
299    return This->lpVtbl->GetChild(This,isn,ppsn);
300}
301static FORCEINLINE HRESULT IScriptNode_GetLanguage(IScriptNode* This,BSTR *pbstr) {
302    return This->lpVtbl->GetLanguage(This,pbstr);
303}
304static FORCEINLINE HRESULT IScriptNode_CreateChildEntry(IScriptNode* This,ULONG isn,DWORD dwCookie,LPCOLESTR pszDelimiter,IScriptEntry **ppse) {
305    return This->lpVtbl->CreateChildEntry(This,isn,dwCookie,pszDelimiter,ppse);
306}
307static FORCEINLINE HRESULT IScriptNode_CreateChildHandler(IScriptNode* This,LPCOLESTR pszDefaultName,LPCOLESTR *prgpszNames,ULONG cpszNames,LPCOLESTR pszEvent,LPCOLESTR pszDelimiter,ITypeInfo *ptiSignature,ULONG iMethodSignature,ULONG isn,DWORD dwCookie,IScriptEntry **ppse) {
308    return This->lpVtbl->CreateChildHandler(This,pszDefaultName,prgpszNames,cpszNames,pszEvent,pszDelimiter,ptiSignature,iMethodSignature,isn,dwCookie,ppse);
309}
310#endif
311#endif
312
313#endif
314
315HRESULT STDMETHODCALLTYPE IScriptNode_Alive_Proxy(
316    IScriptNode* This);
317void __RPC_STUB IScriptNode_Alive_Stub(
318    IRpcStubBuffer* This,
319    IRpcChannelBuffer* pRpcChannelBuffer,
320    PRPC_MESSAGE pRpcMessage,
321    DWORD* pdwStubPhase);
322HRESULT STDMETHODCALLTYPE IScriptNode_Delete_Proxy(
323    IScriptNode* This);
324void __RPC_STUB IScriptNode_Delete_Stub(
325    IRpcStubBuffer* This,
326    IRpcChannelBuffer* pRpcChannelBuffer,
327    PRPC_MESSAGE pRpcMessage,
328    DWORD* pdwStubPhase);
329HRESULT STDMETHODCALLTYPE IScriptNode_GetParent_Proxy(
330    IScriptNode* This,
331    IScriptNode **ppsnParent);
332void __RPC_STUB IScriptNode_GetParent_Stub(
333    IRpcStubBuffer* This,
334    IRpcChannelBuffer* pRpcChannelBuffer,
335    PRPC_MESSAGE pRpcMessage,
336    DWORD* pdwStubPhase);
337HRESULT STDMETHODCALLTYPE IScriptNode_GetIndexInParent_Proxy(
338    IScriptNode* This,
339    ULONG *pisn);
340void __RPC_STUB IScriptNode_GetIndexInParent_Stub(
341    IRpcStubBuffer* This,
342    IRpcChannelBuffer* pRpcChannelBuffer,
343    PRPC_MESSAGE pRpcMessage,
344    DWORD* pdwStubPhase);
345HRESULT STDMETHODCALLTYPE IScriptNode_GetCookie_Proxy(
346    IScriptNode* This,
347    DWORD *pdwCookie);
348void __RPC_STUB IScriptNode_GetCookie_Stub(
349    IRpcStubBuffer* This,
350    IRpcChannelBuffer* pRpcChannelBuffer,
351    PRPC_MESSAGE pRpcMessage,
352    DWORD* pdwStubPhase);
353HRESULT STDMETHODCALLTYPE IScriptNode_GetNumberOfChildren_Proxy(
354    IScriptNode* This,
355    ULONG *pcsn);
356void __RPC_STUB IScriptNode_GetNumberOfChildren_Stub(
357    IRpcStubBuffer* This,
358    IRpcChannelBuffer* pRpcChannelBuffer,
359    PRPC_MESSAGE pRpcMessage,
360    DWORD* pdwStubPhase);
361HRESULT STDMETHODCALLTYPE IScriptNode_GetChild_Proxy(
362    IScriptNode* This,
363    ULONG isn,
364    IScriptNode **ppsn);
365void __RPC_STUB IScriptNode_GetChild_Stub(
366    IRpcStubBuffer* This,
367    IRpcChannelBuffer* pRpcChannelBuffer,
368    PRPC_MESSAGE pRpcMessage,
369    DWORD* pdwStubPhase);
370HRESULT STDMETHODCALLTYPE IScriptNode_GetLanguage_Proxy(
371    IScriptNode* This,
372    BSTR *pbstr);
373void __RPC_STUB IScriptNode_GetLanguage_Stub(
374    IRpcStubBuffer* This,
375    IRpcChannelBuffer* pRpcChannelBuffer,
376    PRPC_MESSAGE pRpcMessage,
377    DWORD* pdwStubPhase);
378HRESULT STDMETHODCALLTYPE IScriptNode_CreateChildEntry_Proxy(
379    IScriptNode* This,
380    ULONG isn,
381    DWORD dwCookie,
382    LPCOLESTR pszDelimiter,
383    IScriptEntry **ppse);
384void __RPC_STUB IScriptNode_CreateChildEntry_Stub(
385    IRpcStubBuffer* This,
386    IRpcChannelBuffer* pRpcChannelBuffer,
387    PRPC_MESSAGE pRpcMessage,
388    DWORD* pdwStubPhase);
389HRESULT STDMETHODCALLTYPE IScriptNode_CreateChildHandler_Proxy(
390    IScriptNode* This,
391    LPCOLESTR pszDefaultName,
392    LPCOLESTR *prgpszNames,
393    ULONG cpszNames,
394    LPCOLESTR pszEvent,
395    LPCOLESTR pszDelimiter,
396    ITypeInfo *ptiSignature,
397    ULONG iMethodSignature,
398    ULONG isn,
399    DWORD dwCookie,
400    IScriptEntry **ppse);
401void __RPC_STUB IScriptNode_CreateChildHandler_Stub(
402    IRpcStubBuffer* This,
403    IRpcChannelBuffer* pRpcChannelBuffer,
404    PRPC_MESSAGE pRpcMessage,
405    DWORD* pdwStubPhase);
406
407#endif  /* __IScriptNode_INTERFACE_DEFINED__ */
408
409/*****************************************************************************
410 * IScriptEntry interface
411 */
412#ifndef __IScriptEntry_INTERFACE_DEFINED__
413#define __IScriptEntry_INTERFACE_DEFINED__
414
415DEFINE_GUID(IID_IScriptEntry, 0x0aee2a95, 0xbcbb, 0x11d0, 0x8c,0x72, 0x00,0xc0,0x4f,0xc2,0xb0,0x85);
416#if defined(__cplusplus) && !defined(CINTERFACE)
417MIDL_INTERFACE("0aee2a95-bcbb-11d0-8c72-00c04fc2b085")
418IScriptEntry : public IScriptNode
419{
420    virtual HRESULT STDMETHODCALLTYPE GetText(
421        BSTR *pbstr) = 0;
422
423    virtual HRESULT STDMETHODCALLTYPE SetText(
424        LPCOLESTR psz) = 0;
425
426    virtual HRESULT STDMETHODCALLTYPE GetBody(
427        BSTR *pbstr) = 0;
428
429    virtual HRESULT STDMETHODCALLTYPE SetBody(
430        LPCOLESTR psz) = 0;
431
432    virtual HRESULT STDMETHODCALLTYPE GetName(
433        BSTR *pbstr) = 0;
434
435    virtual HRESULT STDMETHODCALLTYPE SetName(
436        LPCOLESTR psz) = 0;
437
438    virtual HRESULT STDMETHODCALLTYPE GetItemName(
439        BSTR *pbstr) = 0;
440
441    virtual HRESULT STDMETHODCALLTYPE SetItemName(
442        LPCOLESTR psz) = 0;
443
444    virtual HRESULT STDMETHODCALLTYPE GetSignature(
445        ITypeInfo **ppti,
446        ULONG *piMethod) = 0;
447
448    virtual HRESULT STDMETHODCALLTYPE SetSignature(
449        ITypeInfo *pti,
450        ULONG iMethod) = 0;
451
452    virtual HRESULT STDMETHODCALLTYPE GetRange(
453        ULONG *pichMin,
454        ULONG *pcch) = 0;
455
456};
457#ifdef __CRT_UUID_DECL
458__CRT_UUID_DECL(IScriptEntry, 0x0aee2a95, 0xbcbb, 0x11d0, 0x8c,0x72, 0x00,0xc0,0x4f,0xc2,0xb0,0x85)
459#endif
460#else
461typedef struct IScriptEntryVtbl {
462    BEGIN_INTERFACE
463
464    /*** IUnknown methods ***/
465    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
466        IScriptEntry* This,
467        REFIID riid,
468        void **ppvObject);
469
470    ULONG (STDMETHODCALLTYPE *AddRef)(
471        IScriptEntry* This);
472
473    ULONG (STDMETHODCALLTYPE *Release)(
474        IScriptEntry* This);
475
476    /*** IScriptNode methods ***/
477    HRESULT (STDMETHODCALLTYPE *Alive)(
478        IScriptEntry* This);
479
480    HRESULT (STDMETHODCALLTYPE *Delete)(
481        IScriptEntry* This);
482
483    HRESULT (STDMETHODCALLTYPE *GetParent)(
484        IScriptEntry* This,
485        IScriptNode **ppsnParent);
486
487    HRESULT (STDMETHODCALLTYPE *GetIndexInParent)(
488        IScriptEntry* This,
489        ULONG *pisn);
490
491    HRESULT (STDMETHODCALLTYPE *GetCookie)(
492        IScriptEntry* This,
493        DWORD *pdwCookie);
494
495    HRESULT (STDMETHODCALLTYPE *GetNumberOfChildren)(
496        IScriptEntry* This,
497        ULONG *pcsn);
498
499    HRESULT (STDMETHODCALLTYPE *GetChild)(
500        IScriptEntry* This,
501        ULONG isn,
502        IScriptNode **ppsn);
503
504    HRESULT (STDMETHODCALLTYPE *GetLanguage)(
505        IScriptEntry* This,
506        BSTR *pbstr);
507
508    HRESULT (STDMETHODCALLTYPE *CreateChildEntry)(
509        IScriptEntry* This,
510        ULONG isn,
511        DWORD dwCookie,
512        LPCOLESTR pszDelimiter,
513        IScriptEntry **ppse);
514
515    HRESULT (STDMETHODCALLTYPE *CreateChildHandler)(
516        IScriptEntry* This,
517        LPCOLESTR pszDefaultName,
518        LPCOLESTR *prgpszNames,
519        ULONG cpszNames,
520        LPCOLESTR pszEvent,
521        LPCOLESTR pszDelimiter,
522        ITypeInfo *ptiSignature,
523        ULONG iMethodSignature,
524        ULONG isn,
525        DWORD dwCookie,
526        IScriptEntry **ppse);
527
528    /*** IScriptEntry methods ***/
529    HRESULT (STDMETHODCALLTYPE *GetText)(
530        IScriptEntry* This,
531        BSTR *pbstr);
532
533    HRESULT (STDMETHODCALLTYPE *SetText)(
534        IScriptEntry* This,
535        LPCOLESTR psz);
536
537    HRESULT (STDMETHODCALLTYPE *GetBody)(
538        IScriptEntry* This,
539        BSTR *pbstr);
540
541    HRESULT (STDMETHODCALLTYPE *SetBody)(
542        IScriptEntry* This,
543        LPCOLESTR psz);
544
545    HRESULT (STDMETHODCALLTYPE *GetName)(
546        IScriptEntry* This,
547        BSTR *pbstr);
548
549    HRESULT (STDMETHODCALLTYPE *SetName)(
550        IScriptEntry* This,
551        LPCOLESTR psz);
552
553    HRESULT (STDMETHODCALLTYPE *GetItemName)(
554        IScriptEntry* This,
555        BSTR *pbstr);
556
557    HRESULT (STDMETHODCALLTYPE *SetItemName)(
558        IScriptEntry* This,
559        LPCOLESTR psz);
560
561    HRESULT (STDMETHODCALLTYPE *GetSignature)(
562        IScriptEntry* This,
563        ITypeInfo **ppti,
564        ULONG *piMethod);
565
566    HRESULT (STDMETHODCALLTYPE *SetSignature)(
567        IScriptEntry* This,
568        ITypeInfo *pti,
569        ULONG iMethod);
570
571    HRESULT (STDMETHODCALLTYPE *GetRange)(
572        IScriptEntry* This,
573        ULONG *pichMin,
574        ULONG *pcch);
575
576    END_INTERFACE
577} IScriptEntryVtbl;
578interface IScriptEntry {
579    CONST_VTBL IScriptEntryVtbl* lpVtbl;
580};
581
582#ifdef COBJMACROS
583#ifndef WIDL_C_INLINE_WRAPPERS
584/*** IUnknown methods ***/
585#define IScriptEntry_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
586#define IScriptEntry_AddRef(This) (This)->lpVtbl->AddRef(This)
587#define IScriptEntry_Release(This) (This)->lpVtbl->Release(This)
588/*** IScriptNode methods ***/
589#define IScriptEntry_Alive(This) (This)->lpVtbl->Alive(This)
590#define IScriptEntry_Delete(This) (This)->lpVtbl->Delete(This)
591#define IScriptEntry_GetParent(This,ppsnParent) (This)->lpVtbl->GetParent(This,ppsnParent)
592#define IScriptEntry_GetIndexInParent(This,pisn) (This)->lpVtbl->GetIndexInParent(This,pisn)
593#define IScriptEntry_GetCookie(This,pdwCookie) (This)->lpVtbl->GetCookie(This,pdwCookie)
594#define IScriptEntry_GetNumberOfChildren(This,pcsn) (This)->lpVtbl->GetNumberOfChildren(This,pcsn)
595#define IScriptEntry_GetChild(This,isn,ppsn) (This)->lpVtbl->GetChild(This,isn,ppsn)
596#define IScriptEntry_GetLanguage(This,pbstr) (This)->lpVtbl->GetLanguage(This,pbstr)
597#define IScriptEntry_CreateChildEntry(This,isn,dwCookie,pszDelimiter,ppse) (This)->lpVtbl->CreateChildEntry(This,isn,dwCookie,pszDelimiter,ppse)
598#define IScriptEntry_CreateChildHandler(This,pszDefaultName,prgpszNames,cpszNames,pszEvent,pszDelimiter,ptiSignature,iMethodSignature,isn,dwCookie,ppse) (This)->lpVtbl->CreateChildHandler(This,pszDefaultName,prgpszNames,cpszNames,pszEvent,pszDelimiter,ptiSignature,iMethodSignature,isn,dwCookie,ppse)
599/*** IScriptEntry methods ***/
600#define IScriptEntry_GetText(This,pbstr) (This)->lpVtbl->GetText(This,pbstr)
601#define IScriptEntry_SetText(This,psz) (This)->lpVtbl->SetText(This,psz)
602#define IScriptEntry_GetBody(This,pbstr) (This)->lpVtbl->GetBody(This,pbstr)
603#define IScriptEntry_SetBody(This,psz) (This)->lpVtbl->SetBody(This,psz)
604#define IScriptEntry_GetName(This,pbstr) (This)->lpVtbl->GetName(This,pbstr)
605#define IScriptEntry_SetName(This,psz) (This)->lpVtbl->SetName(This,psz)
606#define IScriptEntry_GetItemName(This,pbstr) (This)->lpVtbl->GetItemName(This,pbstr)
607#define IScriptEntry_SetItemName(This,psz) (This)->lpVtbl->SetItemName(This,psz)
608#define IScriptEntry_GetSignature(This,ppti,piMethod) (This)->lpVtbl->GetSignature(This,ppti,piMethod)
609#define IScriptEntry_SetSignature(This,pti,iMethod) (This)->lpVtbl->SetSignature(This,pti,iMethod)
610#define IScriptEntry_GetRange(This,pichMin,pcch) (This)->lpVtbl->GetRange(This,pichMin,pcch)
611#else
612/*** IUnknown methods ***/
613static FORCEINLINE HRESULT IScriptEntry_QueryInterface(IScriptEntry* This,REFIID riid,void **ppvObject) {
614    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
615}
616static FORCEINLINE ULONG IScriptEntry_AddRef(IScriptEntry* This) {
617    return This->lpVtbl->AddRef(This);
618}
619static FORCEINLINE ULONG IScriptEntry_Release(IScriptEntry* This) {
620    return This->lpVtbl->Release(This);
621}
622/*** IScriptNode methods ***/
623static FORCEINLINE HRESULT IScriptEntry_Alive(IScriptEntry* This) {
624    return This->lpVtbl->Alive(This);
625}
626static FORCEINLINE HRESULT IScriptEntry_Delete(IScriptEntry* This) {
627    return This->lpVtbl->Delete(This);
628}
629static FORCEINLINE HRESULT IScriptEntry_GetParent(IScriptEntry* This,IScriptNode **ppsnParent) {
630    return This->lpVtbl->GetParent(This,ppsnParent);
631}
632static FORCEINLINE HRESULT IScriptEntry_GetIndexInParent(IScriptEntry* This,ULONG *pisn) {
633    return This->lpVtbl->GetIndexInParent(This,pisn);
634}
635static FORCEINLINE HRESULT IScriptEntry_GetCookie(IScriptEntry* This,DWORD *pdwCookie) {
636    return This->lpVtbl->GetCookie(This,pdwCookie);
637}
638static FORCEINLINE HRESULT IScriptEntry_GetNumberOfChildren(IScriptEntry* This,ULONG *pcsn) {
639    return This->lpVtbl->GetNumberOfChildren(This,pcsn);
640}
641static FORCEINLINE HRESULT IScriptEntry_GetChild(IScriptEntry* This,ULONG isn,IScriptNode **ppsn) {
642    return This->lpVtbl->GetChild(This,isn,ppsn);
643}
644static FORCEINLINE HRESULT IScriptEntry_GetLanguage(IScriptEntry* This,BSTR *pbstr) {
645    return This->lpVtbl->GetLanguage(This,pbstr);
646}
647static FORCEINLINE HRESULT IScriptEntry_CreateChildEntry(IScriptEntry* This,ULONG isn,DWORD dwCookie,LPCOLESTR pszDelimiter,IScriptEntry **ppse) {
648    return This->lpVtbl->CreateChildEntry(This,isn,dwCookie,pszDelimiter,ppse);
649}
650static FORCEINLINE HRESULT IScriptEntry_CreateChildHandler(IScriptEntry* This,LPCOLESTR pszDefaultName,LPCOLESTR *prgpszNames,ULONG cpszNames,LPCOLESTR pszEvent,LPCOLESTR pszDelimiter,ITypeInfo *ptiSignature,ULONG iMethodSignature,ULONG isn,DWORD dwCookie,IScriptEntry **ppse) {
651    return This->lpVtbl->CreateChildHandler(This,pszDefaultName,prgpszNames,cpszNames,pszEvent,pszDelimiter,ptiSignature,iMethodSignature,isn,dwCookie,ppse);
652}
653/*** IScriptEntry methods ***/
654static FORCEINLINE HRESULT IScriptEntry_GetText(IScriptEntry* This,BSTR *pbstr) {
655    return This->lpVtbl->GetText(This,pbstr);
656}
657static FORCEINLINE HRESULT IScriptEntry_SetText(IScriptEntry* This,LPCOLESTR psz) {
658    return This->lpVtbl->SetText(This,psz);
659}
660static FORCEINLINE HRESULT IScriptEntry_GetBody(IScriptEntry* This,BSTR *pbstr) {
661    return This->lpVtbl->GetBody(This,pbstr);
662}
663static FORCEINLINE HRESULT IScriptEntry_SetBody(IScriptEntry* This,LPCOLESTR psz) {
664    return This->lpVtbl->SetBody(This,psz);
665}
666static FORCEINLINE HRESULT IScriptEntry_GetName(IScriptEntry* This,BSTR *pbstr) {
667    return This->lpVtbl->GetName(This,pbstr);
668}
669static FORCEINLINE HRESULT IScriptEntry_SetName(IScriptEntry* This,LPCOLESTR psz) {
670    return This->lpVtbl->SetName(This,psz);
671}
672static FORCEINLINE HRESULT IScriptEntry_GetItemName(IScriptEntry* This,BSTR *pbstr) {
673    return This->lpVtbl->GetItemName(This,pbstr);
674}
675static FORCEINLINE HRESULT IScriptEntry_SetItemName(IScriptEntry* This,LPCOLESTR psz) {
676    return This->lpVtbl->SetItemName(This,psz);
677}
678static FORCEINLINE HRESULT IScriptEntry_GetSignature(IScriptEntry* This,ITypeInfo **ppti,ULONG *piMethod) {
679    return This->lpVtbl->GetSignature(This,ppti,piMethod);
680}
681static FORCEINLINE HRESULT IScriptEntry_SetSignature(IScriptEntry* This,ITypeInfo *pti,ULONG iMethod) {
682    return This->lpVtbl->SetSignature(This,pti,iMethod);
683}
684static FORCEINLINE HRESULT IScriptEntry_GetRange(IScriptEntry* This,ULONG *pichMin,ULONG *pcch) {
685    return This->lpVtbl->GetRange(This,pichMin,pcch);
686}
687#endif
688#endif
689
690#endif
691
692HRESULT STDMETHODCALLTYPE IScriptEntry_GetText_Proxy(
693    IScriptEntry* This,
694    BSTR *pbstr);
695void __RPC_STUB IScriptEntry_GetText_Stub(
696    IRpcStubBuffer* This,
697    IRpcChannelBuffer* pRpcChannelBuffer,
698    PRPC_MESSAGE pRpcMessage,
699    DWORD* pdwStubPhase);
700HRESULT STDMETHODCALLTYPE IScriptEntry_SetText_Proxy(
701    IScriptEntry* This,
702    LPCOLESTR psz);
703void __RPC_STUB IScriptEntry_SetText_Stub(
704    IRpcStubBuffer* This,
705    IRpcChannelBuffer* pRpcChannelBuffer,
706    PRPC_MESSAGE pRpcMessage,
707    DWORD* pdwStubPhase);
708HRESULT STDMETHODCALLTYPE IScriptEntry_GetBody_Proxy(
709    IScriptEntry* This,
710    BSTR *pbstr);
711void __RPC_STUB IScriptEntry_GetBody_Stub(
712    IRpcStubBuffer* This,
713    IRpcChannelBuffer* pRpcChannelBuffer,
714    PRPC_MESSAGE pRpcMessage,
715    DWORD* pdwStubPhase);
716HRESULT STDMETHODCALLTYPE IScriptEntry_SetBody_Proxy(
717    IScriptEntry* This,
718    LPCOLESTR psz);
719void __RPC_STUB IScriptEntry_SetBody_Stub(
720    IRpcStubBuffer* This,
721    IRpcChannelBuffer* pRpcChannelBuffer,
722    PRPC_MESSAGE pRpcMessage,
723    DWORD* pdwStubPhase);
724HRESULT STDMETHODCALLTYPE IScriptEntry_GetName_Proxy(
725    IScriptEntry* This,
726    BSTR *pbstr);
727void __RPC_STUB IScriptEntry_GetName_Stub(
728    IRpcStubBuffer* This,
729    IRpcChannelBuffer* pRpcChannelBuffer,
730    PRPC_MESSAGE pRpcMessage,
731    DWORD* pdwStubPhase);
732HRESULT STDMETHODCALLTYPE IScriptEntry_SetName_Proxy(
733    IScriptEntry* This,
734    LPCOLESTR psz);
735void __RPC_STUB IScriptEntry_SetName_Stub(
736    IRpcStubBuffer* This,
737    IRpcChannelBuffer* pRpcChannelBuffer,
738    PRPC_MESSAGE pRpcMessage,
739    DWORD* pdwStubPhase);
740HRESULT STDMETHODCALLTYPE IScriptEntry_GetItemName_Proxy(
741    IScriptEntry* This,
742    BSTR *pbstr);
743void __RPC_STUB IScriptEntry_GetItemName_Stub(
744    IRpcStubBuffer* This,
745    IRpcChannelBuffer* pRpcChannelBuffer,
746    PRPC_MESSAGE pRpcMessage,
747    DWORD* pdwStubPhase);
748HRESULT STDMETHODCALLTYPE IScriptEntry_SetItemName_Proxy(
749    IScriptEntry* This,
750    LPCOLESTR psz);
751void __RPC_STUB IScriptEntry_SetItemName_Stub(
752    IRpcStubBuffer* This,
753    IRpcChannelBuffer* pRpcChannelBuffer,
754    PRPC_MESSAGE pRpcMessage,
755    DWORD* pdwStubPhase);
756HRESULT STDMETHODCALLTYPE IScriptEntry_GetSignature_Proxy(
757    IScriptEntry* This,
758    ITypeInfo **ppti,
759    ULONG *piMethod);
760void __RPC_STUB IScriptEntry_GetSignature_Stub(
761    IRpcStubBuffer* This,
762    IRpcChannelBuffer* pRpcChannelBuffer,
763    PRPC_MESSAGE pRpcMessage,
764    DWORD* pdwStubPhase);
765HRESULT STDMETHODCALLTYPE IScriptEntry_SetSignature_Proxy(
766    IScriptEntry* This,
767    ITypeInfo *pti,
768    ULONG iMethod);
769void __RPC_STUB IScriptEntry_SetSignature_Stub(
770    IRpcStubBuffer* This,
771    IRpcChannelBuffer* pRpcChannelBuffer,
772    PRPC_MESSAGE pRpcMessage,
773    DWORD* pdwStubPhase);
774HRESULT STDMETHODCALLTYPE IScriptEntry_GetRange_Proxy(
775    IScriptEntry* This,
776    ULONG *pichMin,
777    ULONG *pcch);
778void __RPC_STUB IScriptEntry_GetRange_Stub(
779    IRpcStubBuffer* This,
780    IRpcChannelBuffer* pRpcChannelBuffer,
781    PRPC_MESSAGE pRpcMessage,
782    DWORD* pdwStubPhase);
783
784#endif  /* __IScriptEntry_INTERFACE_DEFINED__ */
785
786/*****************************************************************************
787 * IScriptScriptlet interface
788 */
789#ifndef __IScriptScriptlet_INTERFACE_DEFINED__
790#define __IScriptScriptlet_INTERFACE_DEFINED__
791
792DEFINE_GUID(IID_IScriptScriptlet, 0x0aee2a96, 0xbcbb, 0x11d0, 0x8c,0x72, 0x00,0xc0,0x4f,0xc2,0xb0,0x85);
793#if defined(__cplusplus) && !defined(CINTERFACE)
794MIDL_INTERFACE("0aee2a96-bcbb-11d0-8c72-00c04fc2b085")
795IScriptScriptlet : public IScriptEntry
796{
797    virtual HRESULT STDMETHODCALLTYPE GetSubItemName(
798        BSTR *pbstr) = 0;
799
800    virtual HRESULT STDMETHODCALLTYPE SetSubItemName(
801        LPCOLESTR psz) = 0;
802
803    virtual HRESULT STDMETHODCALLTYPE GetEventName(
804        BSTR *pbstr) = 0;
805
806    virtual HRESULT STDMETHODCALLTYPE SetEventName(
807        LPCOLESTR psz) = 0;
808
809    virtual HRESULT STDMETHODCALLTYPE GetSimpleEventName(
810        BSTR *pbstr) = 0;
811
812    virtual HRESULT STDMETHODCALLTYPE SetSimpleEventName(
813        LPCOLESTR psz) = 0;
814
815};
816#ifdef __CRT_UUID_DECL
817__CRT_UUID_DECL(IScriptScriptlet, 0x0aee2a96, 0xbcbb, 0x11d0, 0x8c,0x72, 0x00,0xc0,0x4f,0xc2,0xb0,0x85)
818#endif
819#else
820typedef struct IScriptScriptletVtbl {
821    BEGIN_INTERFACE
822
823    /*** IUnknown methods ***/
824    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
825        IScriptScriptlet* This,
826        REFIID riid,
827        void **ppvObject);
828
829    ULONG (STDMETHODCALLTYPE *AddRef)(
830        IScriptScriptlet* This);
831
832    ULONG (STDMETHODCALLTYPE *Release)(
833        IScriptScriptlet* This);
834
835    /*** IScriptNode methods ***/
836    HRESULT (STDMETHODCALLTYPE *Alive)(
837        IScriptScriptlet* This);
838
839    HRESULT (STDMETHODCALLTYPE *Delete)(
840        IScriptScriptlet* This);
841
842    HRESULT (STDMETHODCALLTYPE *GetParent)(
843        IScriptScriptlet* This,
844        IScriptNode **ppsnParent);
845
846    HRESULT (STDMETHODCALLTYPE *GetIndexInParent)(
847        IScriptScriptlet* This,
848        ULONG *pisn);
849
850    HRESULT (STDMETHODCALLTYPE *GetCookie)(
851        IScriptScriptlet* This,
852        DWORD *pdwCookie);
853
854    HRESULT (STDMETHODCALLTYPE *GetNumberOfChildren)(
855        IScriptScriptlet* This,
856        ULONG *pcsn);
857
858    HRESULT (STDMETHODCALLTYPE *GetChild)(
859        IScriptScriptlet* This,
860        ULONG isn,
861        IScriptNode **ppsn);
862
863    HRESULT (STDMETHODCALLTYPE *GetLanguage)(
864        IScriptScriptlet* This,
865        BSTR *pbstr);
866
867    HRESULT (STDMETHODCALLTYPE *CreateChildEntry)(
868        IScriptScriptlet* This,
869        ULONG isn,
870        DWORD dwCookie,
871        LPCOLESTR pszDelimiter,
872        IScriptEntry **ppse);
873
874    HRESULT (STDMETHODCALLTYPE *CreateChildHandler)(
875        IScriptScriptlet* This,
876        LPCOLESTR pszDefaultName,
877        LPCOLESTR *prgpszNames,
878        ULONG cpszNames,
879        LPCOLESTR pszEvent,
880        LPCOLESTR pszDelimiter,
881        ITypeInfo *ptiSignature,
882        ULONG iMethodSignature,
883        ULONG isn,
884        DWORD dwCookie,
885        IScriptEntry **ppse);
886
887    /*** IScriptEntry methods ***/
888    HRESULT (STDMETHODCALLTYPE *GetText)(
889        IScriptScriptlet* This,
890        BSTR *pbstr);
891
892    HRESULT (STDMETHODCALLTYPE *SetText)(
893        IScriptScriptlet* This,
894        LPCOLESTR psz);
895
896    HRESULT (STDMETHODCALLTYPE *GetBody)(
897        IScriptScriptlet* This,
898        BSTR *pbstr);
899
900    HRESULT (STDMETHODCALLTYPE *SetBody)(
901        IScriptScriptlet* This,
902        LPCOLESTR psz);
903
904    HRESULT (STDMETHODCALLTYPE *GetName)(
905        IScriptScriptlet* This,
906        BSTR *pbstr);
907
908    HRESULT (STDMETHODCALLTYPE *SetName)(
909        IScriptScriptlet* This,
910        LPCOLESTR psz);
911
912    HRESULT (STDMETHODCALLTYPE *GetItemName)(
913        IScriptScriptlet* This,
914        BSTR *pbstr);
915
916    HRESULT (STDMETHODCALLTYPE *SetItemName)(
917        IScriptScriptlet* This,
918        LPCOLESTR psz);
919
920    HRESULT (STDMETHODCALLTYPE *GetSignature)(
921        IScriptScriptlet* This,
922        ITypeInfo **ppti,
923        ULONG *piMethod);
924
925    HRESULT (STDMETHODCALLTYPE *SetSignature)(
926        IScriptScriptlet* This,
927        ITypeInfo *pti,
928        ULONG iMethod);
929
930    HRESULT (STDMETHODCALLTYPE *GetRange)(
931        IScriptScriptlet* This,
932        ULONG *pichMin,
933        ULONG *pcch);
934
935    /*** IScriptScriptlet methods ***/
936    HRESULT (STDMETHODCALLTYPE *GetSubItemName)(
937        IScriptScriptlet* This,
938        BSTR *pbstr);
939
940    HRESULT (STDMETHODCALLTYPE *SetSubItemName)(
941        IScriptScriptlet* This,
942        LPCOLESTR psz);
943
944    HRESULT (STDMETHODCALLTYPE *GetEventName)(
945        IScriptScriptlet* This,
946        BSTR *pbstr);
947
948    HRESULT (STDMETHODCALLTYPE *SetEventName)(
949        IScriptScriptlet* This,
950        LPCOLESTR psz);
951
952    HRESULT (STDMETHODCALLTYPE *GetSimpleEventName)(
953        IScriptScriptlet* This,
954        BSTR *pbstr);
955
956    HRESULT (STDMETHODCALLTYPE *SetSimpleEventName)(
957        IScriptScriptlet* This,
958        LPCOLESTR psz);
959
960    END_INTERFACE
961} IScriptScriptletVtbl;
962interface IScriptScriptlet {
963    CONST_VTBL IScriptScriptletVtbl* lpVtbl;
964};
965
966#ifdef COBJMACROS
967#ifndef WIDL_C_INLINE_WRAPPERS
968/*** IUnknown methods ***/
969#define IScriptScriptlet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
970#define IScriptScriptlet_AddRef(This) (This)->lpVtbl->AddRef(This)
971#define IScriptScriptlet_Release(This) (This)->lpVtbl->Release(This)
972/*** IScriptNode methods ***/
973#define IScriptScriptlet_Alive(This) (This)->lpVtbl->Alive(This)
974#define IScriptScriptlet_Delete(This) (This)->lpVtbl->Delete(This)
975#define IScriptScriptlet_GetParent(This,ppsnParent) (This)->lpVtbl->GetParent(This,ppsnParent)
976#define IScriptScriptlet_GetIndexInParent(This,pisn) (This)->lpVtbl->GetIndexInParent(This,pisn)
977#define IScriptScriptlet_GetCookie(This,pdwCookie) (This)->lpVtbl->GetCookie(This,pdwCookie)
978#define IScriptScriptlet_GetNumberOfChildren(This,pcsn) (This)->lpVtbl->GetNumberOfChildren(This,pcsn)
979#define IScriptScriptlet_GetChild(This,isn,ppsn) (This)->lpVtbl->GetChild(This,isn,ppsn)
980#define IScriptScriptlet_GetLanguage(This,pbstr) (This)->lpVtbl->GetLanguage(This,pbstr)
981#define IScriptScriptlet_CreateChildEntry(This,isn,dwCookie,pszDelimiter,ppse) (This)->lpVtbl->CreateChildEntry(This,isn,dwCookie,pszDelimiter,ppse)
982#define IScriptScriptlet_CreateChildHandler(This,pszDefaultName,prgpszNames,cpszNames,pszEvent,pszDelimiter,ptiSignature,iMethodSignature,isn,dwCookie,ppse) (This)->lpVtbl->CreateChildHandler(This,pszDefaultName,prgpszNames,cpszNames,pszEvent,pszDelimiter,ptiSignature,iMethodSignature,isn,dwCookie,ppse)
983/*** IScriptEntry methods ***/
984#define IScriptScriptlet_GetText(This,pbstr) (This)->lpVtbl->GetText(This,pbstr)
985#define IScriptScriptlet_SetText(This,psz) (This)->lpVtbl->SetText(This,psz)
986#define IScriptScriptlet_GetBody(This,pbstr) (This)->lpVtbl->GetBody(This,pbstr)
987#define IScriptScriptlet_SetBody(This,psz) (This)->lpVtbl->SetBody(This,psz)
988#define IScriptScriptlet_GetName(This,pbstr) (This)->lpVtbl->GetName(This,pbstr)
989#define IScriptScriptlet_SetName(This,psz) (This)->lpVtbl->SetName(This,psz)
990#define IScriptScriptlet_GetItemName(This,pbstr) (This)->lpVtbl->GetItemName(This,pbstr)
991#define IScriptScriptlet_SetItemName(This,psz) (This)->lpVtbl->SetItemName(This,psz)
992#define IScriptScriptlet_GetSignature(This,ppti,piMethod) (This)->lpVtbl->GetSignature(This,ppti,piMethod)
993#define IScriptScriptlet_SetSignature(This,pti,iMethod) (This)->lpVtbl->SetSignature(This,pti,iMethod)
994#define IScriptScriptlet_GetRange(This,pichMin,pcch) (This)->lpVtbl->GetRange(This,pichMin,pcch)
995/*** IScriptScriptlet methods ***/
996#define IScriptScriptlet_GetSubItemName(This,pbstr) (This)->lpVtbl->GetSubItemName(This,pbstr)
997#define IScriptScriptlet_SetSubItemName(This,psz) (This)->lpVtbl->SetSubItemName(This,psz)
998#define IScriptScriptlet_GetEventName(This,pbstr) (This)->lpVtbl->GetEventName(This,pbstr)
999#define IScriptScriptlet_SetEventName(This,psz) (This)->lpVtbl->SetEventName(This,psz)
1000#define IScriptScriptlet_GetSimpleEventName(This,pbstr) (This)->lpVtbl->GetSimpleEventName(This,pbstr)
1001#define IScriptScriptlet_SetSimpleEventName(This,psz) (This)->lpVtbl->SetSimpleEventName(This,psz)
1002#else
1003/*** IUnknown methods ***/
1004static FORCEINLINE HRESULT IScriptScriptlet_QueryInterface(IScriptScriptlet* This,REFIID riid,void **ppvObject) {
1005    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1006}
1007static FORCEINLINE ULONG IScriptScriptlet_AddRef(IScriptScriptlet* This) {
1008    return This->lpVtbl->AddRef(This);
1009}
1010static FORCEINLINE ULONG IScriptScriptlet_Release(IScriptScriptlet* This) {
1011    return This->lpVtbl->Release(This);
1012}
1013/*** IScriptNode methods ***/
1014static FORCEINLINE HRESULT IScriptScriptlet_Alive(IScriptScriptlet* This) {
1015    return This->lpVtbl->Alive(This);
1016}
1017static FORCEINLINE HRESULT IScriptScriptlet_Delete(IScriptScriptlet* This) {
1018    return This->lpVtbl->Delete(This);
1019}
1020static FORCEINLINE HRESULT IScriptScriptlet_GetParent(IScriptScriptlet* This,IScriptNode **ppsnParent) {
1021    return This->lpVtbl->GetParent(This,ppsnParent);
1022}
1023static FORCEINLINE HRESULT IScriptScriptlet_GetIndexInParent(IScriptScriptlet* This,ULONG *pisn) {
1024    return This->lpVtbl->GetIndexInParent(This,pisn);
1025}
1026static FORCEINLINE HRESULT IScriptScriptlet_GetCookie(IScriptScriptlet* This,DWORD *pdwCookie) {
1027    return This->lpVtbl->GetCookie(This,pdwCookie);
1028}
1029static FORCEINLINE HRESULT IScriptScriptlet_GetNumberOfChildren(IScriptScriptlet* This,ULONG *pcsn) {
1030    return This->lpVtbl->GetNumberOfChildren(This,pcsn);
1031}
1032static FORCEINLINE HRESULT IScriptScriptlet_GetChild(IScriptScriptlet* This,ULONG isn,IScriptNode **ppsn) {
1033    return This->lpVtbl->GetChild(This,isn,ppsn);
1034}
1035static FORCEINLINE HRESULT IScriptScriptlet_GetLanguage(IScriptScriptlet* This,BSTR *pbstr) {
1036    return This->lpVtbl->GetLanguage(This,pbstr);
1037}
1038static FORCEINLINE HRESULT IScriptScriptlet_CreateChildEntry(IScriptScriptlet* This,ULONG isn,DWORD dwCookie,LPCOLESTR pszDelimiter,IScriptEntry **ppse) {
1039    return This->lpVtbl->CreateChildEntry(This,isn,dwCookie,pszDelimiter,ppse);
1040}
1041static FORCEINLINE HRESULT IScriptScriptlet_CreateChildHandler(IScriptScriptlet* This,LPCOLESTR pszDefaultName,LPCOLESTR *prgpszNames,ULONG cpszNames,LPCOLESTR pszEvent,LPCOLESTR pszDelimiter,ITypeInfo *ptiSignature,ULONG iMethodSignature,ULONG isn,DWORD dwCookie,IScriptEntry **ppse) {
1042    return This->lpVtbl->CreateChildHandler(This,pszDefaultName,prgpszNames,cpszNames,pszEvent,pszDelimiter,ptiSignature,iMethodSignature,isn,dwCookie,ppse);
1043}
1044/*** IScriptEntry methods ***/
1045static FORCEINLINE HRESULT IScriptScriptlet_GetText(IScriptScriptlet* This,BSTR *pbstr) {
1046    return This->lpVtbl->GetText(This,pbstr);
1047}
1048static FORCEINLINE HRESULT IScriptScriptlet_SetText(IScriptScriptlet* This,LPCOLESTR psz) {
1049    return This->lpVtbl->SetText(This,psz);
1050}
1051static FORCEINLINE HRESULT IScriptScriptlet_GetBody(IScriptScriptlet* This,BSTR *pbstr) {
1052    return This->lpVtbl->GetBody(This,pbstr);
1053}
1054static FORCEINLINE HRESULT IScriptScriptlet_SetBody(IScriptScriptlet* This,LPCOLESTR psz) {
1055    return This->lpVtbl->SetBody(This,psz);
1056}
1057static FORCEINLINE HRESULT IScriptScriptlet_GetName(IScriptScriptlet* This,BSTR *pbstr) {
1058    return This->lpVtbl->GetName(This,pbstr);
1059}
1060static FORCEINLINE HRESULT IScriptScriptlet_SetName(IScriptScriptlet* This,LPCOLESTR psz) {
1061    return This->lpVtbl->SetName(This,psz);
1062}
1063static FORCEINLINE HRESULT IScriptScriptlet_GetItemName(IScriptScriptlet* This,BSTR *pbstr) {
1064    return This->lpVtbl->GetItemName(This,pbstr);
1065}
1066static FORCEINLINE HRESULT IScriptScriptlet_SetItemName(IScriptScriptlet* This,LPCOLESTR psz) {
1067    return This->lpVtbl->SetItemName(This,psz);
1068}
1069static FORCEINLINE HRESULT IScriptScriptlet_GetSignature(IScriptScriptlet* This,ITypeInfo **ppti,ULONG *piMethod) {
1070    return This->lpVtbl->GetSignature(This,ppti,piMethod);
1071}
1072static FORCEINLINE HRESULT IScriptScriptlet_SetSignature(IScriptScriptlet* This,ITypeInfo *pti,ULONG iMethod) {
1073    return This->lpVtbl->SetSignature(This,pti,iMethod);
1074}
1075static FORCEINLINE HRESULT IScriptScriptlet_GetRange(IScriptScriptlet* This,ULONG *pichMin,ULONG *pcch) {
1076    return This->lpVtbl->GetRange(This,pichMin,pcch);
1077}
1078/*** IScriptScriptlet methods ***/
1079static FORCEINLINE HRESULT IScriptScriptlet_GetSubItemName(IScriptScriptlet* This,BSTR *pbstr) {
1080    return This->lpVtbl->GetSubItemName(This,pbstr);
1081}
1082static FORCEINLINE HRESULT IScriptScriptlet_SetSubItemName(IScriptScriptlet* This,LPCOLESTR psz) {
1083    return This->lpVtbl->SetSubItemName(This,psz);
1084}
1085static FORCEINLINE HRESULT IScriptScriptlet_GetEventName(IScriptScriptlet* This,BSTR *pbstr) {
1086    return This->lpVtbl->GetEventName(This,pbstr);
1087}
1088static FORCEINLINE HRESULT IScriptScriptlet_SetEventName(IScriptScriptlet* This,LPCOLESTR psz) {
1089    return This->lpVtbl->SetEventName(This,psz);
1090}
1091static FORCEINLINE HRESULT IScriptScriptlet_GetSimpleEventName(IScriptScriptlet* This,BSTR *pbstr) {
1092    return This->lpVtbl->GetSimpleEventName(This,pbstr);
1093}
1094static FORCEINLINE HRESULT IScriptScriptlet_SetSimpleEventName(IScriptScriptlet* This,LPCOLESTR psz) {
1095    return This->lpVtbl->SetSimpleEventName(This,psz);
1096}
1097#endif
1098#endif
1099
1100#endif
1101
1102HRESULT STDMETHODCALLTYPE IScriptScriptlet_GetSubItemName_Proxy(
1103    IScriptScriptlet* This,
1104    BSTR *pbstr);
1105void __RPC_STUB IScriptScriptlet_GetSubItemName_Stub(
1106    IRpcStubBuffer* This,
1107    IRpcChannelBuffer* pRpcChannelBuffer,
1108    PRPC_MESSAGE pRpcMessage,
1109    DWORD* pdwStubPhase);
1110HRESULT STDMETHODCALLTYPE IScriptScriptlet_SetSubItemName_Proxy(
1111    IScriptScriptlet* This,
1112    LPCOLESTR psz);
1113void __RPC_STUB IScriptScriptlet_SetSubItemName_Stub(
1114    IRpcStubBuffer* This,
1115    IRpcChannelBuffer* pRpcChannelBuffer,
1116    PRPC_MESSAGE pRpcMessage,
1117    DWORD* pdwStubPhase);
1118HRESULT STDMETHODCALLTYPE IScriptScriptlet_GetEventName_Proxy(
1119    IScriptScriptlet* This,
1120    BSTR *pbstr);
1121void __RPC_STUB IScriptScriptlet_GetEventName_Stub(
1122    IRpcStubBuffer* This,
1123    IRpcChannelBuffer* pRpcChannelBuffer,
1124    PRPC_MESSAGE pRpcMessage,
1125    DWORD* pdwStubPhase);
1126HRESULT STDMETHODCALLTYPE IScriptScriptlet_SetEventName_Proxy(
1127    IScriptScriptlet* This,
1128    LPCOLESTR psz);
1129void __RPC_STUB IScriptScriptlet_SetEventName_Stub(
1130    IRpcStubBuffer* This,
1131    IRpcChannelBuffer* pRpcChannelBuffer,
1132    PRPC_MESSAGE pRpcMessage,
1133    DWORD* pdwStubPhase);
1134HRESULT STDMETHODCALLTYPE IScriptScriptlet_GetSimpleEventName_Proxy(
1135    IScriptScriptlet* This,
1136    BSTR *pbstr);
1137void __RPC_STUB IScriptScriptlet_GetSimpleEventName_Stub(
1138    IRpcStubBuffer* This,
1139    IRpcChannelBuffer* pRpcChannelBuffer,
1140    PRPC_MESSAGE pRpcMessage,
1141    DWORD* pdwStubPhase);
1142HRESULT STDMETHODCALLTYPE IScriptScriptlet_SetSimpleEventName_Proxy(
1143    IScriptScriptlet* This,
1144    LPCOLESTR psz);
1145void __RPC_STUB IScriptScriptlet_SetSimpleEventName_Stub(
1146    IRpcStubBuffer* This,
1147    IRpcChannelBuffer* pRpcChannelBuffer,
1148    PRPC_MESSAGE pRpcMessage,
1149    DWORD* pdwStubPhase);
1150
1151#endif  /* __IScriptScriptlet_INTERFACE_DEFINED__ */
1152
1153/*****************************************************************************
1154 * IActiveScriptAuthor interface
1155 */
1156#ifndef __IActiveScriptAuthor_INTERFACE_DEFINED__
1157#define __IActiveScriptAuthor_INTERFACE_DEFINED__
1158
1159DEFINE_GUID(IID_IActiveScriptAuthor, 0x9c109da0, 0x7006, 0x11d1, 0xb3,0x6c, 0x00,0xa0,0xc9,0x11,0xe8,0xb2);
1160#if defined(__cplusplus) && !defined(CINTERFACE)
1161MIDL_INTERFACE("9c109da0-7006-11d1-b36c-00a0c911e8b2")
1162IActiveScriptAuthor : public IUnknown
1163{
1164    virtual HRESULT STDMETHODCALLTYPE AddNamedItem(
1165        LPCOLESTR pszName,
1166        DWORD dwFlags,
1167        IDispatch *pdisp) = 0;
1168
1169    virtual HRESULT STDMETHODCALLTYPE AddScriptlet(
1170        LPCOLESTR pszDefaultName,
1171        LPCOLESTR pszCode,
1172        LPCOLESTR pszItemName,
1173        LPCOLESTR pszSubItemName,
1174        LPCOLESTR pszEventName,
1175        LPCOLESTR pszDelimiter,
1176        DWORD dwCookie,
1177        DWORD dwFlags) = 0;
1178
1179    virtual HRESULT STDMETHODCALLTYPE ParseScriptText(
1180        LPCOLESTR pszCode,
1181        LPCOLESTR pszItemName,
1182        LPCOLESTR pszDelimiter,
1183        DWORD dwCookie,
1184        DWORD dwFlags) = 0;
1185
1186    virtual HRESULT STDMETHODCALLTYPE GetScriptTextAttributes(
1187        LPCOLESTR pszCode,
1188        ULONG cch,
1189        LPCOLESTR pszDelimiter,
1190        DWORD dwFlags,
1191        SOURCE_TEXT_ATTR *pattr) = 0;
1192
1193    virtual HRESULT STDMETHODCALLTYPE GetScriptletTextAttributes(
1194        LPCOLESTR pszCode,
1195        ULONG cch,
1196        LPCOLESTR pszDelimiter,
1197        DWORD dwFlags,
1198        SOURCE_TEXT_ATTR *pattr) = 0;
1199
1200    virtual HRESULT STDMETHODCALLTYPE GetRoot(
1201        IScriptNode **ppsp) = 0;
1202
1203    virtual HRESULT STDMETHODCALLTYPE GetLanguageFlags(
1204        DWORD *pgrfasa) = 0;
1205
1206    virtual HRESULT STDMETHODCALLTYPE GetEventHandler(
1207        IDispatch *pdisp,
1208        LPCOLESTR pszItem,
1209        LPCOLESTR pszSubItem,
1210        LPCOLESTR pszEvent,
1211        IScriptEntry **ppse) = 0;
1212
1213    virtual HRESULT STDMETHODCALLTYPE RemoveNamedItem(
1214        LPCOLESTR pszName) = 0;
1215
1216    virtual HRESULT STDMETHODCALLTYPE AddTypeLib(
1217        REFGUID rguidTypeLib,
1218        DWORD dwMajor,
1219        DWORD dwMinor,
1220        DWORD dwFlags) = 0;
1221
1222    virtual HRESULT STDMETHODCALLTYPE RemoveTypeLib(
1223        REFGUID rguidTypeLib,
1224        DWORD dwMajor,
1225        DWORD dwMinor) = 0;
1226
1227    virtual HRESULT STDMETHODCALLTYPE GetChars(
1228        DWORD fRequestedList,
1229        BSTR *pbstrChars) = 0;
1230
1231    virtual HRESULT STDMETHODCALLTYPE GetInfoFromContext(
1232        LPCOLESTR pszCode,
1233        ULONG cchCode,
1234        ULONG ichCurrentPosition,
1235        DWORD dwListTypesRequested,
1236        DWORD *pdwListTypesProvided,
1237        ULONG *pichListAnchorPosition,
1238        ULONG *pichFuncAnchorPosition,
1239        MEMBERID *pmemid,
1240        LONG *piCurrentParameter,
1241        IUnknown **ppunk) = 0;
1242
1243    virtual HRESULT STDMETHODCALLTYPE IsCommitChar(
1244        OLECHAR ch,
1245        WINBOOL *pfcommit) = 0;
1246
1247};
1248#ifdef __CRT_UUID_DECL
1249__CRT_UUID_DECL(IActiveScriptAuthor, 0x9c109da0, 0x7006, 0x11d1, 0xb3,0x6c, 0x00,0xa0,0xc9,0x11,0xe8,0xb2)
1250#endif
1251#else
1252typedef struct IActiveScriptAuthorVtbl {
1253    BEGIN_INTERFACE
1254
1255    /*** IUnknown methods ***/
1256    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1257        IActiveScriptAuthor* This,
1258        REFIID riid,
1259        void **ppvObject);
1260
1261    ULONG (STDMETHODCALLTYPE *AddRef)(
1262        IActiveScriptAuthor* This);
1263
1264    ULONG (STDMETHODCALLTYPE *Release)(
1265        IActiveScriptAuthor* This);
1266
1267    /*** IActiveScriptAuthor methods ***/
1268    HRESULT (STDMETHODCALLTYPE *AddNamedItem)(
1269        IActiveScriptAuthor* This,
1270        LPCOLESTR pszName,
1271        DWORD dwFlags,
1272        IDispatch *pdisp);
1273
1274    HRESULT (STDMETHODCALLTYPE *AddScriptlet)(
1275        IActiveScriptAuthor* This,
1276        LPCOLESTR pszDefaultName,
1277        LPCOLESTR pszCode,
1278        LPCOLESTR pszItemName,
1279        LPCOLESTR pszSubItemName,
1280        LPCOLESTR pszEventName,
1281        LPCOLESTR pszDelimiter,
1282        DWORD dwCookie,
1283        DWORD dwFlags);
1284
1285    HRESULT (STDMETHODCALLTYPE *ParseScriptText)(
1286        IActiveScriptAuthor* This,
1287        LPCOLESTR pszCode,
1288        LPCOLESTR pszItemName,
1289        LPCOLESTR pszDelimiter,
1290        DWORD dwCookie,
1291        DWORD dwFlags);
1292
1293    HRESULT (STDMETHODCALLTYPE *GetScriptTextAttributes)(
1294        IActiveScriptAuthor* This,
1295        LPCOLESTR pszCode,
1296        ULONG cch,
1297        LPCOLESTR pszDelimiter,
1298        DWORD dwFlags,
1299        SOURCE_TEXT_ATTR *pattr);
1300
1301    HRESULT (STDMETHODCALLTYPE *GetScriptletTextAttributes)(
1302        IActiveScriptAuthor* This,
1303        LPCOLESTR pszCode,
1304        ULONG cch,
1305        LPCOLESTR pszDelimiter,
1306        DWORD dwFlags,
1307        SOURCE_TEXT_ATTR *pattr);
1308
1309    HRESULT (STDMETHODCALLTYPE *GetRoot)(
1310        IActiveScriptAuthor* This,
1311        IScriptNode **ppsp);
1312
1313    HRESULT (STDMETHODCALLTYPE *GetLanguageFlags)(
1314        IActiveScriptAuthor* This,
1315        DWORD *pgrfasa);
1316
1317    HRESULT (STDMETHODCALLTYPE *GetEventHandler)(
1318        IActiveScriptAuthor* This,
1319        IDispatch *pdisp,
1320        LPCOLESTR pszItem,
1321        LPCOLESTR pszSubItem,
1322        LPCOLESTR pszEvent,
1323        IScriptEntry **ppse);
1324
1325    HRESULT (STDMETHODCALLTYPE *RemoveNamedItem)(
1326        IActiveScriptAuthor* This,
1327        LPCOLESTR pszName);
1328
1329    HRESULT (STDMETHODCALLTYPE *AddTypeLib)(
1330        IActiveScriptAuthor* This,
1331        REFGUID rguidTypeLib,
1332        DWORD dwMajor,
1333        DWORD dwMinor,
1334        DWORD dwFlags);
1335
1336    HRESULT (STDMETHODCALLTYPE *RemoveTypeLib)(
1337        IActiveScriptAuthor* This,
1338        REFGUID rguidTypeLib,
1339        DWORD dwMajor,
1340        DWORD dwMinor);
1341
1342    HRESULT (STDMETHODCALLTYPE *GetChars)(
1343        IActiveScriptAuthor* This,
1344        DWORD fRequestedList,
1345        BSTR *pbstrChars);
1346
1347    HRESULT (STDMETHODCALLTYPE *GetInfoFromContext)(
1348        IActiveScriptAuthor* This,
1349        LPCOLESTR pszCode,
1350        ULONG cchCode,
1351        ULONG ichCurrentPosition,
1352        DWORD dwListTypesRequested,
1353        DWORD *pdwListTypesProvided,
1354        ULONG *pichListAnchorPosition,
1355        ULONG *pichFuncAnchorPosition,
1356        MEMBERID *pmemid,
1357        LONG *piCurrentParameter,
1358        IUnknown **ppunk);
1359
1360    HRESULT (STDMETHODCALLTYPE *IsCommitChar)(
1361        IActiveScriptAuthor* This,
1362        OLECHAR ch,
1363        WINBOOL *pfcommit);
1364
1365    END_INTERFACE
1366} IActiveScriptAuthorVtbl;
1367interface IActiveScriptAuthor {
1368    CONST_VTBL IActiveScriptAuthorVtbl* lpVtbl;
1369};
1370
1371#ifdef COBJMACROS
1372#ifndef WIDL_C_INLINE_WRAPPERS
1373/*** IUnknown methods ***/
1374#define IActiveScriptAuthor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1375#define IActiveScriptAuthor_AddRef(This) (This)->lpVtbl->AddRef(This)
1376#define IActiveScriptAuthor_Release(This) (This)->lpVtbl->Release(This)
1377/*** IActiveScriptAuthor methods ***/
1378#define IActiveScriptAuthor_AddNamedItem(This,pszName,dwFlags,pdisp) (This)->lpVtbl->AddNamedItem(This,pszName,dwFlags,pdisp)
1379#define IActiveScriptAuthor_AddScriptlet(This,pszDefaultName,pszCode,pszItemName,pszSubItemName,pszEventName,pszDelimiter,dwCookie,dwFlags) (This)->lpVtbl->AddScriptlet(This,pszDefaultName,pszCode,pszItemName,pszSubItemName,pszEventName,pszDelimiter,dwCookie,dwFlags)
1380#define IActiveScriptAuthor_ParseScriptText(This,pszCode,pszItemName,pszDelimiter,dwCookie,dwFlags) (This)->lpVtbl->ParseScriptText(This,pszCode,pszItemName,pszDelimiter,dwCookie,dwFlags)
1381#define IActiveScriptAuthor_GetScriptTextAttributes(This,pszCode,cch,pszDelimiter,dwFlags,pattr) (This)->lpVtbl->GetScriptTextAttributes(This,pszCode,cch,pszDelimiter,dwFlags,pattr)
1382#define IActiveScriptAuthor_GetScriptletTextAttributes(This,pszCode,cch,pszDelimiter,dwFlags,pattr) (This)->lpVtbl->GetScriptletTextAttributes(This,pszCode,cch,pszDelimiter,dwFlags,pattr)
1383#define IActiveScriptAuthor_GetRoot(This,ppsp) (This)->lpVtbl->GetRoot(This,ppsp)
1384#define IActiveScriptAuthor_GetLanguageFlags(This,pgrfasa) (This)->lpVtbl->GetLanguageFlags(This,pgrfasa)
1385#define IActiveScriptAuthor_GetEventHandler(This,pdisp,pszItem,pszSubItem,pszEvent,ppse) (This)->lpVtbl->GetEventHandler(This,pdisp,pszItem,pszSubItem,pszEvent,ppse)
1386#define IActiveScriptAuthor_RemoveNamedItem(This,pszName) (This)->lpVtbl->RemoveNamedItem(This,pszName)
1387#define IActiveScriptAuthor_AddTypeLib(This,rguidTypeLib,dwMajor,dwMinor,dwFlags) (This)->lpVtbl->AddTypeLib(This,rguidTypeLib,dwMajor,dwMinor,dwFlags)
1388#define IActiveScriptAuthor_RemoveTypeLib(This,rguidTypeLib,dwMajor,dwMinor) (This)->lpVtbl->RemoveTypeLib(This,rguidTypeLib,dwMajor,dwMinor)
1389#define IActiveScriptAuthor_GetChars(This,fRequestedList,pbstrChars) (This)->lpVtbl->GetChars(This,fRequestedList,pbstrChars)
1390#define IActiveScriptAuthor_GetInfoFromContext(This,pszCode,cchCode,ichCurrentPosition,dwListTypesRequested,pdwListTypesProvided,pichListAnchorPosition,pichFuncAnchorPosition,pmemid,piCurrentParameter,ppunk) (This)->lpVtbl->GetInfoFromContext(This,pszCode,cchCode,ichCurrentPosition,dwListTypesRequested,pdwListTypesProvided,pichListAnchorPosition,pichFuncAnchorPosition,pmemid,piCurrentParameter,ppunk)
1391#define IActiveScriptAuthor_IsCommitChar(This,ch,pfcommit) (This)->lpVtbl->IsCommitChar(This,ch,pfcommit)
1392#else
1393/*** IUnknown methods ***/
1394static FORCEINLINE HRESULT IActiveScriptAuthor_QueryInterface(IActiveScriptAuthor* This,REFIID riid,void **ppvObject) {
1395    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1396}
1397static FORCEINLINE ULONG IActiveScriptAuthor_AddRef(IActiveScriptAuthor* This) {
1398    return This->lpVtbl->AddRef(This);
1399}
1400static FORCEINLINE ULONG IActiveScriptAuthor_Release(IActiveScriptAuthor* This) {
1401    return This->lpVtbl->Release(This);
1402}
1403/*** IActiveScriptAuthor methods ***/
1404static FORCEINLINE HRESULT IActiveScriptAuthor_AddNamedItem(IActiveScriptAuthor* This,LPCOLESTR pszName,DWORD dwFlags,IDispatch *pdisp) {
1405    return This->lpVtbl->AddNamedItem(This,pszName,dwFlags,pdisp);
1406}
1407static FORCEINLINE HRESULT IActiveScriptAuthor_AddScriptlet(IActiveScriptAuthor* This,LPCOLESTR pszDefaultName,LPCOLESTR pszCode,LPCOLESTR pszItemName,LPCOLESTR pszSubItemName,LPCOLESTR pszEventName,LPCOLESTR pszDelimiter,DWORD dwCookie,DWORD dwFlags) {
1408    return This->lpVtbl->AddScriptlet(This,pszDefaultName,pszCode,pszItemName,pszSubItemName,pszEventName,pszDelimiter,dwCookie,dwFlags);
1409}
1410static FORCEINLINE HRESULT IActiveScriptAuthor_ParseScriptText(IActiveScriptAuthor* This,LPCOLESTR pszCode,LPCOLESTR pszItemName,LPCOLESTR pszDelimiter,DWORD dwCookie,DWORD dwFlags) {
1411    return This->lpVtbl->ParseScriptText(This,pszCode,pszItemName,pszDelimiter,dwCookie,dwFlags);
1412}
1413static FORCEINLINE HRESULT IActiveScriptAuthor_GetScriptTextAttributes(IActiveScriptAuthor* This,LPCOLESTR pszCode,ULONG cch,LPCOLESTR pszDelimiter,DWORD dwFlags,SOURCE_TEXT_ATTR *pattr) {
1414    return This->lpVtbl->GetScriptTextAttributes(This,pszCode,cch,pszDelimiter,dwFlags,pattr);
1415}
1416static FORCEINLINE HRESULT IActiveScriptAuthor_GetScriptletTextAttributes(IActiveScriptAuthor* This,LPCOLESTR pszCode,ULONG cch,LPCOLESTR pszDelimiter,DWORD dwFlags,SOURCE_TEXT_ATTR *pattr) {
1417    return This->lpVtbl->GetScriptletTextAttributes(This,pszCode,cch,pszDelimiter,dwFlags,pattr);
1418}
1419static FORCEINLINE HRESULT IActiveScriptAuthor_GetRoot(IActiveScriptAuthor* This,IScriptNode **ppsp) {
1420    return This->lpVtbl->GetRoot(This,ppsp);
1421}
1422static FORCEINLINE HRESULT IActiveScriptAuthor_GetLanguageFlags(IActiveScriptAuthor* This,DWORD *pgrfasa) {
1423    return This->lpVtbl->GetLanguageFlags(This,pgrfasa);
1424}
1425static FORCEINLINE HRESULT IActiveScriptAuthor_GetEventHandler(IActiveScriptAuthor* This,IDispatch *pdisp,LPCOLESTR pszItem,LPCOLESTR pszSubItem,LPCOLESTR pszEvent,IScriptEntry **ppse) {
1426    return This->lpVtbl->GetEventHandler(This,pdisp,pszItem,pszSubItem,pszEvent,ppse);
1427}
1428static FORCEINLINE HRESULT IActiveScriptAuthor_RemoveNamedItem(IActiveScriptAuthor* This,LPCOLESTR pszName) {
1429    return This->lpVtbl->RemoveNamedItem(This,pszName);
1430}
1431static FORCEINLINE HRESULT IActiveScriptAuthor_AddTypeLib(IActiveScriptAuthor* This,REFGUID rguidTypeLib,DWORD dwMajor,DWORD dwMinor,DWORD dwFlags) {
1432    return This->lpVtbl->AddTypeLib(This,rguidTypeLib,dwMajor,dwMinor,dwFlags);
1433}
1434static FORCEINLINE HRESULT IActiveScriptAuthor_RemoveTypeLib(IActiveScriptAuthor* This,REFGUID rguidTypeLib,DWORD dwMajor,DWORD dwMinor) {
1435    return This->lpVtbl->RemoveTypeLib(This,rguidTypeLib,dwMajor,dwMinor);
1436}
1437static FORCEINLINE HRESULT IActiveScriptAuthor_GetChars(IActiveScriptAuthor* This,DWORD fRequestedList,BSTR *pbstrChars) {
1438    return This->lpVtbl->GetChars(This,fRequestedList,pbstrChars);
1439}
1440static FORCEINLINE HRESULT IActiveScriptAuthor_GetInfoFromContext(IActiveScriptAuthor* This,LPCOLESTR pszCode,ULONG cchCode,ULONG ichCurrentPosition,DWORD dwListTypesRequested,DWORD *pdwListTypesProvided,ULONG *pichListAnchorPosition,ULONG *pichFuncAnchorPosition,MEMBERID *pmemid,LONG *piCurrentParameter,IUnknown **ppunk) {
1441    return This->lpVtbl->GetInfoFromContext(This,pszCode,cchCode,ichCurrentPosition,dwListTypesRequested,pdwListTypesProvided,pichListAnchorPosition,pichFuncAnchorPosition,pmemid,piCurrentParameter,ppunk);
1442}
1443static FORCEINLINE HRESULT IActiveScriptAuthor_IsCommitChar(IActiveScriptAuthor* This,OLECHAR ch,WINBOOL *pfcommit) {
1444    return This->lpVtbl->IsCommitChar(This,ch,pfcommit);
1445}
1446#endif
1447#endif
1448
1449#endif
1450
1451HRESULT STDMETHODCALLTYPE IActiveScriptAuthor_AddNamedItem_Proxy(
1452    IActiveScriptAuthor* This,
1453    LPCOLESTR pszName,
1454    DWORD dwFlags,
1455    IDispatch *pdisp);
1456void __RPC_STUB IActiveScriptAuthor_AddNamedItem_Stub(
1457    IRpcStubBuffer* This,
1458    IRpcChannelBuffer* pRpcChannelBuffer,
1459    PRPC_MESSAGE pRpcMessage,
1460    DWORD* pdwStubPhase);
1461HRESULT STDMETHODCALLTYPE IActiveScriptAuthor_AddScriptlet_Proxy(
1462    IActiveScriptAuthor* This,
1463    LPCOLESTR pszDefaultName,
1464    LPCOLESTR pszCode,
1465    LPCOLESTR pszItemName,
1466    LPCOLESTR pszSubItemName,
1467    LPCOLESTR pszEventName,
1468    LPCOLESTR pszDelimiter,
1469    DWORD dwCookie,
1470    DWORD dwFlags);
1471void __RPC_STUB IActiveScriptAuthor_AddScriptlet_Stub(
1472    IRpcStubBuffer* This,
1473    IRpcChannelBuffer* pRpcChannelBuffer,
1474    PRPC_MESSAGE pRpcMessage,
1475    DWORD* pdwStubPhase);
1476HRESULT STDMETHODCALLTYPE IActiveScriptAuthor_ParseScriptText_Proxy(
1477    IActiveScriptAuthor* This,
1478    LPCOLESTR pszCode,
1479    LPCOLESTR pszItemName,
1480    LPCOLESTR pszDelimiter,
1481    DWORD dwCookie,
1482    DWORD dwFlags);
1483void __RPC_STUB IActiveScriptAuthor_ParseScriptText_Stub(
1484    IRpcStubBuffer* This,
1485    IRpcChannelBuffer* pRpcChannelBuffer,
1486    PRPC_MESSAGE pRpcMessage,
1487    DWORD* pdwStubPhase);
1488HRESULT STDMETHODCALLTYPE IActiveScriptAuthor_GetScriptTextAttributes_Proxy(
1489    IActiveScriptAuthor* This,
1490    LPCOLESTR pszCode,
1491    ULONG cch,
1492    LPCOLESTR pszDelimiter,
1493    DWORD dwFlags,
1494    SOURCE_TEXT_ATTR *pattr);
1495void __RPC_STUB IActiveScriptAuthor_GetScriptTextAttributes_Stub(
1496    IRpcStubBuffer* This,
1497    IRpcChannelBuffer* pRpcChannelBuffer,
1498    PRPC_MESSAGE pRpcMessage,
1499    DWORD* pdwStubPhase);
1500HRESULT STDMETHODCALLTYPE IActiveScriptAuthor_GetScriptletTextAttributes_Proxy(
1501    IActiveScriptAuthor* This,
1502    LPCOLESTR pszCode,
1503    ULONG cch,
1504    LPCOLESTR pszDelimiter,
1505    DWORD dwFlags,
1506    SOURCE_TEXT_ATTR *pattr);
1507void __RPC_STUB IActiveScriptAuthor_GetScriptletTextAttributes_Stub(
1508    IRpcStubBuffer* This,
1509    IRpcChannelBuffer* pRpcChannelBuffer,
1510    PRPC_MESSAGE pRpcMessage,
1511    DWORD* pdwStubPhase);
1512HRESULT STDMETHODCALLTYPE IActiveScriptAuthor_GetRoot_Proxy(
1513    IActiveScriptAuthor* This,
1514    IScriptNode **ppsp);
1515void __RPC_STUB IActiveScriptAuthor_GetRoot_Stub(
1516    IRpcStubBuffer* This,
1517    IRpcChannelBuffer* pRpcChannelBuffer,
1518    PRPC_MESSAGE pRpcMessage,
1519    DWORD* pdwStubPhase);
1520HRESULT STDMETHODCALLTYPE IActiveScriptAuthor_GetLanguageFlags_Proxy(
1521    IActiveScriptAuthor* This,
1522    DWORD *pgrfasa);
1523void __RPC_STUB IActiveScriptAuthor_GetLanguageFlags_Stub(
1524    IRpcStubBuffer* This,
1525    IRpcChannelBuffer* pRpcChannelBuffer,
1526    PRPC_MESSAGE pRpcMessage,
1527    DWORD* pdwStubPhase);
1528HRESULT STDMETHODCALLTYPE IActiveScriptAuthor_GetEventHandler_Proxy(
1529    IActiveScriptAuthor* This,
1530    IDispatch *pdisp,
1531    LPCOLESTR pszItem,
1532    LPCOLESTR pszSubItem,
1533    LPCOLESTR pszEvent,
1534    IScriptEntry **ppse);
1535void __RPC_STUB IActiveScriptAuthor_GetEventHandler_Stub(
1536    IRpcStubBuffer* This,
1537    IRpcChannelBuffer* pRpcChannelBuffer,
1538    PRPC_MESSAGE pRpcMessage,
1539    DWORD* pdwStubPhase);
1540HRESULT STDMETHODCALLTYPE IActiveScriptAuthor_RemoveNamedItem_Proxy(
1541    IActiveScriptAuthor* This,
1542    LPCOLESTR pszName);
1543void __RPC_STUB IActiveScriptAuthor_RemoveNamedItem_Stub(
1544    IRpcStubBuffer* This,
1545    IRpcChannelBuffer* pRpcChannelBuffer,
1546    PRPC_MESSAGE pRpcMessage,
1547    DWORD* pdwStubPhase);
1548HRESULT STDMETHODCALLTYPE IActiveScriptAuthor_AddTypeLib_Proxy(
1549    IActiveScriptAuthor* This,
1550    REFGUID rguidTypeLib,
1551    DWORD dwMajor,
1552    DWORD dwMinor,
1553    DWORD dwFlags);
1554void __RPC_STUB IActiveScriptAuthor_AddTypeLib_Stub(
1555    IRpcStubBuffer* This,
1556    IRpcChannelBuffer* pRpcChannelBuffer,
1557    PRPC_MESSAGE pRpcMessage,
1558    DWORD* pdwStubPhase);
1559HRESULT STDMETHODCALLTYPE IActiveScriptAuthor_RemoveTypeLib_Proxy(
1560    IActiveScriptAuthor* This,
1561    REFGUID rguidTypeLib,
1562    DWORD dwMajor,
1563    DWORD dwMinor);
1564void __RPC_STUB IActiveScriptAuthor_RemoveTypeLib_Stub(
1565    IRpcStubBuffer* This,
1566    IRpcChannelBuffer* pRpcChannelBuffer,
1567    PRPC_MESSAGE pRpcMessage,
1568    DWORD* pdwStubPhase);
1569HRESULT STDMETHODCALLTYPE IActiveScriptAuthor_GetChars_Proxy(
1570    IActiveScriptAuthor* This,
1571    DWORD fRequestedList,
1572    BSTR *pbstrChars);
1573void __RPC_STUB IActiveScriptAuthor_GetChars_Stub(
1574    IRpcStubBuffer* This,
1575    IRpcChannelBuffer* pRpcChannelBuffer,
1576    PRPC_MESSAGE pRpcMessage,
1577    DWORD* pdwStubPhase);
1578HRESULT STDMETHODCALLTYPE IActiveScriptAuthor_GetInfoFromContext_Proxy(
1579    IActiveScriptAuthor* This,
1580    LPCOLESTR pszCode,
1581    ULONG cchCode,
1582    ULONG ichCurrentPosition,
1583    DWORD dwListTypesRequested,
1584    DWORD *pdwListTypesProvided,
1585    ULONG *pichListAnchorPosition,
1586    ULONG *pichFuncAnchorPosition,
1587    MEMBERID *pmemid,
1588    LONG *piCurrentParameter,
1589    IUnknown **ppunk);
1590void __RPC_STUB IActiveScriptAuthor_GetInfoFromContext_Stub(
1591    IRpcStubBuffer* This,
1592    IRpcChannelBuffer* pRpcChannelBuffer,
1593    PRPC_MESSAGE pRpcMessage,
1594    DWORD* pdwStubPhase);
1595HRESULT STDMETHODCALLTYPE IActiveScriptAuthor_IsCommitChar_Proxy(
1596    IActiveScriptAuthor* This,
1597    OLECHAR ch,
1598    WINBOOL *pfcommit);
1599void __RPC_STUB IActiveScriptAuthor_IsCommitChar_Stub(
1600    IRpcStubBuffer* This,
1601    IRpcChannelBuffer* pRpcChannelBuffer,
1602    PRPC_MESSAGE pRpcMessage,
1603    DWORD* pdwStubPhase);
1604
1605#endif  /* __IActiveScriptAuthor_INTERFACE_DEFINED__ */
1606
1607/*****************************************************************************
1608 * IActiveScriptAuthorProcedure interface
1609 */
1610#ifndef __IActiveScriptAuthorProcedure_INTERFACE_DEFINED__
1611#define __IActiveScriptAuthorProcedure_INTERFACE_DEFINED__
1612
1613DEFINE_GUID(IID_IActiveScriptAuthorProcedure, 0x7e2d4b70, 0xbd9a, 0x11d0, 0x93,0x36, 0x00,0xa0,0xc9,0x0d,0xca,0xa9);
1614#if defined(__cplusplus) && !defined(CINTERFACE)
1615MIDL_INTERFACE("7e2d4b70-bd9a-11d0-9336-00a0c90dcaa9")
1616IActiveScriptAuthorProcedure : public IUnknown
1617{
1618    virtual HRESULT STDMETHODCALLTYPE ParseProcedureText(
1619        LPCOLESTR pszCode,
1620        LPCOLESTR pszFormalParams,
1621        LPCOLESTR pszProcedureName,
1622        LPCOLESTR pszItemName,
1623        LPCOLESTR pszDelimiter,
1624        DWORD dwCookie,
1625        DWORD dwFlags,
1626        IDispatch *pdispFor) = 0;
1627
1628};
1629#ifdef __CRT_UUID_DECL
1630__CRT_UUID_DECL(IActiveScriptAuthorProcedure, 0x7e2d4b70, 0xbd9a, 0x11d0, 0x93,0x36, 0x00,0xa0,0xc9,0x0d,0xca,0xa9)
1631#endif
1632#else
1633typedef struct IActiveScriptAuthorProcedureVtbl {
1634    BEGIN_INTERFACE
1635
1636    /*** IUnknown methods ***/
1637    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1638        IActiveScriptAuthorProcedure* This,
1639        REFIID riid,
1640        void **ppvObject);
1641
1642    ULONG (STDMETHODCALLTYPE *AddRef)(
1643        IActiveScriptAuthorProcedure* This);
1644
1645    ULONG (STDMETHODCALLTYPE *Release)(
1646        IActiveScriptAuthorProcedure* This);
1647
1648    /*** IActiveScriptAuthorProcedure methods ***/
1649    HRESULT (STDMETHODCALLTYPE *ParseProcedureText)(
1650        IActiveScriptAuthorProcedure* This,
1651        LPCOLESTR pszCode,
1652        LPCOLESTR pszFormalParams,
1653        LPCOLESTR pszProcedureName,
1654        LPCOLESTR pszItemName,
1655        LPCOLESTR pszDelimiter,
1656        DWORD dwCookie,
1657        DWORD dwFlags,
1658        IDispatch *pdispFor);
1659
1660    END_INTERFACE
1661} IActiveScriptAuthorProcedureVtbl;
1662interface IActiveScriptAuthorProcedure {
1663    CONST_VTBL IActiveScriptAuthorProcedureVtbl* lpVtbl;
1664};
1665
1666#ifdef COBJMACROS
1667#ifndef WIDL_C_INLINE_WRAPPERS
1668/*** IUnknown methods ***/
1669#define IActiveScriptAuthorProcedure_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1670#define IActiveScriptAuthorProcedure_AddRef(This) (This)->lpVtbl->AddRef(This)
1671#define IActiveScriptAuthorProcedure_Release(This) (This)->lpVtbl->Release(This)
1672/*** IActiveScriptAuthorProcedure methods ***/
1673#define IActiveScriptAuthorProcedure_ParseProcedureText(This,pszCode,pszFormalParams,pszProcedureName,pszItemName,pszDelimiter,dwCookie,dwFlags,pdispFor) (This)->lpVtbl->ParseProcedureText(This,pszCode,pszFormalParams,pszProcedureName,pszItemName,pszDelimiter,dwCookie,dwFlags,pdispFor)
1674#else
1675/*** IUnknown methods ***/
1676static FORCEINLINE HRESULT IActiveScriptAuthorProcedure_QueryInterface(IActiveScriptAuthorProcedure* This,REFIID riid,void **ppvObject) {
1677    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1678}
1679static FORCEINLINE ULONG IActiveScriptAuthorProcedure_AddRef(IActiveScriptAuthorProcedure* This) {
1680    return This->lpVtbl->AddRef(This);
1681}
1682static FORCEINLINE ULONG IActiveScriptAuthorProcedure_Release(IActiveScriptAuthorProcedure* This) {
1683    return This->lpVtbl->Release(This);
1684}
1685/*** IActiveScriptAuthorProcedure methods ***/
1686static FORCEINLINE HRESULT IActiveScriptAuthorProcedure_ParseProcedureText(IActiveScriptAuthorProcedure* This,LPCOLESTR pszCode,LPCOLESTR pszFormalParams,LPCOLESTR pszProcedureName,LPCOLESTR pszItemName,LPCOLESTR pszDelimiter,DWORD dwCookie,DWORD dwFlags,IDispatch *pdispFor) {
1687    return This->lpVtbl->ParseProcedureText(This,pszCode,pszFormalParams,pszProcedureName,pszItemName,pszDelimiter,dwCookie,dwFlags,pdispFor);
1688}
1689#endif
1690#endif
1691
1692#endif
1693
1694HRESULT STDMETHODCALLTYPE IActiveScriptAuthorProcedure_ParseProcedureText_Proxy(
1695    IActiveScriptAuthorProcedure* This,
1696    LPCOLESTR pszCode,
1697    LPCOLESTR pszFormalParams,
1698    LPCOLESTR pszProcedureName,
1699    LPCOLESTR pszItemName,
1700    LPCOLESTR pszDelimiter,
1701    DWORD dwCookie,
1702    DWORD dwFlags,
1703    IDispatch *pdispFor);
1704void __RPC_STUB IActiveScriptAuthorProcedure_ParseProcedureText_Stub(
1705    IRpcStubBuffer* This,
1706    IRpcChannelBuffer* pRpcChannelBuffer,
1707    PRPC_MESSAGE pRpcMessage,
1708    DWORD* pdwStubPhase);
1709
1710#endif  /* __IActiveScriptAuthorProcedure_INTERFACE_DEFINED__ */
1711
1712#endif
1713
1714#endif
1715/* Begin additional prototypes for all interfaces */
1716
1717ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
1718unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
1719unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
1720void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
1721
1722/* End additional prototypes */
1723
1724#ifdef __cplusplus
1725}
1726#endif
1727
1728#endif /* __activaut_h__ */
1729