home *** CD-ROM | disk | FTP | other *** search
/ Chip Special: HTML & Java / Chip-Special_1997-01_HTML-a-Java.bin / javasdk / sdk-java.exe / SDKJava.cab / Include / JAVAEXEC.H < prev    next >
Encoding:
C/C++ Source or Header  |  1996-10-10  |  4.1 KB  |  128 lines

  1. // (C) Copyright 1996, Microsoft Corporation.
  2.  
  3. //----------------------------------------------------------------------------
  4. // Public header for invocation facilities provided by MSJava.dll
  5. //----------------------------------------------------------------------------
  6.  
  7. #ifndef __javaexec_h__
  8. #define __javaexec_h__
  9.  
  10. #ifdef __cplusplus
  11. interface IEnumJAVAPROPERTY;
  12. interface IJavaExecute;
  13. interface IJavaExecute2;
  14. #else
  15. typedef interface IEnumJAVAPROPERTY IEnumJAVAPROPERTY;
  16. typedef interface IJavaExecute IJavaExecute;
  17. typedef interface IJavaExecute2 IJavaExecute2;
  18. #endif
  19.  
  20. typedef IEnumJAVAPROPERTY *LPENUMJAVAPROPERTY;
  21. typedef IJavaExecute *LPJAVAEXECUTE;
  22. typedef IJavaExecute2 *LPJAVAEXECUTE2;
  23.  
  24.  
  25. typedef struct {
  26.     LPOLESTR pszKey;
  27.     LPOLESTR pszValue;
  28. }   JAVAPROPERTY, * LPJAVAPROPERTY;
  29.  
  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. }   JAVAEXECUTEINFO, * LPJAVAEXECUTEINFO;
  72.  
  73. #define JEIF_VERIFYCLASSES            0x00000002
  74.  
  75. #define JEIF_ALL_FLAGS                  (                               \
  76.                                          JEIF_VERIFYCLASSES             \
  77.                                         )
  78.  
  79. #undef  INTERFACE
  80. #define INTERFACE IJavaExecute
  81.  
  82. DECLARE_INTERFACE_(IJavaExecute, IUnknown)
  83. {
  84. #ifndef NO_BASEINTERFACE_FUNCS
  85.     /* IUnknown methods */
  86.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  87.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  88.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  89. #endif
  90.     /* IJavaExecute methods */
  91.     STDMETHOD(GetDefaultClassPath)(THIS_ LPOLESTR *ppszClassPath) PURE;
  92.     STDMETHOD(Execute)(THIS_ LPJAVAEXECUTEINFO pjei, LPERRORINFO *pperrorinfo) PURE;
  93. };
  94.  
  95. #undef  INTERFACE
  96. #define INTERFACE IJavaExecute2
  97.  
  98. DECLARE_INTERFACE_(IJavaExecute2, IJavaExecute)
  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.     /* IJavaExecute2 methods */
  110.     STDMETHOD(SetSystemProperties)(THIS_ LPENUMJAVAPROPERTY penumProperties) PURE;
  111.     STDMETHOD(SetClassSource)(THIS_ DWORD dwType, LPVOID pData, DWORD dwLen) PURE;
  112. };
  113.  
  114. // {3EFB1800-C2A1-11cf-960C-0080C7C2BA87}
  115. DEFINE_GUID(CLSID_JavaExecute,
  116. 0x3efb1800, 0xc2a1, 0x11cf, 0x96, 0xc, 0x0, 0x80, 0xc7, 0xc2, 0xba, 0x87);
  117. // {3EFB1803-C2A1-11cf-960C-0080C7C2BA87}
  118. DEFINE_GUID(IID_IJavaExecute,
  119. 0x3efb1803, 0xc2a1, 0x11cf, 0x96, 0xc, 0x0, 0x80, 0xc7, 0xc2, 0xba, 0x87);
  120. // {D7658820-01DD-11d0-9746-00AA00342BD8}
  121. DEFINE_GUID(IID_IJavaExecute2,
  122. 0xd7658820, 0x1dd, 0x11d0, 0x97, 0x46, 0x0, 0xaa, 0x0, 0x34, 0x2b, 0xd8);
  123. // {56E7DF80-F527-11cf-B728-FC8703C10000}
  124. DEFINE_GUID(IID_IEnumJAVAPROPERTY,
  125. 0x56e7df80, 0xf527, 0x11cf, 0xb7, 0x28, 0xfc, 0x87, 0x3, 0xc1, 0x0, 0x0);
  126.  
  127. #endif
  128.