home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 May / PCP163A.iso / Runimage / Cbuilder4 / Include / JAVAEXEC.H < prev    next >
Encoding:
C/C++ Source or Header  |  1999-01-26  |  4.9 KB  |  147 lines

  1. // (C) Copyright 1996-1997, Microsoft Corporation.
  2.  
  3. //----------------------------------------------------------------------------
  4. // Public header for invocation facilities provided by MSJava.dll
  5. //----------------------------------------------------------------------------
  6.  
  7. #ifndef __javaexec_h__
  8. #pragma option push -b -a8 -pc -A- /*P_O_Push_S*/
  9. #define __javaexec_h__
  10.  
  11. #ifdef __cplusplus
  12. interface IEnumJAVAPROPERTY;
  13. interface IJavaExecute;
  14. interface IJavaExecute2;
  15. #else
  16. typedef interface IEnumJAVAPROPERTY IEnumJAVAPROPERTY;
  17. typedef interface IJavaExecute IJavaExecute;
  18. typedef interface IJavaExecute2 IJavaExecute2;
  19. #endif
  20.  
  21. typedef IEnumJAVAPROPERTY *LPENUMJAVAPROPERTY;
  22. typedef IJavaExecute *LPJAVAEXECUTE;
  23. typedef IJavaExecute2 *LPJAVAEXECUTE2;
  24.  
  25.  
  26. typedef struct {
  27.     LPOLESTR pszKey;
  28.     LPOLESTR pszValue;
  29. }   JAVAPROPERTY, * LPJAVAPROPERTY;
  30.  
  31. // IJavaExecute2::SetClassSource Type Flags
  32.  
  33. #define CLASS_SOURCE_TYPE_MODULERESOURCES  0x00000001
  34. #define CLASS_SOURCE_TYPE_ISTORAGE         0x00000002
  35.  
  36. // Data structure to be passed to IJavaExecute2::SetClassSource
  37. // when using the CLASS_SOURCE_TYPE_MODULERESOURCES source type.
  38.  
  39. typedef struct {
  40.     HMODULE hModule;
  41.     DWORD   dwResourceID;
  42. } JAVACLASSRESOURCEINFO, * LPJAVACLASSRESOURCEINFO;
  43.  
  44. #undef  INTERFACE
  45. #define INTERFACE IEnumJAVAPROPERTY
  46.  
  47. DECLARE_INTERFACE_(IEnumJAVAPROPERTY, IUnknown)
  48. {
  49. #ifndef NO_BASEINTERFACE_FUNCS
  50.     /* IUnknown methods */
  51.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  52.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  53.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  54. #endif
  55.     /* IEnumJAVAPROPERTY methods */
  56.     STDMETHOD(Next)(THIS_ ULONG celt, LPJAVAPROPERTY rgelt, ULONG
  57.         *pceltFetched) PURE;
  58.     STDMETHOD(Skip)(THIS_ ULONG celt) PURE;
  59.     STDMETHOD(Reset)(THIS) PURE;
  60.     STDMETHOD(Clone)(THIS_ LPENUMJAVAPROPERTY *ppenum) PURE;
  61. };
  62.  
  63.  
  64. typedef struct tagJAVAEXECUTEINFO {
  65.     DWORD cbSize;
  66.     DWORD dwFlags;
  67.     LPCOLESTR pszClassName;
  68.     LPCOLESTR *rgszArgs;
  69.     ULONG cArgs;
  70.     LPCOLESTR pszClassPath;
  71.     LPCOLESTR pszNamespace;
  72. }   JAVAEXECUTEINFO, * LPJAVAEXECUTEINFO;
  73.  
  74. #define JEIF_VERIFYCLASSES              0x00000002
  75. #define JEIF_ACTIVEXDEBUG               0x00000004
  76. #define JEIF_NATIVECODEINMODULE         0x00000008
  77. #define JEIF_NAMESPACE_SPECIFIED        0x00000010
  78. #define JEIF_INSTALLSTANDARDSECURITY    0x00000020
  79.  
  80. #ifdef AD2_STUFF
  81. #define JEIF_APPLETVIEWER               0x00000040
  82. #endif
  83.  
  84. #define JEIF_ALL_FLAGS                  (                               \
  85.                                            JEIF_VERIFYCLASSES           \
  86.                                          | JEIF_ACTIVEXDEBUG            \
  87.                                          | JEIF_NATIVECODEINMODULE      \
  88.                                          | JEIF_NAMESPACE_SPECIFIED     \
  89.                                          | JEIF_INSTALLSTANDARDSECURITY \
  90. #ifdef AD2_STUFF \
  91.                                          | JEIF_APPLETVIEWER            \
  92. #endif \
  93.                                         )
  94.  
  95. #undef  INTERFACE
  96. #define INTERFACE IJavaExecute
  97.  
  98. DECLARE_INTERFACE_(IJavaExecute, IUnknown)
  99. {
  100. #ifndef NO_BASEINTERFACE_FUNCS
  101.     /* IUnknown methods */
  102.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  103.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  104.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  105. #endif
  106.     /* IJavaExecute methods */
  107.     STDMETHOD(GetDefaultClassPath)(THIS_ LPOLESTR *ppszClassPath) PURE;
  108.     STDMETHOD(Execute)(THIS_ LPJAVAEXECUTEINFO pjei, LPERRORINFO *pperrorinfo) PURE;
  109. };
  110.  
  111. #undef  INTERFACE
  112. #define INTERFACE IJavaExecute2
  113.  
  114. DECLARE_INTERFACE_(IJavaExecute2, IJavaExecute)
  115. {
  116. #ifndef NO_BASEINTERFACE_FUNCS
  117.     /* IUnknown methods */
  118.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  119.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  120.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  121. #endif
  122.     /* IJavaExecute methods */
  123.     STDMETHOD(GetDefaultClassPath)(THIS_ LPOLESTR *ppszClassPath) PURE;
  124.     STDMETHOD(Execute)(THIS_ LPJAVAEXECUTEINFO pjei, LPERRORINFO *pperrorinfo) PURE;
  125.     /* IJavaExecute2 methods */
  126.     STDMETHOD(SetSystemProperties)(THIS_ LPENUMJAVAPROPERTY penumProperties) PURE;
  127.     STDMETHOD(SetClassSource)(THIS_ DWORD dwType, LPVOID pData, DWORD dwLen) PURE;
  128. };
  129.  
  130. #undef  INTERFACE
  131.  
  132. // {3EFB1800-C2A1-11cf-960C-0080C7C2BA87}
  133. DEFINE_GUID(CLSID_JavaExecute,
  134. 0x3efb1800, 0xc2a1, 0x11cf, 0x96, 0xc, 0x0, 0x80, 0xc7, 0xc2, 0xba, 0x87);
  135. // {3EFB1803-C2A1-11cf-960C-0080C7C2BA87}
  136. DEFINE_GUID(IID_IJavaExecute,
  137. 0x3efb1803, 0xc2a1, 0x11cf, 0x96, 0xc, 0x0, 0x80, 0xc7, 0xc2, 0xba, 0x87);
  138. // {D7658820-01DD-11d0-9746-00AA00342BD8}
  139. DEFINE_GUID(IID_IJavaExecute2,
  140. 0xd7658820, 0x1dd, 0x11d0, 0x97, 0x46, 0x0, 0xaa, 0x0, 0x34, 0x2b, 0xd8);
  141. // {56E7DF80-F527-11cf-B728-FC8703C10000}
  142. DEFINE_GUID(IID_IEnumJAVAPROPERTY,
  143. 0x56e7df80, 0xf527, 0x11cf, 0xb7, 0x28, 0xfc, 0x87, 0x3, 0xc1, 0x0, 0x0);
  144.  
  145. #pragma option pop /*P_O_Pop*/
  146. #endif
  147.