Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
2.4 KiB

  1. #ifndef SCRPTLET_H
  2. #define SCRPTLET_H
  3. // If an error is reported successfully using IScriptletSite, then this
  4. // error code is propagated up the call stack.
  5. #define E_REPORTED 0x80004100L
  6. DEFINE_GUID(CLSID_ScriptletConstructor, 0x21617250, 0xa071, 0x11d1, 0x89, 0xb6, 0x0, 0x60, 0x8, 0xc3, 0xfb, 0xfc);
  7. DEFINE_GUID(SID_ScriptletSite, 0x22a98050, 0xa65d, 0x11d1, 0x89, 0xbe, 0x0, 0x60, 0x8, 0xc3, 0xfb, 0xfc);
  8. /***************************************************************************
  9. IScriptletConstructor
  10. We need to move these definitions into an idl so we can generate the
  11. appropriate proxy/stub code.
  12. ***************************************************************************/
  13. DEFINE_GUID(IID_IScriptletConstructor, 0xc265fb00, 0x9fa4, 0x11d1, 0x89, 0xb6, 0x0, 0x60, 0x8, 0xc3, 0xfb, 0xfc);
  14. interface IScriptletConstructor : public IUnknown
  15. {
  16. STDMETHOD(Load)(LPCOLESTR pstrSource) PURE;
  17. STDMETHOD(Create)(LPCOLESTR pstrId, IUnknown *punkContext,
  18. IUnknown *punkOuter, REFIID riid, void **ppv) PURE;
  19. STDMETHOD(Register)(LPCOLESTR pstrSourceFileName) PURE;
  20. STDMETHOD(Unregister)(void) PURE;
  21. STDMETHOD(AddCoclassTypeInfo)(ICreateTypeLib *ptclib) PURE;
  22. STDMETHOD(IsDefined)(LPCOLESTR pstrId) PURE;
  23. };
  24. /***************************************************************************
  25. IScriptletError
  26. ***************************************************************************/
  27. DEFINE_GUID(IID_IScriptletError, 0xdf9f3d20, 0xa670, 0x11d1, 0x89, 0xbe, 0x0, 0x60, 0x8, 0xc3, 0xfb, 0xfc);
  28. interface IScriptletError : public IUnknown
  29. {
  30. STDMETHOD(GetExceptionInfo)(EXCEPINFO *pexcepinfo) PURE;
  31. STDMETHOD(GetSourcePosition)(ULONG *pline, ULONG *pcolumn) PURE;
  32. STDMETHOD(GetSourceLineText)(BSTR *pbstrSourceLine) PURE;
  33. };
  34. /***************************************************************************
  35. IScriptletSite
  36. In addition to the dispids defined below, the site may also choose to
  37. handle the follwing dispids.
  38. DISPID_ERROREVENT
  39. DISPID_AMBIENT_LOCALEID
  40. ***************************************************************************/
  41. #define DISPID_SCRIPTLET_ALLOWDEBUG 1
  42. DEFINE_GUID(IID_IScriptletSite, 0xc5f21c30, 0xa7df, 0x11d1, 0x89, 0xbe, 0x0, 0x60, 0x8, 0xc3, 0xfb, 0xfc);
  43. interface IScriptletSite : public IUnknown
  44. {
  45. STDMETHOD(OnEvent)(DISPID dispid, int cArg, VARIANT *prgvarArg,
  46. VARIANT *pvarRes) PURE;
  47. STDMETHOD(GetProperty)(DISPID dispid, VARIANT *pvarRes) PURE;
  48. };
  49. #endif // SCRPTLET_H