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.

261 lines
8.8 KiB

  1. //*****************************************************************************
  2. //
  3. // Microsoft Windows Media
  4. // Copyright (C) Microsoft Corporation. All rights reserved.
  5. //
  6. // FileName: wmscontext.idl
  7. //
  8. // Abstract:
  9. //
  10. //*****************************************************************************
  11. cpp_quote("//*****************************************************************************")
  12. cpp_quote("//")
  13. cpp_quote("// Microsoft Windows Media")
  14. cpp_quote("// Copyright (C) Microsoft Corporation. All rights reserved.")
  15. cpp_quote("//")
  16. cpp_quote("// Automatically generated by Midl from wmscontext.idl" )
  17. cpp_quote("//")
  18. cpp_quote("// DO NOT EDIT THIS FILE.")
  19. cpp_quote("//")
  20. cpp_quote("//*****************************************************************************")
  21. import "oaidl.idl";
  22. cpp_quote("#ifndef _WMSContext")
  23. cpp_quote("#define _WMSContext")
  24. typedef unsigned __int64 QWORD;
  25. cpp_quote( "EXTERN_GUID( IID_IWMSContext, 0x4f1a1421, 0x5cd5, 0x11d2, 0x9f, 0x5, 0x0, 0x60, 0x97, 0xd2, 0xd7, 0xcf );" )
  26. cpp_quote( "EXTERN_GUID( IID_IWMSCommandContext, 0x75554931, 0x5f0e, 0x11d2, 0x9f, 0xe, 0x0, 0x60, 0x97, 0xd2, 0xd7, 0xcf );" )
  27. // These are the defined options in the Set and Get methods in IWMSContext.
  28. typedef [public] enum WMS_CONTEXT_OPTIONS
  29. {
  30. WMS_CONTEXT_SET_PROPERTY_NAME_BY_VALUE = 0x0001,
  31. WMS_CONTEXT_SET_PROPERTY_STRING_BY_REFERENCE = 0x0002,
  32. WMS_CONTEXT_GET_PROPERTY_STRING_BY_REFERENCE = 0x0004,
  33. } WMS_CONTEXT_OPTIONS;
  34. typedef [public] enum WMS_CONTEXT_HINT_CONSTANTS
  35. {
  36. WMS_CONTEXT_NO_NAME_HINT = 0xFFFFFFFF
  37. } WMS_CONTEXT_HINT_CONSTANTS;
  38. /////////////////////////////////////////////////////////////////////////////
  39. interface IWMSContext;
  40. interface IWMSCommandContext;
  41. /////////////////////////////////////////////////////////////////////////////
  42. [
  43. object,
  44. uuid(4F1A1421-5CD5-11d2-9F05-006097D2D7CF),
  45. pointer_default(unique),
  46. helpstring("Provides methods for managing a collection of properties for a particular context.")
  47. ]
  48. interface IWMSContext : IUnknown
  49. {
  50. typedef [public] enum WMS_CONTEXT_TYPE
  51. {
  52. WMS_UNKNOWN_CONTEXT_TYPE,
  53. WMS_SERVER_CONTEXT_TYPE,
  54. WMS_USER_CONTEXT_TYPE,
  55. WMS_PRESENTATION_CONTEXT_TYPE,
  56. WMS_CONTENT_DESCRIPTION_CONTEXT_TYPE,
  57. WMS_COMMAND_REQUEST_CONTEXT_TYPE,
  58. WMS_COMMAND_RESPONSE_CONTEXT_TYPE,
  59. WMS_TRANSPORT_SPEC_CONTEXT_TYPE,
  60. WMS_PACKETIZER_CONTEXT_TYPE,
  61. WMS_CACHE_CONTENT_INFORMATION_CONTEXT_TYPE,
  62. WMS_ARCHIVE_CONTEXT_TYPE,
  63. [hidden] WMS_NUM_CONTEXT_TYPE
  64. } WMS_CONTEXT_TYPE;
  65. [helpstring("Sets the value for or adds a new long value property.")] HRESULT
  66. SetLongValue(
  67. [in] LPCWSTR pstrName,
  68. [in] long lNameHint,
  69. [in] long lValue,
  70. [in] long lOptions
  71. );
  72. [helpstring("Sets the value for or adds a new string value property.")] HRESULT
  73. SetStringValue(
  74. [in] LPCWSTR pstrName,
  75. [in] long lNameHint,
  76. [in] LPCWSTR pstrValue,
  77. [in] long lOptions
  78. );
  79. [helpstring("Sets the value for or adds a new IUnknown value property.")] HRESULT
  80. SetIUnknownValue(
  81. [in] LPCWSTR pstrName,
  82. [in] long lNameHint,
  83. [in] IUnknown *pValue,
  84. [in] long lOptions
  85. );
  86. [helpstring("Sets the value for or adds a new QWORD value property.")] HRESULT
  87. SetQwordValue(
  88. [in] LPCWSTR pstrName,
  89. [in] long lNameHint,
  90. [in] CURRENCY qwValue,
  91. [in] long lOptions
  92. );
  93. [helpstring("Sets the value for or adds a new DATE value property.")] HRESULT
  94. SetDateValue(
  95. [in] LPCWSTR pstrName,
  96. [in] long lNameHint,
  97. [in] DATE dateValue,
  98. [in] long lOptions
  99. );
  100. [helpstring("Sets the value for or adds a new SAFEARRAY value property.")] HRESULT
  101. SetArrayValue(
  102. [in] LPCWSTR pstrName,
  103. [in] long lNameHint,
  104. [in] SAFEARRAY(BSTR) psaValue,
  105. [in] long lOptions
  106. );
  107. [helpstring("Retrieves the value for a long value property.")] HRESULT
  108. GetLongValue(
  109. [in] LPCWSTR pstrName,
  110. [in] long lNameHint,
  111. [out] long *plValue,
  112. [in] long lOptions
  113. );
  114. [helpstring("Retrieves the value for a string value property.")] HRESULT
  115. GetStringValue(
  116. [in] LPCWSTR pstrName,
  117. [in] long lNameHint,
  118. [out] LPWSTR *pstrValue,
  119. [in] long lOptions
  120. );
  121. [helpstring("Retrieves the value for an IUnknown value property.")] HRESULT
  122. GetIUnknownValue(
  123. [in] LPCWSTR pstrName,
  124. [in] long lNameHint,
  125. [out] IUnknown **pValue,
  126. [in] long lOptions
  127. );
  128. [helpstring("Retrieves the value for a QWORD value property.")] HRESULT
  129. GetQwordValue(
  130. [in] LPCWSTR pstrName,
  131. [in] long lNameHint,
  132. [out] CURRENCY *pqwValue,
  133. [in] long lOptions
  134. );
  135. [helpstring("Retrieves the value for a DATE value property.")] HRESULT
  136. GetDateValue(
  137. [in] LPCWSTR pstrName,
  138. [in] long lNameHint,
  139. [out] DATE *pdateValue,
  140. [in] long lOptions
  141. );
  142. [helpstring("Retrieves the value for a SAFEARRAY value property.")] HRESULT
  143. GetArrayValue(
  144. [in] LPCWSTR pstrName,
  145. [in] long lNameHint,
  146. [out] SAFEARRAY(BSTR) *ppsaValue,
  147. [in] long lOptions
  148. );
  149. [helpstring("Sets the value for or adds a new property.")] HRESULT
  150. SetValue(
  151. [in] LPCWSTR pstrName,
  152. [in] long lNameHint,
  153. [in] VARIANT Value,
  154. [in] long lOptions
  155. );
  156. [helpstring("Retrieves the value for a property.")] HRESULT
  157. GetValue(
  158. [in] LPCWSTR pstrName,
  159. [in] long lNameHint,
  160. [out] VARIANT *pValue,
  161. [in] long lOptions
  162. );
  163. [helpstring("Retrieves the number of properties in the context.")] HRESULT
  164. GetValueCount(
  165. [out] long *pCount
  166. );
  167. [helpstring("Retrieves the name, value and hint for a specific property by index.")] HRESULT
  168. GetIndexedValue(
  169. [in] long lIndex,
  170. [out] LPWSTR *pstrName,
  171. [out] long *plNameHint,
  172. [out] VARIANT *pValue,
  173. [out] long *pdwResultOptions,
  174. [in] long lOptions
  175. );
  176. [helpstring("Removes a specific property from the context.")] HRESULT
  177. RemoveValue(
  178. [in] LPCWSTR pstrName,
  179. [in] long lNameHint,
  180. [in] long lOptions
  181. );
  182. [helpstring("Removes all properties from the context.")] HRESULT
  183. RemoveAllValues();
  184. [helpstring("Retrieves an enumeration value that indicates the context type.")] HRESULT
  185. GetContextType( [out] WMS_CONTEXT_TYPE *pType );
  186. [helpstring("Retrieves the value for an IUnknown value property and calls QueryInterface to retrieve a pointer to the specified interface.")] HRESULT
  187. GetAndQueryIUnknownValue(
  188. [in] LPCWSTR pstrName,
  189. [in] long lNameHint,
  190. [in] REFIID riid,
  191. [out, iid_is(riid)] IUnknown **pResult,
  192. [in] long lOptions
  193. );
  194. [helpstring("Copies the specified properties to another context.")] HRESULT
  195. CopyValues(
  196. [in] IWMSContext * pDest,
  197. [in] LPCWSTR * pstrName,
  198. [in] long * lNameHint,
  199. [in] long lNames
  200. );
  201. }
  202. /////////////////////////////////////////////////////////////////////////////
  203. // IWMSCommandContext
  204. [
  205. object,
  206. uuid(75554931-5F0E-11d2-9F0E-006097D2D7CF),
  207. version(9.0),
  208. pointer_default(unique),
  209. helpstring("Provides methods for accessing and manipulating command request and command response contexts.")
  210. ]
  211. interface IWMSCommandContext : IUnknown
  212. {
  213. [helpstring("Retrieves a command request context.")] HRESULT
  214. GetCommandRequest( [out] IWMSContext **ppProps);
  215. [helpstring("Retrieves a command response context.")] HRESULT
  216. GetCommandResponse( [out] IWMSContext **ppProps);
  217. [helpstring("Removes all properties in the command request context.")] HRESULT
  218. EraseCommandRequest();
  219. [helpstring("Removes all properties in the command response context.")] HRESULT
  220. EraseCommandResponse();
  221. [helpstring("Specifies the identification number for a playlist entry.")] HRESULT
  222. SetPlaylistGenerationId( [in] DWORD dwId );
  223. [helpstring("Retrieves the identification number for a playlist entry.")] HRESULT
  224. GetPlaylistGenerationId( [out] DWORD *pdwId );
  225. };
  226. cpp_quote("#endif")