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.

190 lines
7.1 KiB

  1. // taskctx.idl : IDL source for taskctx.dll
  2. //
  3. // This file will be processed by the MIDL tool to
  4. // produce the type library (taskctx.tlb) and marshalling code.
  5. import "oaidl.idl";
  6. import "ocidl.idl";
  7. //////////////////////////////////////////////////////////////////////////
  8. // ITaskContext Interface
  9. //////////////////////////////////////////////////////////////////////////
  10. [
  11. object,
  12. uuid(96C637B0-B8DE-11D2-A91C-00AA00A71DCA),
  13. dual,
  14. pointer_default(unique)
  15. ]
  16. interface ITaskContext : IDispatch
  17. {
  18. //////////////////////////////////////////////////////////////////////
  19. //
  20. // Function: GetParameter() - Retrieve a task (input/output) parameter
  21. //
  22. // Inputs: bstrName: Pointer to a basic string containing the name
  23. // of the input parameter to retrieve.
  24. //
  25. // pValue: Pointer to a variant that on output will contain
  26. // the value for the specified input parameter.
  27. //
  28. // Outputs: S_OK: Function succeeded
  29. //
  30. // E_POINTER: NULL pointer was specified
  31. //
  32. // E_INVALIDARG: Invalid argument was specified
  33. //
  34. // E_OUTOFMEMORY: Not enough memory
  35. //
  36. //////////////////////////////////////////////////////////////////////
  37. [id(1)]
  38. HRESULT GetParameter(
  39. [in] BSTR bstrName,
  40. [out, retval] VARIANT* pValue
  41. );
  42. //////////////////////////////////////////////////////////////////////
  43. //
  44. // Function: SetParameter() - Add a task (input/output) parameter or
  45. // update the value of an existing parameter
  46. //
  47. // Inputs: bstrName: Pointer to a basic string containing the name
  48. // of the input parameter to add.
  49. //
  50. // pValue: Pointer to a variant that contains the value
  51. // for the new input parameter.
  52. //
  53. // Outputs: S_OK: Function succeeded
  54. //
  55. // E_POINTER: NULL pointer was specified
  56. //
  57. // E_INVALIDARG: Invalid argument was specified
  58. //
  59. // E_OUTOFMEMORY: Not enough memory
  60. //
  61. //////////////////////////////////////////////////////////////////////
  62. [id(2)]
  63. HRESULT SetParameter(
  64. [in] BSTR bstrName,
  65. [in] VARIANT* pValue
  66. );
  67. //////////////////////////////////////////////////////////////////////
  68. //
  69. // Function: SaveParameters() - Persist the task context object
  70. //
  71. // Inputs: bstrObjName: Pointer to a basic string containing the
  72. // name of the data store object into which
  73. // the task context object is persisted.
  74. //
  75. // Outputs: S_OK: Function succeeded
  76. //
  77. // E_POINTER: NULL pointer was specified
  78. //
  79. // E_INVALIDARG: Invalid argument was specified
  80. //
  81. // E_OUTOFMEMORY: Not enough memory
  82. //
  83. // E_FAIL: Unable to save the task context
  84. //
  85. //////////////////////////////////////////////////////////////////////
  86. [id(3)]
  87. HRESULT SaveParameters(
  88. [in] BSTR bstrObjName
  89. );
  90. //////////////////////////////////////////////////////////////////////
  91. //
  92. // Function: RestoreParameters() - restore a task context object
  93. //
  94. // Inputs: bstrObjName: Pointer to a basic string containing the
  95. // name of the data store object from which
  96. // the task context object is restored.
  97. //
  98. // Outputs: S_OK: Function succeeded
  99. //
  100. // E_POINTER: NULL pointer was specified
  101. //
  102. // E_INVALIDARG: Invalid argument was specified
  103. //
  104. // E_OUTOFMEMORY: Not enough memory
  105. //
  106. // E_FAIL: Unable to restore the task context
  107. //
  108. //////////////////////////////////////////////////////////////////////
  109. [id(4)]
  110. HRESULT RestoreParameters(
  111. [in] BSTR bstrObjName
  112. );
  113. //////////////////////////////////////////////////////////////////////
  114. //
  115. // Function: Clone() - clone a task context object
  116. //
  117. // Inputs: ppTaskContext: Pointer to storage for the interface
  118. // pointer to the cloned task context object
  119. //
  120. // Outputs: S_OK: Function succeeded
  121. //
  122. // E_POINTER: NULL pointer was specified
  123. //
  124. // E_INVALIDARG: Invalid argument was specified
  125. //
  126. // E_OUTOFMEMORY: Not enough memory
  127. //
  128. // E_FAIL: Unable to restore the task context
  129. //
  130. //////////////////////////////////////////////////////////////////////
  131. [id(5)]
  132. HRESULT Clone(
  133. [out, retval] IUnknown** ppTaskContext
  134. );
  135. //////////////////////////////////////////////////////////////////////
  136. //
  137. // Function: RemoveParameter() - Remove a specified task parameter
  138. //
  139. // Inputs: bstrName: Name of the parameter to remove
  140. //
  141. // Outputs: S_OK: Function succeeded
  142. //
  143. // E_POINTER: NULL pointer was specified
  144. //
  145. // E_INVALIDARG: Invalid argument was specified
  146. //
  147. // E_OUTOFMEMORY: Not enough memory
  148. //
  149. // E_FAIL: Unable to restore the task context
  150. //
  151. //////////////////////////////////////////////////////////////////////
  152. [id(6)]
  153. HRESULT RemoveParameter(
  154. [in] BSTR bstrName
  155. );
  156. };
  157. [
  158. uuid(84DA87F3-CB46-11D2-BF23-00105A1F3461),
  159. version(1.0),
  160. helpstring("Microsoft Server Appliance Task Context 1.0 Type Library")
  161. ]
  162. library TASKCTXLib
  163. {
  164. importlib("stdole32.tlb");
  165. importlib("stdole2.tlb");
  166. [
  167. uuid(84DA8800-CB46-11D2-BF23-00105A1F3461),
  168. helpstring("TaskContext Class")
  169. ]
  170. coclass TaskContext
  171. {
  172. [default] interface ITaskContext;
  173. };
  174. };