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.

174 lines
6.2 KiB

  1. /******************************************************************************
  2. Copyright (c) 1999 Microsoft Corporation
  3. Module Name:
  4. SlaveProcess.idl
  5. Abstract:
  6. This file contains the declaration of the set of coclasses and interfaces
  7. implemented by the Help Center Service, for spawning objects under a
  8. different user account.
  9. Revision History:
  10. Davide Massarenti (Dmassare) 03/28/2000
  11. created
  12. ******************************************************************************/
  13. //
  14. // We should import "activscp.idl", but this way we would import the interfaces in the TLB, things like IXMLDOM* will be included...
  15. //
  16. // Including the couple #if/#endif, we make the MIDL happy, but don't put the declaration in the header file.
  17. // This prevents a redeclaration error when including "activscp.h" from C++.
  18. //
  19. ////////////////////////////////////////////////////////////////////////////////
  20. cpp_quote( "#include <activscp.h>" )
  21. cpp_quote( "#if 0" )
  22. typedef
  23. enum tagSCRIPTSTATE
  24. { SCRIPTSTATE_UNINITIALIZED = 0,
  25. SCRIPTSTATE_INITIALIZED = 5,
  26. SCRIPTSTATE_STARTED = 1,
  27. SCRIPTSTATE_CONNECTED = 2,
  28. SCRIPTSTATE_DISCONNECTED = 3,
  29. SCRIPTSTATE_CLOSED = 4
  30. } SCRIPTSTATE;
  31. /* script thread state values */
  32. typedef
  33. enum tagSCRIPTTHREADSTATE
  34. { SCRIPTTHREADSTATE_NOTINSCRIPT = 0,
  35. SCRIPTTHREADSTATE_RUNNING = 1
  36. } SCRIPTTHREADSTATE;
  37. /* Thread IDs */
  38. typedef DWORD SCRIPTTHREADID;
  39. cpp_quote( "#endif" )
  40. ////////////////////////////////////////////////////////////////////////////////
  41. [
  42. object,
  43. uuid(833E4280-AFF7-4AC3-AAC2-9F24C1457BCE),
  44. dual,
  45. oleautomation,
  46. helpstring("IPCHSlaveProcess Interface"),
  47. pointer_default(unique)
  48. ]
  49. interface IPCHSlaveProcess : IDispatch
  50. {
  51. HRESULT Initialize( [in] BSTR bstrVendorID, [in] BSTR bstrPublicKey );
  52. HRESULT CreateInstance( [in] REFCLSID rclsid, [in] IUnknown* pUnkOuter, [out] IUnknown* *ppvObject );
  53. HRESULT CreateScriptWrapper( [in] REFCLSID rclsid, [in] BSTR bstrCode, [in] BSTR bstrURL, [out] IUnknown* *ppvObject );
  54. HRESULT OpenBlockingStream( [in] BSTR bstrURL, [out] IUnknown* *ppvObject );
  55. HRESULT IsNetworkAlive( [out] VARIANT_BOOL* pfRetVal );
  56. HRESULT IsDestinationReachable( [in] BSTR bstrDestination, [out] VARIANT_BOOL *pfRetVal );
  57. };
  58. ///////////////////////////////////////////////////////////////////////////////
  59. ///////////////////////////////////////////////////////////////////////////////
  60. [
  61. object,
  62. uuid(833E4281-AFF7-4AC3-AAC2-9F24C1457BCE),
  63. dual,
  64. oleautomation,
  65. helpstring("IPCHActiveScript Interface"),
  66. pointer_default(unique)
  67. ]
  68. interface IPCHActiveScript : IDispatch
  69. {
  70. HRESULT Remote_SetScriptSite( [in] IPCHActiveScriptSite* pass );
  71. HRESULT Remote_SetScriptState( [in] SCRIPTSTATE ss );
  72. HRESULT Remote_GetScriptState( [out] SCRIPTSTATE *pss );
  73. HRESULT Remote_Close();
  74. HRESULT Remote_AddNamedItem( [in] BSTR pstrName ,
  75. [in] DWORD dwFlags );
  76. HRESULT Remote_AddTypeLib( [in] BSTR bstrTypeLib ,
  77. [in] DWORD dwMajor ,
  78. [in] DWORD dwMinor ,
  79. [in] DWORD dwFlags );
  80. HRESULT Remote_GetScriptDispatch( [in] BSTR pstrItemName ,
  81. [out] IDispatch* *ppdisp );
  82. HRESULT Remote_GetCurrentScriptThreadID( [out] SCRIPTTHREADID *pstidThread );
  83. HRESULT Remote_GetScriptThreadID( [in] DWORD dwWin32ThreadId ,
  84. [out] SCRIPTTHREADID *pstidThread );
  85. HRESULT Remote_GetScriptThreadState( [in] SCRIPTTHREADID stidThread ,
  86. [out] SCRIPTTHREADSTATE *pstsState );
  87. HRESULT Remote_InterruptScriptThread( [in] SCRIPTTHREADID stidThread ,
  88. [in] DWORD dwFlags );
  89. HRESULT Remote_InitNew();
  90. HRESULT Remote_AddScriptlet( [in] BSTR bstrDefaultName ,
  91. [in] BSTR bstrCode ,
  92. [in] BSTR bstrItemName ,
  93. [in] BSTR bstrSubItemName ,
  94. [in] BSTR bstrEventName ,
  95. [in] BSTR bstrDelimiter ,
  96. [in] DWORD_PTR dwSourceContextCookie ,
  97. [in] ULONG ulStartingLineNumber ,
  98. [in] DWORD dwFlags ,
  99. [out] BSTR *pbstrName );
  100. HRESULT Remote_ParseScriptText( [in] BSTR bstrCode ,
  101. [in] BSTR bstrItemName ,
  102. [in] IUnknown *punkContext ,
  103. [in] BSTR bstrDelimiter ,
  104. [in] DWORD_PTR dwSourceContextCookie ,
  105. [in] ULONG ulStartingLineNumber ,
  106. [in] DWORD dwFlags ,
  107. [out] VARIANT *pvarResult );
  108. };
  109. [
  110. object,
  111. uuid(833E4282-AFF7-4AC3-AAC2-9F24C1457BCE),
  112. dual,
  113. oleautomation,
  114. helpstring("IPCHActiveScriptSite Interface"),
  115. pointer_default(unique)
  116. ]
  117. interface IPCHActiveScriptSite : IDispatch
  118. {
  119. HRESULT Remote_GetLCID( [out] BSTR *plcid );
  120. HRESULT Remote_GetItemInfo( [in] BSTR bstrName ,
  121. [in] DWORD dwReturnMask,
  122. [out] IUnknown **ppiunkItem ,
  123. [out] ITypeInfo **ppti );
  124. HRESULT Remote_GetDocVersionString( [out] BSTR *pbstrVersion );
  125. HRESULT Remote_OnScriptTerminate( [in] VARIANT* varResult );
  126. HRESULT Remote_OnStateChange( [in] SCRIPTSTATE ssScriptState );
  127. HRESULT Remote_OnScriptError( [in] IUnknown* pscripterror );
  128. HRESULT Remote_OnEnterScript();
  129. HRESULT Remote_OnLeaveScript();
  130. };