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.

11660 lines
391 KiB

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2. /* File created by MIDL compiler version 5.01.0164 */
  3. /* at Wed Aug 08 01:15:12 2001
  4. */
  5. /* Compiler settings for .\wmsdkidl.idl:
  6. Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
  7. error checks: allocation ref bounds_check enum stub_data
  8. */
  9. //@@MIDL_FILE_HEADING( )
  10. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  11. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  12. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  13. #endif
  14. #include "rpc.h"
  15. #include "rpcndr.h"
  16. #ifndef __RPCNDR_H_VERSION__
  17. #error this stub requires an updated version of <rpcndr.h>
  18. #endif // __RPCNDR_H_VERSION__
  19. #ifndef COM_NO_WINDOWS_H
  20. #include "windows.h"
  21. #include "ole2.h"
  22. #endif /*COM_NO_WINDOWS_H*/
  23. #ifndef __wmsdkidl_h__
  24. #define __wmsdkidl_h__
  25. #ifdef __cplusplus
  26. extern "C"{
  27. #endif
  28. /* Forward Declarations */
  29. #ifndef __IWMMediaProps_FWD_DEFINED__
  30. #define __IWMMediaProps_FWD_DEFINED__
  31. typedef interface IWMMediaProps IWMMediaProps;
  32. #endif /* __IWMMediaProps_FWD_DEFINED__ */
  33. #ifndef __IWMVideoMediaProps_FWD_DEFINED__
  34. #define __IWMVideoMediaProps_FWD_DEFINED__
  35. typedef interface IWMVideoMediaProps IWMVideoMediaProps;
  36. #endif /* __IWMVideoMediaProps_FWD_DEFINED__ */
  37. #ifndef __IWMWriter_FWD_DEFINED__
  38. #define __IWMWriter_FWD_DEFINED__
  39. typedef interface IWMWriter IWMWriter;
  40. #endif /* __IWMWriter_FWD_DEFINED__ */
  41. #ifndef __IWMInputMediaProps_FWD_DEFINED__
  42. #define __IWMInputMediaProps_FWD_DEFINED__
  43. typedef interface IWMInputMediaProps IWMInputMediaProps;
  44. #endif /* __IWMInputMediaProps_FWD_DEFINED__ */
  45. #ifndef __IWMPropertyVault_FWD_DEFINED__
  46. #define __IWMPropertyVault_FWD_DEFINED__
  47. typedef interface IWMPropertyVault IWMPropertyVault;
  48. #endif /* __IWMPropertyVault_FWD_DEFINED__ */
  49. #ifndef __IWMReader_FWD_DEFINED__
  50. #define __IWMReader_FWD_DEFINED__
  51. typedef interface IWMReader IWMReader;
  52. #endif /* __IWMReader_FWD_DEFINED__ */
  53. #ifndef __IWMOutputMediaProps_FWD_DEFINED__
  54. #define __IWMOutputMediaProps_FWD_DEFINED__
  55. typedef interface IWMOutputMediaProps IWMOutputMediaProps;
  56. #endif /* __IWMOutputMediaProps_FWD_DEFINED__ */
  57. #ifndef __IWMStatusCallback_FWD_DEFINED__
  58. #define __IWMStatusCallback_FWD_DEFINED__
  59. typedef interface IWMStatusCallback IWMStatusCallback;
  60. #endif /* __IWMStatusCallback_FWD_DEFINED__ */
  61. #ifndef __IWMReaderCallback_FWD_DEFINED__
  62. #define __IWMReaderCallback_FWD_DEFINED__
  63. typedef interface IWMReaderCallback IWMReaderCallback;
  64. #endif /* __IWMReaderCallback_FWD_DEFINED__ */
  65. #ifndef __IWMCredentialCallback_FWD_DEFINED__
  66. #define __IWMCredentialCallback_FWD_DEFINED__
  67. typedef interface IWMCredentialCallback IWMCredentialCallback;
  68. #endif /* __IWMCredentialCallback_FWD_DEFINED__ */
  69. #ifndef __IWMMetadataEditor_FWD_DEFINED__
  70. #define __IWMMetadataEditor_FWD_DEFINED__
  71. typedef interface IWMMetadataEditor IWMMetadataEditor;
  72. #endif /* __IWMMetadataEditor_FWD_DEFINED__ */
  73. #ifndef __IWMMetadataEditor2_FWD_DEFINED__
  74. #define __IWMMetadataEditor2_FWD_DEFINED__
  75. typedef interface IWMMetadataEditor2 IWMMetadataEditor2;
  76. #endif /* __IWMMetadataEditor2_FWD_DEFINED__ */
  77. #ifndef __IWMHeaderInfo_FWD_DEFINED__
  78. #define __IWMHeaderInfo_FWD_DEFINED__
  79. typedef interface IWMHeaderInfo IWMHeaderInfo;
  80. #endif /* __IWMHeaderInfo_FWD_DEFINED__ */
  81. #ifndef __IWMHeaderInfo2_FWD_DEFINED__
  82. #define __IWMHeaderInfo2_FWD_DEFINED__
  83. typedef interface IWMHeaderInfo2 IWMHeaderInfo2;
  84. #endif /* __IWMHeaderInfo2_FWD_DEFINED__ */
  85. #ifndef __IWMProfileManager_FWD_DEFINED__
  86. #define __IWMProfileManager_FWD_DEFINED__
  87. typedef interface IWMProfileManager IWMProfileManager;
  88. #endif /* __IWMProfileManager_FWD_DEFINED__ */
  89. #ifndef __IWMProfileManager2_FWD_DEFINED__
  90. #define __IWMProfileManager2_FWD_DEFINED__
  91. typedef interface IWMProfileManager2 IWMProfileManager2;
  92. #endif /* __IWMProfileManager2_FWD_DEFINED__ */
  93. #ifndef __IWMProfile_FWD_DEFINED__
  94. #define __IWMProfile_FWD_DEFINED__
  95. typedef interface IWMProfile IWMProfile;
  96. #endif /* __IWMProfile_FWD_DEFINED__ */
  97. #ifndef __IWMProfile2_FWD_DEFINED__
  98. #define __IWMProfile2_FWD_DEFINED__
  99. typedef interface IWMProfile2 IWMProfile2;
  100. #endif /* __IWMProfile2_FWD_DEFINED__ */
  101. #ifndef __IWMStreamConfig_FWD_DEFINED__
  102. #define __IWMStreamConfig_FWD_DEFINED__
  103. typedef interface IWMStreamConfig IWMStreamConfig;
  104. #endif /* __IWMStreamConfig_FWD_DEFINED__ */
  105. #ifndef __IWMPacketSize_FWD_DEFINED__
  106. #define __IWMPacketSize_FWD_DEFINED__
  107. typedef interface IWMPacketSize IWMPacketSize;
  108. #endif /* __IWMPacketSize_FWD_DEFINED__ */
  109. #ifndef __IWMStreamList_FWD_DEFINED__
  110. #define __IWMStreamList_FWD_DEFINED__
  111. typedef interface IWMStreamList IWMStreamList;
  112. #endif /* __IWMStreamList_FWD_DEFINED__ */
  113. #ifndef __IWMMutualExclusion_FWD_DEFINED__
  114. #define __IWMMutualExclusion_FWD_DEFINED__
  115. typedef interface IWMMutualExclusion IWMMutualExclusion;
  116. #endif /* __IWMMutualExclusion_FWD_DEFINED__ */
  117. #ifndef __IWMWriterAdvanced_FWD_DEFINED__
  118. #define __IWMWriterAdvanced_FWD_DEFINED__
  119. typedef interface IWMWriterAdvanced IWMWriterAdvanced;
  120. #endif /* __IWMWriterAdvanced_FWD_DEFINED__ */
  121. #ifndef __IWMWriterAdvanced2_FWD_DEFINED__
  122. #define __IWMWriterAdvanced2_FWD_DEFINED__
  123. typedef interface IWMWriterAdvanced2 IWMWriterAdvanced2;
  124. #endif /* __IWMWriterAdvanced2_FWD_DEFINED__ */
  125. #ifndef __IWMWriterPostViewCallback_FWD_DEFINED__
  126. #define __IWMWriterPostViewCallback_FWD_DEFINED__
  127. typedef interface IWMWriterPostViewCallback IWMWriterPostViewCallback;
  128. #endif /* __IWMWriterPostViewCallback_FWD_DEFINED__ */
  129. #ifndef __IWMWriterPostView_FWD_DEFINED__
  130. #define __IWMWriterPostView_FWD_DEFINED__
  131. typedef interface IWMWriterPostView IWMWriterPostView;
  132. #endif /* __IWMWriterPostView_FWD_DEFINED__ */
  133. #ifndef __IWMWriterSink_FWD_DEFINED__
  134. #define __IWMWriterSink_FWD_DEFINED__
  135. typedef interface IWMWriterSink IWMWriterSink;
  136. #endif /* __IWMWriterSink_FWD_DEFINED__ */
  137. #ifndef __IWMRegisterCallback_FWD_DEFINED__
  138. #define __IWMRegisterCallback_FWD_DEFINED__
  139. typedef interface IWMRegisterCallback IWMRegisterCallback;
  140. #endif /* __IWMRegisterCallback_FWD_DEFINED__ */
  141. #ifndef __IWMWriterFileSink_FWD_DEFINED__
  142. #define __IWMWriterFileSink_FWD_DEFINED__
  143. typedef interface IWMWriterFileSink IWMWriterFileSink;
  144. #endif /* __IWMWriterFileSink_FWD_DEFINED__ */
  145. #ifndef __IWMWriterFileSink2_FWD_DEFINED__
  146. #define __IWMWriterFileSink2_FWD_DEFINED__
  147. typedef interface IWMWriterFileSink2 IWMWriterFileSink2;
  148. #endif /* __IWMWriterFileSink2_FWD_DEFINED__ */
  149. #ifndef __IWMWriterNetworkSink_FWD_DEFINED__
  150. #define __IWMWriterNetworkSink_FWD_DEFINED__
  151. typedef interface IWMWriterNetworkSink IWMWriterNetworkSink;
  152. #endif /* __IWMWriterNetworkSink_FWD_DEFINED__ */
  153. #ifndef __IWMClientConnections_FWD_DEFINED__
  154. #define __IWMClientConnections_FWD_DEFINED__
  155. typedef interface IWMClientConnections IWMClientConnections;
  156. #endif /* __IWMClientConnections_FWD_DEFINED__ */
  157. #ifndef __IWMReaderAdvanced_FWD_DEFINED__
  158. #define __IWMReaderAdvanced_FWD_DEFINED__
  159. typedef interface IWMReaderAdvanced IWMReaderAdvanced;
  160. #endif /* __IWMReaderAdvanced_FWD_DEFINED__ */
  161. #ifndef __IWMReaderAdvanced2_FWD_DEFINED__
  162. #define __IWMReaderAdvanced2_FWD_DEFINED__
  163. typedef interface IWMReaderAdvanced2 IWMReaderAdvanced2;
  164. #endif /* __IWMReaderAdvanced2_FWD_DEFINED__ */
  165. #ifndef __IWMReaderAdvanced3_FWD_DEFINED__
  166. #define __IWMReaderAdvanced3_FWD_DEFINED__
  167. typedef interface IWMReaderAdvanced3 IWMReaderAdvanced3;
  168. #endif /* __IWMReaderAdvanced3_FWD_DEFINED__ */
  169. #ifndef __IWMReaderAllocatorEx_FWD_DEFINED__
  170. #define __IWMReaderAllocatorEx_FWD_DEFINED__
  171. typedef interface IWMReaderAllocatorEx IWMReaderAllocatorEx;
  172. #endif /* __IWMReaderAllocatorEx_FWD_DEFINED__ */
  173. #ifndef __IWMReaderTypeNegotiation_FWD_DEFINED__
  174. #define __IWMReaderTypeNegotiation_FWD_DEFINED__
  175. typedef interface IWMReaderTypeNegotiation IWMReaderTypeNegotiation;
  176. #endif /* __IWMReaderTypeNegotiation_FWD_DEFINED__ */
  177. #ifndef __IWMReaderCallbackAdvanced_FWD_DEFINED__
  178. #define __IWMReaderCallbackAdvanced_FWD_DEFINED__
  179. typedef interface IWMReaderCallbackAdvanced IWMReaderCallbackAdvanced;
  180. #endif /* __IWMReaderCallbackAdvanced_FWD_DEFINED__ */
  181. #ifndef __IWMDRMReader_FWD_DEFINED__
  182. #define __IWMDRMReader_FWD_DEFINED__
  183. typedef interface IWMDRMReader IWMDRMReader;
  184. #endif /* __IWMDRMReader_FWD_DEFINED__ */
  185. #ifndef __IWMReaderNetworkConfig_FWD_DEFINED__
  186. #define __IWMReaderNetworkConfig_FWD_DEFINED__
  187. typedef interface IWMReaderNetworkConfig IWMReaderNetworkConfig;
  188. #endif /* __IWMReaderNetworkConfig_FWD_DEFINED__ */
  189. #ifndef __IWMReaderStreamClock_FWD_DEFINED__
  190. #define __IWMReaderStreamClock_FWD_DEFINED__
  191. typedef interface IWMReaderStreamClock IWMReaderStreamClock;
  192. #endif /* __IWMReaderStreamClock_FWD_DEFINED__ */
  193. #ifndef __IWMIndexer_FWD_DEFINED__
  194. #define __IWMIndexer_FWD_DEFINED__
  195. typedef interface IWMIndexer IWMIndexer;
  196. #endif /* __IWMIndexer_FWD_DEFINED__ */
  197. #ifndef __IWMLicenseBackup_FWD_DEFINED__
  198. #define __IWMLicenseBackup_FWD_DEFINED__
  199. typedef interface IWMLicenseBackup IWMLicenseBackup;
  200. #endif /* __IWMLicenseBackup_FWD_DEFINED__ */
  201. #ifndef __IWMLicenseRestore_FWD_DEFINED__
  202. #define __IWMLicenseRestore_FWD_DEFINED__
  203. typedef interface IWMLicenseRestore IWMLicenseRestore;
  204. #endif /* __IWMLicenseRestore_FWD_DEFINED__ */
  205. #ifndef __IWMBackupRestoreProps_FWD_DEFINED__
  206. #define __IWMBackupRestoreProps_FWD_DEFINED__
  207. typedef interface IWMBackupRestoreProps IWMBackupRestoreProps;
  208. #endif /* __IWMBackupRestoreProps_FWD_DEFINED__ */
  209. #ifndef __IWMCodecInfo_FWD_DEFINED__
  210. #define __IWMCodecInfo_FWD_DEFINED__
  211. typedef interface IWMCodecInfo IWMCodecInfo;
  212. #endif /* __IWMCodecInfo_FWD_DEFINED__ */
  213. #ifndef __IWMCodecInfo2_FWD_DEFINED__
  214. #define __IWMCodecInfo2_FWD_DEFINED__
  215. typedef interface IWMCodecInfo2 IWMCodecInfo2;
  216. #endif /* __IWMCodecInfo2_FWD_DEFINED__ */
  217. /* header files for imported files */
  218. #include "oaidl.h"
  219. #include "wmsbuffer.h"
  220. #include "drmexternals.h"
  221. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  222. void __RPC_USER MIDL_user_free( void __RPC_FAR * );
  223. /* interface __MIDL_itf_wmsdkidl_0000 */
  224. /* [local] */
  225. //=========================================================================
  226. //
  227. // Microsoft Windows Media Technologies
  228. // Copyright (C) Microsoft Corporation, 1999 - 2001. All Rights Reserved.
  229. //
  230. //=========================================================================
  231. typedef unsigned __int64 QWORD;
  232. ////////////////////////////////////////////////////////////////
  233. //
  234. // These are the special case attributes that give information
  235. // about the Windows Media file.
  236. //
  237. static const DWORD g_dwWMSpecialAttributes = 15;
  238. static const WCHAR *g_wszWMDuration = L"Duration";
  239. static const WCHAR *g_wszWMBitrate = L"Bitrate";
  240. static const WCHAR *g_wszWMSeekable = L"Seekable";
  241. static const WCHAR *g_wszWMStridable = L"Stridable";
  242. static const WCHAR *g_wszWMBroadcast = L"Broadcast";
  243. static const WCHAR *g_wszWMProtected = L"Is_Protected";
  244. static const WCHAR *g_wszWMTrusted = L"Is_Trusted";
  245. static const WCHAR *g_wszWMSignature_Name = L"Signature_Name";
  246. static const WCHAR *g_wszWMHasAudio = L"HasAudio";
  247. static const WCHAR *g_wszWMHasImage = L"HasImage";
  248. static const WCHAR *g_wszWMHasScript = L"HasScript";
  249. static const WCHAR *g_wszWMHasVideo = L"HasVideo";
  250. static const WCHAR *g_wszWMCurrentBitrate = L"CurrentBitrate";
  251. static const WCHAR *g_wszWMOptimalBitrate = L"OptimalBitrate";
  252. static const WCHAR *g_wszWMHasAttachedImages = L"HasAttachedImages";
  253. ////////////////////////////////////////////////////////////////
  254. //
  255. // The content description object supports 5 basic attributes.
  256. //
  257. static const DWORD g_dwWMContentAttributes = 5;
  258. static const WCHAR *g_wszWMTitle = L"Title";
  259. static const WCHAR *g_wszWMAuthor = L"Author";
  260. static const WCHAR *g_wszWMDescription = L"Description";
  261. static const WCHAR *g_wszWMRating = L"Rating";
  262. static const WCHAR *g_wszWMCopyright = L"Copyright";
  263. ////////////////////////////////////////////////////////////////
  264. //
  265. // These attributes are used to set DRM properties.
  266. //
  267. static const WCHAR *g_wszWMUse_DRM = L"Use_DRM";
  268. static const WCHAR *g_wszWMDRM_Flags = L"DRM_Flags";
  269. static const WCHAR *g_wszWMDRM_Level = L"DRM_Level";
  270. ////////////////////////////////////////////////////////////////
  271. //
  272. // These are the additional attributes defined in the WM attribute
  273. // namespace that give information about the content.
  274. //
  275. static const WCHAR *g_wszWMAlbumTitle = L"WM/AlbumTitle";
  276. static const WCHAR *g_wszWMTrack = L"WM/Track";
  277. static const WCHAR *g_wszWMPromotionURL = L"WM/PromotionURL";
  278. static const WCHAR *g_wszWMAlbumCoverURL = L"WM/AlbumCoverURL";
  279. static const WCHAR *g_wszWMGenre = L"WM/Genre";
  280. static const WCHAR *g_wszWMYear = L"WM/Year";
  281. static const WCHAR *g_wszWMGenreID = L"WM/GenreID";
  282. static const WCHAR *g_wszWMMCDI = L"WM/MCDI";
  283. static const WCHAR *g_wszWMComposer = L"WM/Composer";
  284. static const WCHAR *g_wszWMLyrics = L"WM/Lyrics";
  285. static const WCHAR *g_wszWMTrackNumber = L"WM/TrackNumber";
  286. static const WCHAR *g_wszWMToolName = L"WM/ToolName";
  287. static const WCHAR *g_wszWMToolVersion = L"WM/ToolVersion";
  288. ////////////////////////////////////////////////////////////////
  289. //
  290. // These optional attributes may be used to give information
  291. // about the branding of the content.
  292. //
  293. static const WCHAR *g_wszWMBannerImageType = L"BannerImageType";
  294. static const WCHAR *g_wszWMBannerImageData = L"BannerImageData";
  295. static const WCHAR *g_wszWMBannerImageURL = L"BannerImageURL";
  296. static const WCHAR *g_wszWMCopyrightURL = L"CopyrightURL";
  297. ////////////////////////////////////////////////////////////////
  298. //
  299. // The NSC file supports the following attributes.
  300. //
  301. static const DWORD g_dwWMNSCAttributes = 5;
  302. static const WCHAR *g_wszWMNSCName = L"NSC_Name";
  303. static const WCHAR *g_wszWMNSCAddress = L"NSC_Address";
  304. static const WCHAR *g_wszWMNSCPhone = L"NSC_Phone";
  305. static const WCHAR *g_wszWMNSCEmail = L"NSC_Email";
  306. static const WCHAR *g_wszWMNSCDescription = L"NSC_Description";
  307. ////////////////////////////////////////////////////////////////
  308. //
  309. // These are setting names for use in Get/SetOutputSetting
  310. //
  311. static const WCHAR *g_wszEarlyDataDelivery = L"EarlyDataDelivery";
  312. static const WCHAR *g_wszJustInTimeDecode = L"JustInTimeDecode";
  313. static const WCHAR *g_wszSingleOutputBuffer = L"SingleOutputBuffer";
  314. static const WCHAR *g_wszSoftwareScaling = L"SoftwareScaling";
  315. static const WCHAR *g_wszDeliverOnReceive = L"DeliverOnReceive";
  316. static const WCHAR *g_wszScrambledAudio = L"ScrambledAudio";
  317. ////////////////////////////////////////////////////////////////
  318. //
  319. // These are setting names for use in Get/SetInputSetting
  320. //
  321. static const WCHAR *g_wszDeinterlaceMode = L"DeinterlaceMode";
  322. ////////////////////////////////////////////////////////////////
  323. //
  324. // All known IWMPropertyVault property names
  325. //
  326. static const WCHAR *g_wszOriginalSourceFormatTag = L"_SOURCEFORMATTAG";
  327. ////////////////////////////////////////////////////////////////
  328. //
  329. // Flags that can be passed into the Start method of IWMReader
  330. //
  331. #define WM_START_CURRENTPOSITION ( ( QWORD )-1 )
  332. #define WM_BACKUP_OVERWRITE ((DWORD) 0x00000001)
  333. #define WM_RESTORE_INDIVIDUALIZE ((DWORD) 0x00000002)
  334. #define WAVE_FORMAT_DRM 0x0009
  335. enum __MIDL___MIDL_itf_wmsdkidl_0000_0001
  336. { WM_SF_CLEANPOINT = 0x1,
  337. WM_SF_DISCONTINUITY = 0x2,
  338. WM_SF_DATALOSS = 0x4
  339. };
  340. enum __MIDL___MIDL_itf_wmsdkidl_0000_0002
  341. { WM_SFEX_NOTASYNCPOINT = 0x2,
  342. WM_SFEX_DATALOSS = 0x4
  343. };
  344. typedef
  345. enum WMT_STATUS
  346. { WMT_ERROR = 0,
  347. WMT_OPENED = 1,
  348. WMT_BUFFERING_START = 2,
  349. WMT_BUFFERING_STOP = 3,
  350. WMT_EOF = 4,
  351. WMT_END_OF_FILE = 4,
  352. WMT_END_OF_SEGMENT = 5,
  353. WMT_END_OF_STREAMING = 6,
  354. WMT_LOCATING = 7,
  355. WMT_CONNECTING = 8,
  356. WMT_NO_RIGHTS = 9,
  357. WMT_MISSING_CODEC = 10,
  358. WMT_STARTED = 11,
  359. WMT_STOPPED = 12,
  360. WMT_CLOSED = 13,
  361. WMT_STRIDING = 14,
  362. WMT_TIMER = 15,
  363. WMT_INDEX_PROGRESS = 16,
  364. WMT_SAVEAS_START = 17,
  365. WMT_SAVEAS_STOP = 18,
  366. WMT_NEW_SOURCEFLAGS = 19,
  367. WMT_NEW_METADATA = 20,
  368. WMT_BACKUPRESTORE_BEGIN = 21,
  369. WMT_SOURCE_SWITCH = 22,
  370. WMT_ACQUIRE_LICENSE = 23,
  371. WMT_INDIVIDUALIZE = 24,
  372. WMT_NEEDS_INDIVIDUALIZATION = 25,
  373. WMT_NO_RIGHTS_EX = 26,
  374. WMT_BACKUPRESTORE_END = 27,
  375. WMT_BACKUPRESTORE_CONNECTING = 28,
  376. WMT_BACKUPRESTORE_DISCONNECTING = 29,
  377. WMT_ERROR_WITHURL = 30,
  378. WMT_RESTRICTED_LICENSE = 31,
  379. WMT_CLIENT_CONNECT = 32,
  380. WMT_CLIENT_DISCONNECT = 33
  381. } WMT_STATUS;
  382. typedef
  383. enum WMT_RIGHTS
  384. { WMT_RIGHT_PLAYBACK = 0x1,
  385. WMT_RIGHT_COPY_TO_NON_SDMI_DEVICE = 0x2,
  386. WMT_RIGHT_COPY_TO_CD = 0x8,
  387. WMT_RIGHT_COPY_TO_SDMI_DEVICE = 0x10,
  388. WMT_RIGHT_ONE_TIME = 0x20,
  389. WMT_RIGHT_SDMI_TRIGGER = 0x10000,
  390. WMT_RIGHT_SDMI_NOMORECOPIES = 0x20000
  391. } WMT_RIGHTS;
  392. typedef
  393. enum WMT_STREAM_SELECTION
  394. { WMT_OFF = 0,
  395. WMT_CLEANPOINT_ONLY = 1,
  396. WMT_ON = 2
  397. } WMT_STREAM_SELECTION;
  398. typedef
  399. enum WMT_ATTR_DATATYPE
  400. { WMT_TYPE_DWORD = 0,
  401. WMT_TYPE_STRING = 1,
  402. WMT_TYPE_BINARY = 2,
  403. WMT_TYPE_BOOL = 3,
  404. WMT_TYPE_QWORD = 4,
  405. WMT_TYPE_WORD = 5,
  406. WMT_TYPE_GUID = 6
  407. } WMT_ATTR_DATATYPE;
  408. typedef
  409. enum WMT_ATTR_IMAGETYPE
  410. { WMT_IMAGETYPE_BITMAP = 1,
  411. WMT_IMAGETYPE_JPEG = 2,
  412. WMT_IMAGETYPE_GIF = 3
  413. } WMT_ATTR_IMAGETYPE;
  414. typedef
  415. enum WMT_VERSION
  416. { WMT_VER_4_0 = 0x40000,
  417. WMT_VER_7_0 = 0x70000
  418. } WMT_VERSION;
  419. typedef
  420. enum WMT_NET_PROTOCOL
  421. { WMT_PROTOCOL_HTTP = 0
  422. } WMT_NET_PROTOCOL;
  423. typedef
  424. enum WMT_PLAY_MODE
  425. { WMT_PLAY_MODE_AUTOSELECT = 0,
  426. WMT_PLAY_MODE_LOCAL = 1,
  427. WMT_PLAY_MODE_DOWNLOAD = 2,
  428. WMT_PLAY_MODE_STREAMING = 3
  429. } WMT_PLAY_MODE;
  430. typedef
  431. enum WMT_PROXY_SETTINGS
  432. { WMT_PROXY_SETTING_NONE = 0,
  433. WMT_PROXY_SETTING_MANUAL = 1,
  434. WMT_PROXY_SETTING_AUTO = 2,
  435. WMT_PROXY_SETTING_BROWSER = 3
  436. } WMT_PROXY_SETTINGS;
  437. typedef
  438. enum WMT_CODEC_INFO_TYPE
  439. { WMT_CODECINFO_AUDIO = 0,
  440. WMT_CODECINFO_VIDEO = 1,
  441. WMT_CODECINFO_UNKNOWN = 0xffffffff
  442. } WMT_CODEC_INFO_TYPE;
  443. enum __MIDL___MIDL_itf_wmsdkidl_0000_0003
  444. { WM_DM_NOTINTERLACED = 0,
  445. WM_DM_DEINTERLACE_NORMAL = 1,
  446. WM_DM_DEINTERLACE_HALFSIZE = 2,
  447. WM_DM_DEINTERLACE_HALFSIZEDOUBLERATE = 3,
  448. WM_DM_DEINTERLACE_INVERSETELECINE = 4,
  449. WM_DM_DEINTERLACE_VERTICALHALFSIZEDOUBLERATE = 5
  450. };
  451. typedef
  452. enum tagWMT_OFFSET_FORMAT
  453. { WMT_OFFSET_FORMAT_100NS = 0,
  454. WMT_OFFSET_FORMAT_SMPTE = WMT_OFFSET_FORMAT_100NS + 1,
  455. WMT_OFFSET_FORMAT_FRAME_NUMBERS = WMT_OFFSET_FORMAT_SMPTE + 1,
  456. WMT_OFFSET_FORMAT_PLAYLIST_OFFSET = WMT_OFFSET_FORMAT_FRAME_NUMBERS + 1
  457. } WMT_OFFSET_FORMAT;
  458. typedef struct _WMWriterStatistics
  459. {
  460. QWORD qwSampleCount;
  461. QWORD qwByteCount;
  462. QWORD qwDroppedSampleCount;
  463. QWORD qwDroppedByteCount;
  464. DWORD dwCurrentBitrate;
  465. DWORD dwAverageBitrate;
  466. DWORD dwExpectedBitrate;
  467. DWORD dwCurrentSampleRate;
  468. DWORD dwAverageSampleRate;
  469. DWORD dwExpectedSampleRate;
  470. } WM_WRITER_STATISTICS;
  471. typedef struct _WMReaderStatistics
  472. {
  473. DWORD cbSize;
  474. DWORD dwBandwidth;
  475. DWORD cPacketsReceived;
  476. DWORD cPacketsRecovered;
  477. DWORD cPacketsLost;
  478. WORD wQuality;
  479. } WM_READER_STATISTICS;
  480. typedef struct _WMReaderClientInfo
  481. {
  482. DWORD cbSize;
  483. WCHAR __RPC_FAR *wszLang;
  484. WCHAR __RPC_FAR *wszBrowserUserAgent;
  485. WCHAR __RPC_FAR *wszBrowserWebPage;
  486. QWORD qwReserved;
  487. LPARAM __RPC_FAR *pReserved;
  488. WCHAR __RPC_FAR *wszHostExe;
  489. QWORD qwHostVersion;
  490. } WM_READER_CLIENTINFO;
  491. typedef struct _WMClientProperties
  492. {
  493. DWORD dwIPAddress;
  494. DWORD dwPort;
  495. } WM_CLIENT_PROPERTIES;
  496. typedef struct _WMPortNumberRange
  497. {
  498. WORD wPortBegin;
  499. WORD wPortEnd;
  500. } WM_PORT_NUMBER_RANGE;
  501. typedef struct _WM_LICENSE_STATE_DATA
  502. {
  503. DWORD dwSize;
  504. DWORD dwNumStates;
  505. DRM_LICENSE_STATE_DATA stateData[ 1 ];
  506. } WM_LICENSE_STATE_DATA;
  507. typedef struct _WMMediaType
  508. {
  509. GUID majortype;
  510. GUID subtype;
  511. BOOL bFixedSizeSamples;
  512. BOOL bTemporalCompression;
  513. ULONG lSampleSize;
  514. GUID formattype;
  515. IUnknown __RPC_FAR *pUnk;
  516. ULONG cbFormat;
  517. /* [size_is] */ BYTE __RPC_FAR *pbFormat;
  518. } WM_MEDIA_TYPE;
  519. typedef struct tagWMVIDEOINFOHEADER
  520. {
  521. //
  522. // The bit we really want to use.
  523. //
  524. RECT rcSource;
  525. //
  526. // Where the video should go.
  527. //
  528. RECT rcTarget;
  529. //
  530. // Approximate bit data rate.
  531. //
  532. DWORD dwBitRate;
  533. //
  534. // Bit error rate for this stream.
  535. //
  536. DWORD dwBitErrorRate;
  537. //
  538. // Average time per frame (100ns units).
  539. //
  540. LONGLONG AvgTimePerFrame;
  541. BITMAPINFOHEADER bmiHeader;
  542. } WMVIDEOINFOHEADER;
  543. typedef struct tagWMSCRIPTFORMAT
  544. {
  545. GUID scriptType;
  546. } WMSCRIPTFORMAT;
  547. // 00000000-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_Base
  548. EXTERN_GUID(WMMEDIASUBTYPE_Base,
  549. 0x00000000, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  550. // 73646976-0000-0010-8000-00AA00389B71 'vids' == WMMEDIATYPE_Video
  551. EXTERN_GUID(WMMEDIATYPE_Video,
  552. 0x73646976, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
  553. // e436eb78-524f-11ce-9f53-0020af0ba770 MEDIASUBTYPE_RGB1
  554. EXTERN_GUID(WMMEDIASUBTYPE_RGB1,
  555. 0xe436eb78, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
  556. // e436eb79-524f-11ce-9f53-0020af0ba770 MEDIASUBTYPE_RGB4
  557. EXTERN_GUID(WMMEDIASUBTYPE_RGB4,
  558. 0xe436eb79, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
  559. // e436eb7a-524f-11ce-9f53-0020af0ba770 MEDIASUBTYPE_RGB8
  560. EXTERN_GUID(WMMEDIASUBTYPE_RGB8,
  561. 0xe436eb7a, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
  562. // e436eb7b-524f-11ce-9f53-0020af0ba770 MEDIASUBTYPE_RGB565
  563. EXTERN_GUID(WMMEDIASUBTYPE_RGB565,
  564. 0xe436eb7b, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
  565. // e436eb7c-524f-11ce-9f53-0020af0ba770 MEDIASUBTYPE_RGB555
  566. EXTERN_GUID(WMMEDIASUBTYPE_RGB555,
  567. 0xe436eb7c, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
  568. // e436eb7d-524f-11ce-9f53-0020af0ba770 MEDIASUBTYPE_RGB24
  569. EXTERN_GUID(WMMEDIASUBTYPE_RGB24,
  570. 0xe436eb7d, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
  571. // e436eb7e-524f-11ce-9f53-0020af0ba770 MEDIASUBTYPE_RGB32
  572. EXTERN_GUID(WMMEDIASUBTYPE_RGB32,
  573. 0xe436eb7e, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
  574. // 30323449-0000-0010-8000-00AA00389B71 'YV12' == MEDIASUBTYPE_I420
  575. EXTERN_GUID(WMMEDIASUBTYPE_I420,
  576. 0x30323449, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
  577. // 56555949-0000-0010-8000-00AA00389B71 'YV12' == MEDIASUBTYPE_IYUV
  578. EXTERN_GUID(WMMEDIASUBTYPE_IYUV,
  579. 0x56555949, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
  580. // 31313259-0000-0010-8000-00AA00389B71 'YV12' == MEDIASUBTYPE_YV12
  581. EXTERN_GUID(WMMEDIASUBTYPE_YV12,
  582. 0x32315659, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
  583. // 32595559-0000-0010-8000-00AA00389B71 'YUY2' == MEDIASUBTYPE_YUY2
  584. EXTERN_GUID(WMMEDIASUBTYPE_YUY2,
  585. 0x32595559, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
  586. // 59565955-0000-0010-8000-00AA00389B71 'UYVY' == MEDIASUBTYPE_UYVY
  587. EXTERN_GUID(WMMEDIASUBTYPE_UYVY,
  588. 0x59565955, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
  589. // 55595659-0000-0010-8000-00AA00389B71 'YVYU' == MEDIASUBTYPE_YVYU
  590. EXTERN_GUID(WMMEDIASUBTYPE_YVYU,
  591. 0x55595659, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
  592. // 39555659-0000-0010-8000-00AA00389B71 'YVU9' == MEDIASUBTYPE_YVU9
  593. EXTERN_GUID(WMMEDIASUBTYPE_YVU9,
  594. 0x39555659, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
  595. // 3334504D-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_MP43
  596. EXTERN_GUID(WMMEDIASUBTYPE_MP43,
  597. 0x3334504D, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  598. // 5334504D-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_MP4S
  599. EXTERN_GUID(WMMEDIASUBTYPE_MP4S,
  600. 0x5334504D, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  601. // 31564D57-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMV1
  602. EXTERN_GUID(WMMEDIASUBTYPE_WMV1,
  603. 0x31564D57, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  604. // 32564D57-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMV2
  605. EXTERN_GUID(WMMEDIASUBTYPE_WMV2,
  606. 0x32564D57, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  607. // 3153534D-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_MSS1
  608. EXTERN_GUID(WMMEDIASUBTYPE_MSS1,
  609. 0x3153534D, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  610. // 73647561-0000-0010-8000-00AA00389B71 'auds' == WMMEDIATYPE_Audio
  611. EXTERN_GUID(WMMEDIATYPE_Audio,
  612. 0x73647561, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
  613. // 00000001-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_PCM
  614. EXTERN_GUID(WMMEDIASUBTYPE_PCM,
  615. 0x00000001, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  616. // 00000009-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_DRM
  617. EXTERN_GUID(WMMEDIASUBTYPE_DRM,
  618. 0x00000009, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  619. // 00000161-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMAudioV7
  620. EXTERN_GUID(WMMEDIASUBTYPE_WMAudioV7,
  621. 0x00000161, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  622. // 00000161-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMAudioV2
  623. EXTERN_GUID(WMMEDIASUBTYPE_WMAudioV2,
  624. 0x00000161, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  625. // 00000130-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_ACELPnet
  626. EXTERN_GUID(WMMEDIASUBTYPE_ACELPnet,
  627. 0x00000130, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
  628. // 73636d64-0000-0010-8000-00AA00389B71 'scmd' == MEDIATYPE_Script
  629. EXTERN_GUID(WMMEDIATYPE_Script,
  630. 0x73636d64, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
  631. // 34A50FD8-8AA5-4386-81FE-A0EFE0488E31 WMMEDIATYPE_Image
  632. EXTERN_GUID(WMMEDIATYPE_Image,
  633. 0x34a50fd8, 0x8aa5, 0x4386, 0x81, 0xfe, 0xa0, 0xef, 0xe0, 0x48, 0x8e, 0x31);
  634. // 05589f80-c356-11ce-bf01-00aa0055595a WMFORMAT_VideoInfo
  635. EXTERN_GUID(WMFORMAT_VideoInfo,
  636. 0x05589f80, 0xc356, 0x11ce, 0xbf, 0x01, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a);
  637. // 05589f81-c356-11ce-bf01-00aa0055595a WMFORMAT_WaveFormatEx
  638. EXTERN_GUID(WMFORMAT_WaveFormatEx,
  639. 0x05589f81, 0xc356, 0x11ce, 0xbf, 0x01, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a);
  640. // 5C8510F2-DEBE-4ca7-BBA5-F07A104F8DFF WMFORMAT_Script
  641. EXTERN_GUID(WMFORMAT_Script,
  642. 0x5c8510f2, 0xdebe, 0x4ca7, 0xbb, 0xa5, 0xf0, 0x7a, 0x10, 0x4f, 0x8d, 0xff);
  643. // 82f38a70-c29f-11d1-97ad-00a0c95ea850 WMSCRIPTTYPE_TwoStrings
  644. EXTERN_GUID( WMSCRIPTTYPE_TwoStrings,
  645. 0x82f38a70,0xc29f,0x11d1,0x97,0xad,0x00,0xa0,0xc9,0x5e,0xa8,0x50);
  646. EXTERN_GUID( IID_IWMMediaProps, 0x96406bce,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  647. EXTERN_GUID( IID_IWMVideoMediaProps, 0x96406bcf,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  648. EXTERN_GUID( IID_IWMWriter, 0x96406bd4,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  649. EXTERN_GUID( IID_IWMInputMediaProps, 0x96406bd5,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  650. EXTERN_GUID( IID_IWMReader, 0x96406bd6,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  651. EXTERN_GUID( IID_IWMOutputMediaProps, 0x96406bd7,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  652. EXTERN_GUID( IID_IWMStatusCallback, 0x6d7cdc70,0x9888,0x11d3,0x8e,0xdc,0x00,0xc0,0x4f,0x61,0x09,0xcf );
  653. EXTERN_GUID( IID_IWMReaderCallback, 0x96406bd8,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  654. EXTERN_GUID( IID_IWMCredentialCallback, 0x342e0eb7,0xe651,0x450c,0x97,0x5b,0x2a,0xce,0x2c,0x90,0xc4,0x8e );
  655. EXTERN_GUID( IID_IWMMetadataEditor, 0x96406bd9,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  656. EXTERN_GUID( IID_IWMMetadataEditor2, 0x203cffe3,0x2e18,0x4fdf,0xb5,0x9d,0x6e,0x71,0x53,0x05,0x34,0xcf );
  657. EXTERN_GUID( IID_IWMHeaderInfo, 0x96406bda,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  658. EXTERN_GUID( IID_IWMHeaderInfo2, 0x15cf9781,0x454e,0x482e,0xb3,0x93,0x85,0xfa,0xe4,0x87,0xa8,0x10 );
  659. EXTERN_GUID( IID_IWMProfileManager, 0xd16679f2,0x6ca0,0x472d,0x8d,0x31,0x2f,0x5d,0x55,0xae,0xe1,0x55 );
  660. EXTERN_GUID( IID_IWMProfileManager2, 0x7a924e51,0x73c1,0x494d,0x80,0x19,0x23,0xd3,0x7e,0xd9,0xb8,0x9a );
  661. EXTERN_GUID( IID_IWMProfile, 0x96406bdb,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  662. EXTERN_GUID( IID_IWMProfile2, 0x07e72d33,0xd94e,0x4be7,0x88,0x43,0x60,0xae,0x5f,0xf7,0xe5,0xf5 );
  663. EXTERN_GUID( IID_IWMStreamConfig, 0x96406bdc,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  664. EXTERN_GUID( IID_IWMStreamList, 0x96406bdd,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  665. EXTERN_GUID( IID_IWMMutualExclusion, 0x96406bde,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  666. EXTERN_GUID( IID_IWMWriterAdvanced, 0x96406be3,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  667. EXTERN_GUID( IID_IWMWriterAdvanced2, 0x962dc1ec,0xc046,0x4db8,0x9c,0xc7,0x26,0xce,0xae,0x50,0x08,0x17 );
  668. EXTERN_GUID( IID_IWMWriterSink, 0x96406be4,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  669. EXTERN_GUID( IID_IWMWriterFileSink, 0x96406be5,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  670. EXTERN_GUID( IID_IWMWriterFileSink2, 0x14282ba7,0x4aef,0x4205,0x8c,0xe5,0xc2,0x29,0x03,0x5a,0x05,0xbc );
  671. EXTERN_GUID( IID_IWMWriterNetworkSink, 0x96406be7,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  672. EXTERN_GUID( IID_IWMClientConnections, 0x73c66010,0xa299,0x41df,0xb1,0xf0,0xcc,0xf0,0x3b,0x09,0xc1,0xc6 );
  673. EXTERN_GUID( IID_IWMReaderAdvanced, 0x96406bea,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  674. EXTERN_GUID( IID_IWMReaderAdvanced2, 0xae14a945,0xb90c,0x4d0d,0x91,0x27,0x80,0xd6,0x65,0xf7,0xd7,0x3e );
  675. EXTERN_GUID( IID_IWMReaderAdvanced3, 0x5dc0674b,0xf04b,0x4a4e,0x9f,0x2a,0xb1,0xaf,0xde,0x2c,0x81,0x00 );
  676. EXTERN_GUID( IID_IWMDRMReader, 0xd2827540,0x3ee7,0x432c,0xb1,0x4c,0xdc,0x17,0xf0,0x85,0xd3,0xb3 );
  677. EXTERN_GUID( IID_IWMReaderCallbackAdvanced, 0x96406beb,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  678. EXTERN_GUID( IID_IWMReaderNetworkConfig,0x96406bec,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  679. EXTERN_GUID( IID_IWMReaderStreamClock, 0x96406bed,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  680. EXTERN_GUID( IID_IWMIndexer, 0x6d7cdc71,0x9888,0x11d3,0x8e,0xdc,0x00,0xc0,0x4f,0x61,0x09,0xcf );
  681. EXTERN_GUID( IID_IWMReaderAllocatorEx, 0x9f762fa7,0xa22e,0x428d,0x93,0xc9,0xac,0x82,0xf3,0xaa,0xfe,0x5a );
  682. EXTERN_GUID( IID_IWMReaderTypeNegotiation, 0xfdbe5592,0x81a1,0x41ea,0x93,0xbd,0x73,0x5c,0xad,0x1a,0xdc,0x5 );
  683. EXTERN_GUID( IID_IWMLicenseBackup, 0x05E5AC9F,0x3FB6,0x4508,0xBB,0x43,0xA4,0x06,0x7B,0xA1,0xEB,0xE8);
  684. EXTERN_GUID( IID_IWMLicenseRestore, 0xC70B6334,0xa22e,0x4efb,0xA2,0x45,0x15,0xE6,0x5A,0x00,0x4A,0x13);
  685. EXTERN_GUID( IID_IWMBackupRestoreProps, 0x3C8E0DA6,0x996F,0x4ff3,0xA1,0xAF,0x48,0x38,0xF9,0x37,0x7e,0x2e);
  686. EXTERN_GUID( IID_IWMPacketSize, 0xcdfb97ab,0x188f,0x40b3,0xb6,0x43,0x5b,0x79,0x03,0x97,0x5c,0x59);
  687. EXTERN_GUID( IID_IWMRegisterCallback, 0xcf4b1f99,0x4de2,0x4e49,0xa3,0x63,0x25,0x27,0x40,0xd9,0x9b,0xc1);
  688. EXTERN_GUID( IID_IWMWriterPostView, 0x81e20ce4,0x75ef,0x491a,0x80,0x04,0xfc,0x53,0xc4,0x5b,0xdc,0x3e);
  689. EXTERN_GUID( IID_IWMWriterPostViewCallback, 0xd9d6549d,0xa193,0x4f24,0xb3,0x08,0x03,0x12,0x3d,0x9b,0x7f,0x8d);
  690. EXTERN_GUID( IID_IWMCodecInfo, 0xa970f41e,0x34de,0x4a98,0xb3,0xba,0xe4,0xb3,0xca,0x75,0x28,0xf0);
  691. EXTERN_GUID( IID_IWMCodecInfo2, 0xaa65e273,0xb686,0x4056,0x91,0xec,0xdd,0x76,0x8d,0x4d,0xf7,0x10);
  692. EXTERN_GUID( IID_IWMPropertyVault, 0x72995A79,0x5090,0x42a4,0x9C,0x8C,0xD9,0xD0,0xB6,0xD3,0x4B,0xE5 );
  693. EXTERN_GUID( CLSID_WMMUTEX_Bitrate, 0xD6E22A01,0x35DA,0x11D1,0x90,0x34,0x00,0xA0,0xC9,0x03,0x49,0xBE );
  694. #define WM_MAX_VIDEO_STREAMS 0x00c
  695. HRESULT STDMETHODCALLTYPE WMCreateCertificate( IUnknown** pUnkCert );
  696. HRESULT STDMETHODCALLTYPE WMCreateWriter( IUnknown* pUnkCert, IWMWriter **ppWriter );
  697. HRESULT STDMETHODCALLTYPE WMCreateReader( IUnknown* pUnkCert, DWORD dwRights, IWMReader **ppReader );
  698. HRESULT STDMETHODCALLTYPE WMCreateEditor( IWMMetadataEditor **ppEditor );
  699. HRESULT STDMETHODCALLTYPE WMCreateIndexer( IWMIndexer **ppIndexer );
  700. HRESULT STDMETHODCALLTYPE WMCreateBackupRestorer( IUnknown *pCallback, IWMLicenseBackup **ppBackup );
  701. HRESULT STDMETHODCALLTYPE WMCreateProfileManager( IWMProfileManager **ppProfileManager );
  702. HRESULT STDMETHODCALLTYPE WMCreateWriterFileSink( IWMWriterFileSink **ppSink );
  703. HRESULT STDMETHODCALLTYPE WMCreateWriterNetworkSink( IWMWriterNetworkSink **ppSink );
  704. extern RPC_IF_HANDLE __MIDL_itf_wmsdkidl_0000_v0_0_c_ifspec;
  705. extern RPC_IF_HANDLE __MIDL_itf_wmsdkidl_0000_v0_0_s_ifspec;
  706. #ifndef __IWMMediaProps_INTERFACE_DEFINED__
  707. #define __IWMMediaProps_INTERFACE_DEFINED__
  708. /* interface IWMMediaProps */
  709. /* [local][unique][helpstring][uuid][object] */
  710. EXTERN_C const IID IID_IWMMediaProps;
  711. #if defined(__cplusplus) && !defined(CINTERFACE)
  712. MIDL_INTERFACE("96406BCE-2B2B-11d3-B36B-00C04F6108FF")
  713. IWMMediaProps : public IUnknown
  714. {
  715. public:
  716. virtual HRESULT STDMETHODCALLTYPE GetType(
  717. /* [out] */ GUID __RPC_FAR *pguidType) = 0;
  718. virtual HRESULT STDMETHODCALLTYPE GetMediaType(
  719. /* [out] */ WM_MEDIA_TYPE __RPC_FAR *pType,
  720. /* [out][in] */ DWORD __RPC_FAR *pcbType) = 0;
  721. virtual HRESULT STDMETHODCALLTYPE SetMediaType(
  722. /* [in] */ WM_MEDIA_TYPE __RPC_FAR *pType) = 0;
  723. };
  724. #else /* C style interface */
  725. typedef struct IWMMediaPropsVtbl
  726. {
  727. BEGIN_INTERFACE
  728. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  729. IWMMediaProps __RPC_FAR * This,
  730. /* [in] */ REFIID riid,
  731. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  732. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  733. IWMMediaProps __RPC_FAR * This);
  734. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  735. IWMMediaProps __RPC_FAR * This);
  736. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetType )(
  737. IWMMediaProps __RPC_FAR * This,
  738. /* [out] */ GUID __RPC_FAR *pguidType);
  739. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMediaType )(
  740. IWMMediaProps __RPC_FAR * This,
  741. /* [out] */ WM_MEDIA_TYPE __RPC_FAR *pType,
  742. /* [out][in] */ DWORD __RPC_FAR *pcbType);
  743. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMediaType )(
  744. IWMMediaProps __RPC_FAR * This,
  745. /* [in] */ WM_MEDIA_TYPE __RPC_FAR *pType);
  746. END_INTERFACE
  747. } IWMMediaPropsVtbl;
  748. interface IWMMediaProps
  749. {
  750. CONST_VTBL struct IWMMediaPropsVtbl __RPC_FAR *lpVtbl;
  751. };
  752. #ifdef COBJMACROS
  753. #define IWMMediaProps_QueryInterface(This,riid,ppvObject) \
  754. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  755. #define IWMMediaProps_AddRef(This) \
  756. (This)->lpVtbl -> AddRef(This)
  757. #define IWMMediaProps_Release(This) \
  758. (This)->lpVtbl -> Release(This)
  759. #define IWMMediaProps_GetType(This,pguidType) \
  760. (This)->lpVtbl -> GetType(This,pguidType)
  761. #define IWMMediaProps_GetMediaType(This,pType,pcbType) \
  762. (This)->lpVtbl -> GetMediaType(This,pType,pcbType)
  763. #define IWMMediaProps_SetMediaType(This,pType) \
  764. (This)->lpVtbl -> SetMediaType(This,pType)
  765. #endif /* COBJMACROS */
  766. #endif /* C style interface */
  767. HRESULT STDMETHODCALLTYPE IWMMediaProps_GetType_Proxy(
  768. IWMMediaProps __RPC_FAR * This,
  769. /* [out] */ GUID __RPC_FAR *pguidType);
  770. void __RPC_STUB IWMMediaProps_GetType_Stub(
  771. IRpcStubBuffer *This,
  772. IRpcChannelBuffer *_pRpcChannelBuffer,
  773. PRPC_MESSAGE _pRpcMessage,
  774. DWORD *_pdwStubPhase);
  775. HRESULT STDMETHODCALLTYPE IWMMediaProps_GetMediaType_Proxy(
  776. IWMMediaProps __RPC_FAR * This,
  777. /* [out] */ WM_MEDIA_TYPE __RPC_FAR *pType,
  778. /* [out][in] */ DWORD __RPC_FAR *pcbType);
  779. void __RPC_STUB IWMMediaProps_GetMediaType_Stub(
  780. IRpcStubBuffer *This,
  781. IRpcChannelBuffer *_pRpcChannelBuffer,
  782. PRPC_MESSAGE _pRpcMessage,
  783. DWORD *_pdwStubPhase);
  784. HRESULT STDMETHODCALLTYPE IWMMediaProps_SetMediaType_Proxy(
  785. IWMMediaProps __RPC_FAR * This,
  786. /* [in] */ WM_MEDIA_TYPE __RPC_FAR *pType);
  787. void __RPC_STUB IWMMediaProps_SetMediaType_Stub(
  788. IRpcStubBuffer *This,
  789. IRpcChannelBuffer *_pRpcChannelBuffer,
  790. PRPC_MESSAGE _pRpcMessage,
  791. DWORD *_pdwStubPhase);
  792. #endif /* __IWMMediaProps_INTERFACE_DEFINED__ */
  793. #ifndef __IWMVideoMediaProps_INTERFACE_DEFINED__
  794. #define __IWMVideoMediaProps_INTERFACE_DEFINED__
  795. /* interface IWMVideoMediaProps */
  796. /* [local][unique][helpstring][uuid][object] */
  797. EXTERN_C const IID IID_IWMVideoMediaProps;
  798. #if defined(__cplusplus) && !defined(CINTERFACE)
  799. MIDL_INTERFACE("96406BCF-2B2B-11d3-B36B-00C04F6108FF")
  800. IWMVideoMediaProps : public IWMMediaProps
  801. {
  802. public:
  803. virtual HRESULT STDMETHODCALLTYPE GetMaxKeyFrameSpacing(
  804. /* [out] */ LONGLONG __RPC_FAR *pllTime) = 0;
  805. virtual HRESULT STDMETHODCALLTYPE SetMaxKeyFrameSpacing(
  806. /* [in] */ LONGLONG llTime) = 0;
  807. virtual HRESULT STDMETHODCALLTYPE GetQuality(
  808. /* [out] */ DWORD __RPC_FAR *pdwQuality) = 0;
  809. virtual HRESULT STDMETHODCALLTYPE SetQuality(
  810. /* [in] */ DWORD dwQuality) = 0;
  811. };
  812. #else /* C style interface */
  813. typedef struct IWMVideoMediaPropsVtbl
  814. {
  815. BEGIN_INTERFACE
  816. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  817. IWMVideoMediaProps __RPC_FAR * This,
  818. /* [in] */ REFIID riid,
  819. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  820. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  821. IWMVideoMediaProps __RPC_FAR * This);
  822. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  823. IWMVideoMediaProps __RPC_FAR * This);
  824. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetType )(
  825. IWMVideoMediaProps __RPC_FAR * This,
  826. /* [out] */ GUID __RPC_FAR *pguidType);
  827. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMediaType )(
  828. IWMVideoMediaProps __RPC_FAR * This,
  829. /* [out] */ WM_MEDIA_TYPE __RPC_FAR *pType,
  830. /* [out][in] */ DWORD __RPC_FAR *pcbType);
  831. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMediaType )(
  832. IWMVideoMediaProps __RPC_FAR * This,
  833. /* [in] */ WM_MEDIA_TYPE __RPC_FAR *pType);
  834. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMaxKeyFrameSpacing )(
  835. IWMVideoMediaProps __RPC_FAR * This,
  836. /* [out] */ LONGLONG __RPC_FAR *pllTime);
  837. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMaxKeyFrameSpacing )(
  838. IWMVideoMediaProps __RPC_FAR * This,
  839. /* [in] */ LONGLONG llTime);
  840. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetQuality )(
  841. IWMVideoMediaProps __RPC_FAR * This,
  842. /* [out] */ DWORD __RPC_FAR *pdwQuality);
  843. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetQuality )(
  844. IWMVideoMediaProps __RPC_FAR * This,
  845. /* [in] */ DWORD dwQuality);
  846. END_INTERFACE
  847. } IWMVideoMediaPropsVtbl;
  848. interface IWMVideoMediaProps
  849. {
  850. CONST_VTBL struct IWMVideoMediaPropsVtbl __RPC_FAR *lpVtbl;
  851. };
  852. #ifdef COBJMACROS
  853. #define IWMVideoMediaProps_QueryInterface(This,riid,ppvObject) \
  854. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  855. #define IWMVideoMediaProps_AddRef(This) \
  856. (This)->lpVtbl -> AddRef(This)
  857. #define IWMVideoMediaProps_Release(This) \
  858. (This)->lpVtbl -> Release(This)
  859. #define IWMVideoMediaProps_GetType(This,pguidType) \
  860. (This)->lpVtbl -> GetType(This,pguidType)
  861. #define IWMVideoMediaProps_GetMediaType(This,pType,pcbType) \
  862. (This)->lpVtbl -> GetMediaType(This,pType,pcbType)
  863. #define IWMVideoMediaProps_SetMediaType(This,pType) \
  864. (This)->lpVtbl -> SetMediaType(This,pType)
  865. #define IWMVideoMediaProps_GetMaxKeyFrameSpacing(This,pllTime) \
  866. (This)->lpVtbl -> GetMaxKeyFrameSpacing(This,pllTime)
  867. #define IWMVideoMediaProps_SetMaxKeyFrameSpacing(This,llTime) \
  868. (This)->lpVtbl -> SetMaxKeyFrameSpacing(This,llTime)
  869. #define IWMVideoMediaProps_GetQuality(This,pdwQuality) \
  870. (This)->lpVtbl -> GetQuality(This,pdwQuality)
  871. #define IWMVideoMediaProps_SetQuality(This,dwQuality) \
  872. (This)->lpVtbl -> SetQuality(This,dwQuality)
  873. #endif /* COBJMACROS */
  874. #endif /* C style interface */
  875. HRESULT STDMETHODCALLTYPE IWMVideoMediaProps_GetMaxKeyFrameSpacing_Proxy(
  876. IWMVideoMediaProps __RPC_FAR * This,
  877. /* [out] */ LONGLONG __RPC_FAR *pllTime);
  878. void __RPC_STUB IWMVideoMediaProps_GetMaxKeyFrameSpacing_Stub(
  879. IRpcStubBuffer *This,
  880. IRpcChannelBuffer *_pRpcChannelBuffer,
  881. PRPC_MESSAGE _pRpcMessage,
  882. DWORD *_pdwStubPhase);
  883. HRESULT STDMETHODCALLTYPE IWMVideoMediaProps_SetMaxKeyFrameSpacing_Proxy(
  884. IWMVideoMediaProps __RPC_FAR * This,
  885. /* [in] */ LONGLONG llTime);
  886. void __RPC_STUB IWMVideoMediaProps_SetMaxKeyFrameSpacing_Stub(
  887. IRpcStubBuffer *This,
  888. IRpcChannelBuffer *_pRpcChannelBuffer,
  889. PRPC_MESSAGE _pRpcMessage,
  890. DWORD *_pdwStubPhase);
  891. HRESULT STDMETHODCALLTYPE IWMVideoMediaProps_GetQuality_Proxy(
  892. IWMVideoMediaProps __RPC_FAR * This,
  893. /* [out] */ DWORD __RPC_FAR *pdwQuality);
  894. void __RPC_STUB IWMVideoMediaProps_GetQuality_Stub(
  895. IRpcStubBuffer *This,
  896. IRpcChannelBuffer *_pRpcChannelBuffer,
  897. PRPC_MESSAGE _pRpcMessage,
  898. DWORD *_pdwStubPhase);
  899. HRESULT STDMETHODCALLTYPE IWMVideoMediaProps_SetQuality_Proxy(
  900. IWMVideoMediaProps __RPC_FAR * This,
  901. /* [in] */ DWORD dwQuality);
  902. void __RPC_STUB IWMVideoMediaProps_SetQuality_Stub(
  903. IRpcStubBuffer *This,
  904. IRpcChannelBuffer *_pRpcChannelBuffer,
  905. PRPC_MESSAGE _pRpcMessage,
  906. DWORD *_pdwStubPhase);
  907. #endif /* __IWMVideoMediaProps_INTERFACE_DEFINED__ */
  908. #ifndef __IWMWriter_INTERFACE_DEFINED__
  909. #define __IWMWriter_INTERFACE_DEFINED__
  910. /* interface IWMWriter */
  911. /* [local][unique][helpstring][uuid][object] */
  912. EXTERN_C const IID IID_IWMWriter;
  913. #if defined(__cplusplus) && !defined(CINTERFACE)
  914. MIDL_INTERFACE("96406BD4-2B2B-11d3-B36B-00C04F6108FF")
  915. IWMWriter : public IUnknown
  916. {
  917. public:
  918. virtual HRESULT STDMETHODCALLTYPE SetProfileByID(
  919. /* [in] */ REFGUID guidProfile) = 0;
  920. virtual HRESULT STDMETHODCALLTYPE SetProfile(
  921. /* [in] */ IWMProfile __RPC_FAR *pProfile) = 0;
  922. virtual HRESULT STDMETHODCALLTYPE SetOutputFilename(
  923. /* [in] */ const WCHAR __RPC_FAR *pwszFilename) = 0;
  924. virtual HRESULT STDMETHODCALLTYPE GetInputCount(
  925. /* [out] */ DWORD __RPC_FAR *pcInputs) = 0;
  926. virtual HRESULT STDMETHODCALLTYPE GetInputProps(
  927. /* [in] */ DWORD dwInputNum,
  928. /* [out] */ IWMInputMediaProps __RPC_FAR *__RPC_FAR *ppInput) = 0;
  929. virtual HRESULT STDMETHODCALLTYPE SetInputProps(
  930. /* [in] */ DWORD dwInputNum,
  931. /* [in] */ IWMInputMediaProps __RPC_FAR *pInput) = 0;
  932. virtual HRESULT STDMETHODCALLTYPE GetInputFormatCount(
  933. /* [in] */ DWORD dwInputNumber,
  934. /* [out] */ DWORD __RPC_FAR *pcFormats) = 0;
  935. virtual HRESULT STDMETHODCALLTYPE GetInputFormat(
  936. /* [in] */ DWORD dwInputNumber,
  937. /* [in] */ DWORD dwFormatNumber,
  938. /* [out] */ IWMInputMediaProps __RPC_FAR *__RPC_FAR *pProps) = 0;
  939. virtual HRESULT STDMETHODCALLTYPE BeginWriting( void) = 0;
  940. virtual HRESULT STDMETHODCALLTYPE EndWriting( void) = 0;
  941. virtual HRESULT STDMETHODCALLTYPE AllocateSample(
  942. /* [in] */ DWORD dwSampleSize,
  943. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppSample) = 0;
  944. virtual HRESULT STDMETHODCALLTYPE WriteSample(
  945. /* [in] */ DWORD dwInputNum,
  946. /* [in] */ QWORD cnsSampleTime,
  947. /* [in] */ DWORD dwFlags,
  948. /* [in] */ INSSBuffer __RPC_FAR *pSample) = 0;
  949. virtual HRESULT STDMETHODCALLTYPE Flush( void) = 0;
  950. };
  951. #else /* C style interface */
  952. typedef struct IWMWriterVtbl
  953. {
  954. BEGIN_INTERFACE
  955. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  956. IWMWriter __RPC_FAR * This,
  957. /* [in] */ REFIID riid,
  958. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  959. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  960. IWMWriter __RPC_FAR * This);
  961. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  962. IWMWriter __RPC_FAR * This);
  963. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProfileByID )(
  964. IWMWriter __RPC_FAR * This,
  965. /* [in] */ REFGUID guidProfile);
  966. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProfile )(
  967. IWMWriter __RPC_FAR * This,
  968. /* [in] */ IWMProfile __RPC_FAR *pProfile);
  969. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOutputFilename )(
  970. IWMWriter __RPC_FAR * This,
  971. /* [in] */ const WCHAR __RPC_FAR *pwszFilename);
  972. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInputCount )(
  973. IWMWriter __RPC_FAR * This,
  974. /* [out] */ DWORD __RPC_FAR *pcInputs);
  975. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInputProps )(
  976. IWMWriter __RPC_FAR * This,
  977. /* [in] */ DWORD dwInputNum,
  978. /* [out] */ IWMInputMediaProps __RPC_FAR *__RPC_FAR *ppInput);
  979. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetInputProps )(
  980. IWMWriter __RPC_FAR * This,
  981. /* [in] */ DWORD dwInputNum,
  982. /* [in] */ IWMInputMediaProps __RPC_FAR *pInput);
  983. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInputFormatCount )(
  984. IWMWriter __RPC_FAR * This,
  985. /* [in] */ DWORD dwInputNumber,
  986. /* [out] */ DWORD __RPC_FAR *pcFormats);
  987. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInputFormat )(
  988. IWMWriter __RPC_FAR * This,
  989. /* [in] */ DWORD dwInputNumber,
  990. /* [in] */ DWORD dwFormatNumber,
  991. /* [out] */ IWMInputMediaProps __RPC_FAR *__RPC_FAR *pProps);
  992. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BeginWriting )(
  993. IWMWriter __RPC_FAR * This);
  994. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EndWriting )(
  995. IWMWriter __RPC_FAR * This);
  996. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateSample )(
  997. IWMWriter __RPC_FAR * This,
  998. /* [in] */ DWORD dwSampleSize,
  999. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppSample);
  1000. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteSample )(
  1001. IWMWriter __RPC_FAR * This,
  1002. /* [in] */ DWORD dwInputNum,
  1003. /* [in] */ QWORD cnsSampleTime,
  1004. /* [in] */ DWORD dwFlags,
  1005. /* [in] */ INSSBuffer __RPC_FAR *pSample);
  1006. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Flush )(
  1007. IWMWriter __RPC_FAR * This);
  1008. END_INTERFACE
  1009. } IWMWriterVtbl;
  1010. interface IWMWriter
  1011. {
  1012. CONST_VTBL struct IWMWriterVtbl __RPC_FAR *lpVtbl;
  1013. };
  1014. #ifdef COBJMACROS
  1015. #define IWMWriter_QueryInterface(This,riid,ppvObject) \
  1016. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1017. #define IWMWriter_AddRef(This) \
  1018. (This)->lpVtbl -> AddRef(This)
  1019. #define IWMWriter_Release(This) \
  1020. (This)->lpVtbl -> Release(This)
  1021. #define IWMWriter_SetProfileByID(This,guidProfile) \
  1022. (This)->lpVtbl -> SetProfileByID(This,guidProfile)
  1023. #define IWMWriter_SetProfile(This,pProfile) \
  1024. (This)->lpVtbl -> SetProfile(This,pProfile)
  1025. #define IWMWriter_SetOutputFilename(This,pwszFilename) \
  1026. (This)->lpVtbl -> SetOutputFilename(This,pwszFilename)
  1027. #define IWMWriter_GetInputCount(This,pcInputs) \
  1028. (This)->lpVtbl -> GetInputCount(This,pcInputs)
  1029. #define IWMWriter_GetInputProps(This,dwInputNum,ppInput) \
  1030. (This)->lpVtbl -> GetInputProps(This,dwInputNum,ppInput)
  1031. #define IWMWriter_SetInputProps(This,dwInputNum,pInput) \
  1032. (This)->lpVtbl -> SetInputProps(This,dwInputNum,pInput)
  1033. #define IWMWriter_GetInputFormatCount(This,dwInputNumber,pcFormats) \
  1034. (This)->lpVtbl -> GetInputFormatCount(This,dwInputNumber,pcFormats)
  1035. #define IWMWriter_GetInputFormat(This,dwInputNumber,dwFormatNumber,pProps) \
  1036. (This)->lpVtbl -> GetInputFormat(This,dwInputNumber,dwFormatNumber,pProps)
  1037. #define IWMWriter_BeginWriting(This) \
  1038. (This)->lpVtbl -> BeginWriting(This)
  1039. #define IWMWriter_EndWriting(This) \
  1040. (This)->lpVtbl -> EndWriting(This)
  1041. #define IWMWriter_AllocateSample(This,dwSampleSize,ppSample) \
  1042. (This)->lpVtbl -> AllocateSample(This,dwSampleSize,ppSample)
  1043. #define IWMWriter_WriteSample(This,dwInputNum,cnsSampleTime,dwFlags,pSample) \
  1044. (This)->lpVtbl -> WriteSample(This,dwInputNum,cnsSampleTime,dwFlags,pSample)
  1045. #define IWMWriter_Flush(This) \
  1046. (This)->lpVtbl -> Flush(This)
  1047. #endif /* COBJMACROS */
  1048. #endif /* C style interface */
  1049. HRESULT STDMETHODCALLTYPE IWMWriter_SetProfileByID_Proxy(
  1050. IWMWriter __RPC_FAR * This,
  1051. /* [in] */ REFGUID guidProfile);
  1052. void __RPC_STUB IWMWriter_SetProfileByID_Stub(
  1053. IRpcStubBuffer *This,
  1054. IRpcChannelBuffer *_pRpcChannelBuffer,
  1055. PRPC_MESSAGE _pRpcMessage,
  1056. DWORD *_pdwStubPhase);
  1057. HRESULT STDMETHODCALLTYPE IWMWriter_SetProfile_Proxy(
  1058. IWMWriter __RPC_FAR * This,
  1059. /* [in] */ IWMProfile __RPC_FAR *pProfile);
  1060. void __RPC_STUB IWMWriter_SetProfile_Stub(
  1061. IRpcStubBuffer *This,
  1062. IRpcChannelBuffer *_pRpcChannelBuffer,
  1063. PRPC_MESSAGE _pRpcMessage,
  1064. DWORD *_pdwStubPhase);
  1065. HRESULT STDMETHODCALLTYPE IWMWriter_SetOutputFilename_Proxy(
  1066. IWMWriter __RPC_FAR * This,
  1067. /* [in] */ const WCHAR __RPC_FAR *pwszFilename);
  1068. void __RPC_STUB IWMWriter_SetOutputFilename_Stub(
  1069. IRpcStubBuffer *This,
  1070. IRpcChannelBuffer *_pRpcChannelBuffer,
  1071. PRPC_MESSAGE _pRpcMessage,
  1072. DWORD *_pdwStubPhase);
  1073. HRESULT STDMETHODCALLTYPE IWMWriter_GetInputCount_Proxy(
  1074. IWMWriter __RPC_FAR * This,
  1075. /* [out] */ DWORD __RPC_FAR *pcInputs);
  1076. void __RPC_STUB IWMWriter_GetInputCount_Stub(
  1077. IRpcStubBuffer *This,
  1078. IRpcChannelBuffer *_pRpcChannelBuffer,
  1079. PRPC_MESSAGE _pRpcMessage,
  1080. DWORD *_pdwStubPhase);
  1081. HRESULT STDMETHODCALLTYPE IWMWriter_GetInputProps_Proxy(
  1082. IWMWriter __RPC_FAR * This,
  1083. /* [in] */ DWORD dwInputNum,
  1084. /* [out] */ IWMInputMediaProps __RPC_FAR *__RPC_FAR *ppInput);
  1085. void __RPC_STUB IWMWriter_GetInputProps_Stub(
  1086. IRpcStubBuffer *This,
  1087. IRpcChannelBuffer *_pRpcChannelBuffer,
  1088. PRPC_MESSAGE _pRpcMessage,
  1089. DWORD *_pdwStubPhase);
  1090. HRESULT STDMETHODCALLTYPE IWMWriter_SetInputProps_Proxy(
  1091. IWMWriter __RPC_FAR * This,
  1092. /* [in] */ DWORD dwInputNum,
  1093. /* [in] */ IWMInputMediaProps __RPC_FAR *pInput);
  1094. void __RPC_STUB IWMWriter_SetInputProps_Stub(
  1095. IRpcStubBuffer *This,
  1096. IRpcChannelBuffer *_pRpcChannelBuffer,
  1097. PRPC_MESSAGE _pRpcMessage,
  1098. DWORD *_pdwStubPhase);
  1099. HRESULT STDMETHODCALLTYPE IWMWriter_GetInputFormatCount_Proxy(
  1100. IWMWriter __RPC_FAR * This,
  1101. /* [in] */ DWORD dwInputNumber,
  1102. /* [out] */ DWORD __RPC_FAR *pcFormats);
  1103. void __RPC_STUB IWMWriter_GetInputFormatCount_Stub(
  1104. IRpcStubBuffer *This,
  1105. IRpcChannelBuffer *_pRpcChannelBuffer,
  1106. PRPC_MESSAGE _pRpcMessage,
  1107. DWORD *_pdwStubPhase);
  1108. HRESULT STDMETHODCALLTYPE IWMWriter_GetInputFormat_Proxy(
  1109. IWMWriter __RPC_FAR * This,
  1110. /* [in] */ DWORD dwInputNumber,
  1111. /* [in] */ DWORD dwFormatNumber,
  1112. /* [out] */ IWMInputMediaProps __RPC_FAR *__RPC_FAR *pProps);
  1113. void __RPC_STUB IWMWriter_GetInputFormat_Stub(
  1114. IRpcStubBuffer *This,
  1115. IRpcChannelBuffer *_pRpcChannelBuffer,
  1116. PRPC_MESSAGE _pRpcMessage,
  1117. DWORD *_pdwStubPhase);
  1118. HRESULT STDMETHODCALLTYPE IWMWriter_BeginWriting_Proxy(
  1119. IWMWriter __RPC_FAR * This);
  1120. void __RPC_STUB IWMWriter_BeginWriting_Stub(
  1121. IRpcStubBuffer *This,
  1122. IRpcChannelBuffer *_pRpcChannelBuffer,
  1123. PRPC_MESSAGE _pRpcMessage,
  1124. DWORD *_pdwStubPhase);
  1125. HRESULT STDMETHODCALLTYPE IWMWriter_EndWriting_Proxy(
  1126. IWMWriter __RPC_FAR * This);
  1127. void __RPC_STUB IWMWriter_EndWriting_Stub(
  1128. IRpcStubBuffer *This,
  1129. IRpcChannelBuffer *_pRpcChannelBuffer,
  1130. PRPC_MESSAGE _pRpcMessage,
  1131. DWORD *_pdwStubPhase);
  1132. HRESULT STDMETHODCALLTYPE IWMWriter_AllocateSample_Proxy(
  1133. IWMWriter __RPC_FAR * This,
  1134. /* [in] */ DWORD dwSampleSize,
  1135. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppSample);
  1136. void __RPC_STUB IWMWriter_AllocateSample_Stub(
  1137. IRpcStubBuffer *This,
  1138. IRpcChannelBuffer *_pRpcChannelBuffer,
  1139. PRPC_MESSAGE _pRpcMessage,
  1140. DWORD *_pdwStubPhase);
  1141. HRESULT STDMETHODCALLTYPE IWMWriter_WriteSample_Proxy(
  1142. IWMWriter __RPC_FAR * This,
  1143. /* [in] */ DWORD dwInputNum,
  1144. /* [in] */ QWORD cnsSampleTime,
  1145. /* [in] */ DWORD dwFlags,
  1146. /* [in] */ INSSBuffer __RPC_FAR *pSample);
  1147. void __RPC_STUB IWMWriter_WriteSample_Stub(
  1148. IRpcStubBuffer *This,
  1149. IRpcChannelBuffer *_pRpcChannelBuffer,
  1150. PRPC_MESSAGE _pRpcMessage,
  1151. DWORD *_pdwStubPhase);
  1152. HRESULT STDMETHODCALLTYPE IWMWriter_Flush_Proxy(
  1153. IWMWriter __RPC_FAR * This);
  1154. void __RPC_STUB IWMWriter_Flush_Stub(
  1155. IRpcStubBuffer *This,
  1156. IRpcChannelBuffer *_pRpcChannelBuffer,
  1157. PRPC_MESSAGE _pRpcMessage,
  1158. DWORD *_pdwStubPhase);
  1159. #endif /* __IWMWriter_INTERFACE_DEFINED__ */
  1160. #ifndef __IWMInputMediaProps_INTERFACE_DEFINED__
  1161. #define __IWMInputMediaProps_INTERFACE_DEFINED__
  1162. /* interface IWMInputMediaProps */
  1163. /* [local][unique][helpstring][uuid][object] */
  1164. EXTERN_C const IID IID_IWMInputMediaProps;
  1165. #if defined(__cplusplus) && !defined(CINTERFACE)
  1166. MIDL_INTERFACE("96406BD5-2B2B-11d3-B36B-00C04F6108FF")
  1167. IWMInputMediaProps : public IWMMediaProps
  1168. {
  1169. public:
  1170. virtual HRESULT STDMETHODCALLTYPE GetConnectionName(
  1171. /* [out] */ WCHAR __RPC_FAR *pwszName,
  1172. /* [out][in] */ WORD __RPC_FAR *pcchName) = 0;
  1173. virtual HRESULT STDMETHODCALLTYPE GetGroupName(
  1174. /* [out] */ WCHAR __RPC_FAR *pwszName,
  1175. /* [out][in] */ WORD __RPC_FAR *pcchName) = 0;
  1176. };
  1177. #else /* C style interface */
  1178. typedef struct IWMInputMediaPropsVtbl
  1179. {
  1180. BEGIN_INTERFACE
  1181. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1182. IWMInputMediaProps __RPC_FAR * This,
  1183. /* [in] */ REFIID riid,
  1184. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1185. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1186. IWMInputMediaProps __RPC_FAR * This);
  1187. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1188. IWMInputMediaProps __RPC_FAR * This);
  1189. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetType )(
  1190. IWMInputMediaProps __RPC_FAR * This,
  1191. /* [out] */ GUID __RPC_FAR *pguidType);
  1192. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMediaType )(
  1193. IWMInputMediaProps __RPC_FAR * This,
  1194. /* [out] */ WM_MEDIA_TYPE __RPC_FAR *pType,
  1195. /* [out][in] */ DWORD __RPC_FAR *pcbType);
  1196. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMediaType )(
  1197. IWMInputMediaProps __RPC_FAR * This,
  1198. /* [in] */ WM_MEDIA_TYPE __RPC_FAR *pType);
  1199. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetConnectionName )(
  1200. IWMInputMediaProps __RPC_FAR * This,
  1201. /* [out] */ WCHAR __RPC_FAR *pwszName,
  1202. /* [out][in] */ WORD __RPC_FAR *pcchName);
  1203. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetGroupName )(
  1204. IWMInputMediaProps __RPC_FAR * This,
  1205. /* [out] */ WCHAR __RPC_FAR *pwszName,
  1206. /* [out][in] */ WORD __RPC_FAR *pcchName);
  1207. END_INTERFACE
  1208. } IWMInputMediaPropsVtbl;
  1209. interface IWMInputMediaProps
  1210. {
  1211. CONST_VTBL struct IWMInputMediaPropsVtbl __RPC_FAR *lpVtbl;
  1212. };
  1213. #ifdef COBJMACROS
  1214. #define IWMInputMediaProps_QueryInterface(This,riid,ppvObject) \
  1215. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1216. #define IWMInputMediaProps_AddRef(This) \
  1217. (This)->lpVtbl -> AddRef(This)
  1218. #define IWMInputMediaProps_Release(This) \
  1219. (This)->lpVtbl -> Release(This)
  1220. #define IWMInputMediaProps_GetType(This,pguidType) \
  1221. (This)->lpVtbl -> GetType(This,pguidType)
  1222. #define IWMInputMediaProps_GetMediaType(This,pType,pcbType) \
  1223. (This)->lpVtbl -> GetMediaType(This,pType,pcbType)
  1224. #define IWMInputMediaProps_SetMediaType(This,pType) \
  1225. (This)->lpVtbl -> SetMediaType(This,pType)
  1226. #define IWMInputMediaProps_GetConnectionName(This,pwszName,pcchName) \
  1227. (This)->lpVtbl -> GetConnectionName(This,pwszName,pcchName)
  1228. #define IWMInputMediaProps_GetGroupName(This,pwszName,pcchName) \
  1229. (This)->lpVtbl -> GetGroupName(This,pwszName,pcchName)
  1230. #endif /* COBJMACROS */
  1231. #endif /* C style interface */
  1232. HRESULT STDMETHODCALLTYPE IWMInputMediaProps_GetConnectionName_Proxy(
  1233. IWMInputMediaProps __RPC_FAR * This,
  1234. /* [out] */ WCHAR __RPC_FAR *pwszName,
  1235. /* [out][in] */ WORD __RPC_FAR *pcchName);
  1236. void __RPC_STUB IWMInputMediaProps_GetConnectionName_Stub(
  1237. IRpcStubBuffer *This,
  1238. IRpcChannelBuffer *_pRpcChannelBuffer,
  1239. PRPC_MESSAGE _pRpcMessage,
  1240. DWORD *_pdwStubPhase);
  1241. HRESULT STDMETHODCALLTYPE IWMInputMediaProps_GetGroupName_Proxy(
  1242. IWMInputMediaProps __RPC_FAR * This,
  1243. /* [out] */ WCHAR __RPC_FAR *pwszName,
  1244. /* [out][in] */ WORD __RPC_FAR *pcchName);
  1245. void __RPC_STUB IWMInputMediaProps_GetGroupName_Stub(
  1246. IRpcStubBuffer *This,
  1247. IRpcChannelBuffer *_pRpcChannelBuffer,
  1248. PRPC_MESSAGE _pRpcMessage,
  1249. DWORD *_pdwStubPhase);
  1250. #endif /* __IWMInputMediaProps_INTERFACE_DEFINED__ */
  1251. #ifndef __IWMPropertyVault_INTERFACE_DEFINED__
  1252. #define __IWMPropertyVault_INTERFACE_DEFINED__
  1253. /* interface IWMPropertyVault */
  1254. /* [local][unique][helpstring][uuid][object] */
  1255. EXTERN_C const IID IID_IWMPropertyVault;
  1256. #if defined(__cplusplus) && !defined(CINTERFACE)
  1257. MIDL_INTERFACE("72995A79-5090-42a4-9C8C-D9D0B6D34BE5")
  1258. IWMPropertyVault : public IUnknown
  1259. {
  1260. public:
  1261. virtual HRESULT STDMETHODCALLTYPE GetPropertyCount(
  1262. /* [in] */ DWORD __RPC_FAR *pdwCount) = 0;
  1263. virtual HRESULT STDMETHODCALLTYPE GetPropertyByName(
  1264. /* [in] */ LPCWSTR pszName,
  1265. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  1266. /* [out] */ BYTE __RPC_FAR *pValue,
  1267. /* [out][in] */ DWORD __RPC_FAR *pdwSize) = 0;
  1268. virtual HRESULT STDMETHODCALLTYPE SetProperty(
  1269. /* [in] */ LPCWSTR pszName,
  1270. /* [in] */ WMT_ATTR_DATATYPE pType,
  1271. /* [in] */ BYTE __RPC_FAR *pValue,
  1272. /* [in] */ DWORD dwSize) = 0;
  1273. virtual HRESULT STDMETHODCALLTYPE GetPropertyByIndex(
  1274. /* [in] */ DWORD dwIndex,
  1275. /* [out] */ LPWSTR pszName,
  1276. /* [out][in] */ DWORD __RPC_FAR *pdwNameLen,
  1277. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  1278. /* [out] */ BYTE __RPC_FAR *pValue,
  1279. /* [out][in] */ DWORD __RPC_FAR *pdwSize) = 0;
  1280. virtual HRESULT STDMETHODCALLTYPE CopyPropertiesFrom(
  1281. /* [in] */ IWMPropertyVault __RPC_FAR *pIWMPropertyVault) = 0;
  1282. virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0;
  1283. };
  1284. #else /* C style interface */
  1285. typedef struct IWMPropertyVaultVtbl
  1286. {
  1287. BEGIN_INTERFACE
  1288. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1289. IWMPropertyVault __RPC_FAR * This,
  1290. /* [in] */ REFIID riid,
  1291. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1292. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1293. IWMPropertyVault __RPC_FAR * This);
  1294. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1295. IWMPropertyVault __RPC_FAR * This);
  1296. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPropertyCount )(
  1297. IWMPropertyVault __RPC_FAR * This,
  1298. /* [in] */ DWORD __RPC_FAR *pdwCount);
  1299. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPropertyByName )(
  1300. IWMPropertyVault __RPC_FAR * This,
  1301. /* [in] */ LPCWSTR pszName,
  1302. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  1303. /* [out] */ BYTE __RPC_FAR *pValue,
  1304. /* [out][in] */ DWORD __RPC_FAR *pdwSize);
  1305. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProperty )(
  1306. IWMPropertyVault __RPC_FAR * This,
  1307. /* [in] */ LPCWSTR pszName,
  1308. /* [in] */ WMT_ATTR_DATATYPE pType,
  1309. /* [in] */ BYTE __RPC_FAR *pValue,
  1310. /* [in] */ DWORD dwSize);
  1311. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPropertyByIndex )(
  1312. IWMPropertyVault __RPC_FAR * This,
  1313. /* [in] */ DWORD dwIndex,
  1314. /* [out] */ LPWSTR pszName,
  1315. /* [out][in] */ DWORD __RPC_FAR *pdwNameLen,
  1316. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  1317. /* [out] */ BYTE __RPC_FAR *pValue,
  1318. /* [out][in] */ DWORD __RPC_FAR *pdwSize);
  1319. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyPropertiesFrom )(
  1320. IWMPropertyVault __RPC_FAR * This,
  1321. /* [in] */ IWMPropertyVault __RPC_FAR *pIWMPropertyVault);
  1322. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clear )(
  1323. IWMPropertyVault __RPC_FAR * This);
  1324. END_INTERFACE
  1325. } IWMPropertyVaultVtbl;
  1326. interface IWMPropertyVault
  1327. {
  1328. CONST_VTBL struct IWMPropertyVaultVtbl __RPC_FAR *lpVtbl;
  1329. };
  1330. #ifdef COBJMACROS
  1331. #define IWMPropertyVault_QueryInterface(This,riid,ppvObject) \
  1332. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1333. #define IWMPropertyVault_AddRef(This) \
  1334. (This)->lpVtbl -> AddRef(This)
  1335. #define IWMPropertyVault_Release(This) \
  1336. (This)->lpVtbl -> Release(This)
  1337. #define IWMPropertyVault_GetPropertyCount(This,pdwCount) \
  1338. (This)->lpVtbl -> GetPropertyCount(This,pdwCount)
  1339. #define IWMPropertyVault_GetPropertyByName(This,pszName,pType,pValue,pdwSize) \
  1340. (This)->lpVtbl -> GetPropertyByName(This,pszName,pType,pValue,pdwSize)
  1341. #define IWMPropertyVault_SetProperty(This,pszName,pType,pValue,dwSize) \
  1342. (This)->lpVtbl -> SetProperty(This,pszName,pType,pValue,dwSize)
  1343. #define IWMPropertyVault_GetPropertyByIndex(This,dwIndex,pszName,pdwNameLen,pType,pValue,pdwSize) \
  1344. (This)->lpVtbl -> GetPropertyByIndex(This,dwIndex,pszName,pdwNameLen,pType,pValue,pdwSize)
  1345. #define IWMPropertyVault_CopyPropertiesFrom(This,pIWMPropertyVault) \
  1346. (This)->lpVtbl -> CopyPropertiesFrom(This,pIWMPropertyVault)
  1347. #define IWMPropertyVault_Clear(This) \
  1348. (This)->lpVtbl -> Clear(This)
  1349. #endif /* COBJMACROS */
  1350. #endif /* C style interface */
  1351. HRESULT STDMETHODCALLTYPE IWMPropertyVault_GetPropertyCount_Proxy(
  1352. IWMPropertyVault __RPC_FAR * This,
  1353. /* [in] */ DWORD __RPC_FAR *pdwCount);
  1354. void __RPC_STUB IWMPropertyVault_GetPropertyCount_Stub(
  1355. IRpcStubBuffer *This,
  1356. IRpcChannelBuffer *_pRpcChannelBuffer,
  1357. PRPC_MESSAGE _pRpcMessage,
  1358. DWORD *_pdwStubPhase);
  1359. HRESULT STDMETHODCALLTYPE IWMPropertyVault_GetPropertyByName_Proxy(
  1360. IWMPropertyVault __RPC_FAR * This,
  1361. /* [in] */ LPCWSTR pszName,
  1362. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  1363. /* [out] */ BYTE __RPC_FAR *pValue,
  1364. /* [out][in] */ DWORD __RPC_FAR *pdwSize);
  1365. void __RPC_STUB IWMPropertyVault_GetPropertyByName_Stub(
  1366. IRpcStubBuffer *This,
  1367. IRpcChannelBuffer *_pRpcChannelBuffer,
  1368. PRPC_MESSAGE _pRpcMessage,
  1369. DWORD *_pdwStubPhase);
  1370. HRESULT STDMETHODCALLTYPE IWMPropertyVault_SetProperty_Proxy(
  1371. IWMPropertyVault __RPC_FAR * This,
  1372. /* [in] */ LPCWSTR pszName,
  1373. /* [in] */ WMT_ATTR_DATATYPE pType,
  1374. /* [in] */ BYTE __RPC_FAR *pValue,
  1375. /* [in] */ DWORD dwSize);
  1376. void __RPC_STUB IWMPropertyVault_SetProperty_Stub(
  1377. IRpcStubBuffer *This,
  1378. IRpcChannelBuffer *_pRpcChannelBuffer,
  1379. PRPC_MESSAGE _pRpcMessage,
  1380. DWORD *_pdwStubPhase);
  1381. HRESULT STDMETHODCALLTYPE IWMPropertyVault_GetPropertyByIndex_Proxy(
  1382. IWMPropertyVault __RPC_FAR * This,
  1383. /* [in] */ DWORD dwIndex,
  1384. /* [out] */ LPWSTR pszName,
  1385. /* [out][in] */ DWORD __RPC_FAR *pdwNameLen,
  1386. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  1387. /* [out] */ BYTE __RPC_FAR *pValue,
  1388. /* [out][in] */ DWORD __RPC_FAR *pdwSize);
  1389. void __RPC_STUB IWMPropertyVault_GetPropertyByIndex_Stub(
  1390. IRpcStubBuffer *This,
  1391. IRpcChannelBuffer *_pRpcChannelBuffer,
  1392. PRPC_MESSAGE _pRpcMessage,
  1393. DWORD *_pdwStubPhase);
  1394. HRESULT STDMETHODCALLTYPE IWMPropertyVault_CopyPropertiesFrom_Proxy(
  1395. IWMPropertyVault __RPC_FAR * This,
  1396. /* [in] */ IWMPropertyVault __RPC_FAR *pIWMPropertyVault);
  1397. void __RPC_STUB IWMPropertyVault_CopyPropertiesFrom_Stub(
  1398. IRpcStubBuffer *This,
  1399. IRpcChannelBuffer *_pRpcChannelBuffer,
  1400. PRPC_MESSAGE _pRpcMessage,
  1401. DWORD *_pdwStubPhase);
  1402. HRESULT STDMETHODCALLTYPE IWMPropertyVault_Clear_Proxy(
  1403. IWMPropertyVault __RPC_FAR * This);
  1404. void __RPC_STUB IWMPropertyVault_Clear_Stub(
  1405. IRpcStubBuffer *This,
  1406. IRpcChannelBuffer *_pRpcChannelBuffer,
  1407. PRPC_MESSAGE _pRpcMessage,
  1408. DWORD *_pdwStubPhase);
  1409. #endif /* __IWMPropertyVault_INTERFACE_DEFINED__ */
  1410. #ifndef __IWMReader_INTERFACE_DEFINED__
  1411. #define __IWMReader_INTERFACE_DEFINED__
  1412. /* interface IWMReader */
  1413. /* [local][unique][helpstring][uuid][object] */
  1414. EXTERN_C const IID IID_IWMReader;
  1415. #if defined(__cplusplus) && !defined(CINTERFACE)
  1416. MIDL_INTERFACE("96406BD6-2B2B-11d3-B36B-00C04F6108FF")
  1417. IWMReader : public IUnknown
  1418. {
  1419. public:
  1420. virtual HRESULT STDMETHODCALLTYPE Open(
  1421. /* [in] */ const WCHAR __RPC_FAR *pwszURL,
  1422. /* [in] */ IWMReaderCallback __RPC_FAR *pCallback,
  1423. /* [in] */ void __RPC_FAR *pvContext) = 0;
  1424. virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
  1425. virtual HRESULT STDMETHODCALLTYPE GetOutputCount(
  1426. /* [out] */ DWORD __RPC_FAR *pcOutputs) = 0;
  1427. virtual HRESULT STDMETHODCALLTYPE GetOutputProps(
  1428. /* [in] */ DWORD dwOutputNum,
  1429. /* [out] */ IWMOutputMediaProps __RPC_FAR *__RPC_FAR *ppOutput) = 0;
  1430. virtual HRESULT STDMETHODCALLTYPE SetOutputProps(
  1431. /* [in] */ DWORD dwOutputNum,
  1432. /* [in] */ IWMOutputMediaProps __RPC_FAR *pOutput) = 0;
  1433. virtual HRESULT STDMETHODCALLTYPE GetOutputFormatCount(
  1434. /* [in] */ DWORD dwOutputNumber,
  1435. /* [out] */ DWORD __RPC_FAR *pcFormats) = 0;
  1436. virtual HRESULT STDMETHODCALLTYPE GetOutputFormat(
  1437. /* [in] */ DWORD dwOutputNumber,
  1438. /* [in] */ DWORD dwFormatNumber,
  1439. /* [out] */ IWMOutputMediaProps __RPC_FAR *__RPC_FAR *ppProps) = 0;
  1440. virtual HRESULT STDMETHODCALLTYPE Start(
  1441. /* [in] */ QWORD cnsStart,
  1442. /* [in] */ QWORD cnsDuration,
  1443. /* [in] */ float fRate,
  1444. /* [in] */ void __RPC_FAR *pvContext) = 0;
  1445. virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  1446. virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  1447. virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
  1448. };
  1449. #else /* C style interface */
  1450. typedef struct IWMReaderVtbl
  1451. {
  1452. BEGIN_INTERFACE
  1453. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1454. IWMReader __RPC_FAR * This,
  1455. /* [in] */ REFIID riid,
  1456. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1457. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1458. IWMReader __RPC_FAR * This);
  1459. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1460. IWMReader __RPC_FAR * This);
  1461. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )(
  1462. IWMReader __RPC_FAR * This,
  1463. /* [in] */ const WCHAR __RPC_FAR *pwszURL,
  1464. /* [in] */ IWMReaderCallback __RPC_FAR *pCallback,
  1465. /* [in] */ void __RPC_FAR *pvContext);
  1466. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )(
  1467. IWMReader __RPC_FAR * This);
  1468. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOutputCount )(
  1469. IWMReader __RPC_FAR * This,
  1470. /* [out] */ DWORD __RPC_FAR *pcOutputs);
  1471. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOutputProps )(
  1472. IWMReader __RPC_FAR * This,
  1473. /* [in] */ DWORD dwOutputNum,
  1474. /* [out] */ IWMOutputMediaProps __RPC_FAR *__RPC_FAR *ppOutput);
  1475. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOutputProps )(
  1476. IWMReader __RPC_FAR * This,
  1477. /* [in] */ DWORD dwOutputNum,
  1478. /* [in] */ IWMOutputMediaProps __RPC_FAR *pOutput);
  1479. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOutputFormatCount )(
  1480. IWMReader __RPC_FAR * This,
  1481. /* [in] */ DWORD dwOutputNumber,
  1482. /* [out] */ DWORD __RPC_FAR *pcFormats);
  1483. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOutputFormat )(
  1484. IWMReader __RPC_FAR * This,
  1485. /* [in] */ DWORD dwOutputNumber,
  1486. /* [in] */ DWORD dwFormatNumber,
  1487. /* [out] */ IWMOutputMediaProps __RPC_FAR *__RPC_FAR *ppProps);
  1488. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Start )(
  1489. IWMReader __RPC_FAR * This,
  1490. /* [in] */ QWORD cnsStart,
  1491. /* [in] */ QWORD cnsDuration,
  1492. /* [in] */ float fRate,
  1493. /* [in] */ void __RPC_FAR *pvContext);
  1494. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )(
  1495. IWMReader __RPC_FAR * This);
  1496. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Pause )(
  1497. IWMReader __RPC_FAR * This);
  1498. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Resume )(
  1499. IWMReader __RPC_FAR * This);
  1500. END_INTERFACE
  1501. } IWMReaderVtbl;
  1502. interface IWMReader
  1503. {
  1504. CONST_VTBL struct IWMReaderVtbl __RPC_FAR *lpVtbl;
  1505. };
  1506. #ifdef COBJMACROS
  1507. #define IWMReader_QueryInterface(This,riid,ppvObject) \
  1508. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1509. #define IWMReader_AddRef(This) \
  1510. (This)->lpVtbl -> AddRef(This)
  1511. #define IWMReader_Release(This) \
  1512. (This)->lpVtbl -> Release(This)
  1513. #define IWMReader_Open(This,pwszURL,pCallback,pvContext) \
  1514. (This)->lpVtbl -> Open(This,pwszURL,pCallback,pvContext)
  1515. #define IWMReader_Close(This) \
  1516. (This)->lpVtbl -> Close(This)
  1517. #define IWMReader_GetOutputCount(This,pcOutputs) \
  1518. (This)->lpVtbl -> GetOutputCount(This,pcOutputs)
  1519. #define IWMReader_GetOutputProps(This,dwOutputNum,ppOutput) \
  1520. (This)->lpVtbl -> GetOutputProps(This,dwOutputNum,ppOutput)
  1521. #define IWMReader_SetOutputProps(This,dwOutputNum,pOutput) \
  1522. (This)->lpVtbl -> SetOutputProps(This,dwOutputNum,pOutput)
  1523. #define IWMReader_GetOutputFormatCount(This,dwOutputNumber,pcFormats) \
  1524. (This)->lpVtbl -> GetOutputFormatCount(This,dwOutputNumber,pcFormats)
  1525. #define IWMReader_GetOutputFormat(This,dwOutputNumber,dwFormatNumber,ppProps) \
  1526. (This)->lpVtbl -> GetOutputFormat(This,dwOutputNumber,dwFormatNumber,ppProps)
  1527. #define IWMReader_Start(This,cnsStart,cnsDuration,fRate,pvContext) \
  1528. (This)->lpVtbl -> Start(This,cnsStart,cnsDuration,fRate,pvContext)
  1529. #define IWMReader_Stop(This) \
  1530. (This)->lpVtbl -> Stop(This)
  1531. #define IWMReader_Pause(This) \
  1532. (This)->lpVtbl -> Pause(This)
  1533. #define IWMReader_Resume(This) \
  1534. (This)->lpVtbl -> Resume(This)
  1535. #endif /* COBJMACROS */
  1536. #endif /* C style interface */
  1537. HRESULT STDMETHODCALLTYPE IWMReader_Open_Proxy(
  1538. IWMReader __RPC_FAR * This,
  1539. /* [in] */ const WCHAR __RPC_FAR *pwszURL,
  1540. /* [in] */ IWMReaderCallback __RPC_FAR *pCallback,
  1541. /* [in] */ void __RPC_FAR *pvContext);
  1542. void __RPC_STUB IWMReader_Open_Stub(
  1543. IRpcStubBuffer *This,
  1544. IRpcChannelBuffer *_pRpcChannelBuffer,
  1545. PRPC_MESSAGE _pRpcMessage,
  1546. DWORD *_pdwStubPhase);
  1547. HRESULT STDMETHODCALLTYPE IWMReader_Close_Proxy(
  1548. IWMReader __RPC_FAR * This);
  1549. void __RPC_STUB IWMReader_Close_Stub(
  1550. IRpcStubBuffer *This,
  1551. IRpcChannelBuffer *_pRpcChannelBuffer,
  1552. PRPC_MESSAGE _pRpcMessage,
  1553. DWORD *_pdwStubPhase);
  1554. HRESULT STDMETHODCALLTYPE IWMReader_GetOutputCount_Proxy(
  1555. IWMReader __RPC_FAR * This,
  1556. /* [out] */ DWORD __RPC_FAR *pcOutputs);
  1557. void __RPC_STUB IWMReader_GetOutputCount_Stub(
  1558. IRpcStubBuffer *This,
  1559. IRpcChannelBuffer *_pRpcChannelBuffer,
  1560. PRPC_MESSAGE _pRpcMessage,
  1561. DWORD *_pdwStubPhase);
  1562. HRESULT STDMETHODCALLTYPE IWMReader_GetOutputProps_Proxy(
  1563. IWMReader __RPC_FAR * This,
  1564. /* [in] */ DWORD dwOutputNum,
  1565. /* [out] */ IWMOutputMediaProps __RPC_FAR *__RPC_FAR *ppOutput);
  1566. void __RPC_STUB IWMReader_GetOutputProps_Stub(
  1567. IRpcStubBuffer *This,
  1568. IRpcChannelBuffer *_pRpcChannelBuffer,
  1569. PRPC_MESSAGE _pRpcMessage,
  1570. DWORD *_pdwStubPhase);
  1571. HRESULT STDMETHODCALLTYPE IWMReader_SetOutputProps_Proxy(
  1572. IWMReader __RPC_FAR * This,
  1573. /* [in] */ DWORD dwOutputNum,
  1574. /* [in] */ IWMOutputMediaProps __RPC_FAR *pOutput);
  1575. void __RPC_STUB IWMReader_SetOutputProps_Stub(
  1576. IRpcStubBuffer *This,
  1577. IRpcChannelBuffer *_pRpcChannelBuffer,
  1578. PRPC_MESSAGE _pRpcMessage,
  1579. DWORD *_pdwStubPhase);
  1580. HRESULT STDMETHODCALLTYPE IWMReader_GetOutputFormatCount_Proxy(
  1581. IWMReader __RPC_FAR * This,
  1582. /* [in] */ DWORD dwOutputNumber,
  1583. /* [out] */ DWORD __RPC_FAR *pcFormats);
  1584. void __RPC_STUB IWMReader_GetOutputFormatCount_Stub(
  1585. IRpcStubBuffer *This,
  1586. IRpcChannelBuffer *_pRpcChannelBuffer,
  1587. PRPC_MESSAGE _pRpcMessage,
  1588. DWORD *_pdwStubPhase);
  1589. HRESULT STDMETHODCALLTYPE IWMReader_GetOutputFormat_Proxy(
  1590. IWMReader __RPC_FAR * This,
  1591. /* [in] */ DWORD dwOutputNumber,
  1592. /* [in] */ DWORD dwFormatNumber,
  1593. /* [out] */ IWMOutputMediaProps __RPC_FAR *__RPC_FAR *ppProps);
  1594. void __RPC_STUB IWMReader_GetOutputFormat_Stub(
  1595. IRpcStubBuffer *This,
  1596. IRpcChannelBuffer *_pRpcChannelBuffer,
  1597. PRPC_MESSAGE _pRpcMessage,
  1598. DWORD *_pdwStubPhase);
  1599. HRESULT STDMETHODCALLTYPE IWMReader_Start_Proxy(
  1600. IWMReader __RPC_FAR * This,
  1601. /* [in] */ QWORD cnsStart,
  1602. /* [in] */ QWORD cnsDuration,
  1603. /* [in] */ float fRate,
  1604. /* [in] */ void __RPC_FAR *pvContext);
  1605. void __RPC_STUB IWMReader_Start_Stub(
  1606. IRpcStubBuffer *This,
  1607. IRpcChannelBuffer *_pRpcChannelBuffer,
  1608. PRPC_MESSAGE _pRpcMessage,
  1609. DWORD *_pdwStubPhase);
  1610. HRESULT STDMETHODCALLTYPE IWMReader_Stop_Proxy(
  1611. IWMReader __RPC_FAR * This);
  1612. void __RPC_STUB IWMReader_Stop_Stub(
  1613. IRpcStubBuffer *This,
  1614. IRpcChannelBuffer *_pRpcChannelBuffer,
  1615. PRPC_MESSAGE _pRpcMessage,
  1616. DWORD *_pdwStubPhase);
  1617. HRESULT STDMETHODCALLTYPE IWMReader_Pause_Proxy(
  1618. IWMReader __RPC_FAR * This);
  1619. void __RPC_STUB IWMReader_Pause_Stub(
  1620. IRpcStubBuffer *This,
  1621. IRpcChannelBuffer *_pRpcChannelBuffer,
  1622. PRPC_MESSAGE _pRpcMessage,
  1623. DWORD *_pdwStubPhase);
  1624. HRESULT STDMETHODCALLTYPE IWMReader_Resume_Proxy(
  1625. IWMReader __RPC_FAR * This);
  1626. void __RPC_STUB IWMReader_Resume_Stub(
  1627. IRpcStubBuffer *This,
  1628. IRpcChannelBuffer *_pRpcChannelBuffer,
  1629. PRPC_MESSAGE _pRpcMessage,
  1630. DWORD *_pdwStubPhase);
  1631. #endif /* __IWMReader_INTERFACE_DEFINED__ */
  1632. #ifndef __IWMOutputMediaProps_INTERFACE_DEFINED__
  1633. #define __IWMOutputMediaProps_INTERFACE_DEFINED__
  1634. /* interface IWMOutputMediaProps */
  1635. /* [local][unique][helpstring][uuid][object] */
  1636. EXTERN_C const IID IID_IWMOutputMediaProps;
  1637. #if defined(__cplusplus) && !defined(CINTERFACE)
  1638. MIDL_INTERFACE("96406BD7-2B2B-11d3-B36B-00C04F6108FF")
  1639. IWMOutputMediaProps : public IWMMediaProps
  1640. {
  1641. public:
  1642. virtual HRESULT STDMETHODCALLTYPE GetStreamGroupName(
  1643. /* [out] */ WCHAR __RPC_FAR *pwszName,
  1644. /* [out][in] */ WORD __RPC_FAR *pcchName) = 0;
  1645. virtual HRESULT STDMETHODCALLTYPE GetConnectionName(
  1646. /* [out] */ WCHAR __RPC_FAR *pwszName,
  1647. /* [out][in] */ WORD __RPC_FAR *pcchName) = 0;
  1648. };
  1649. #else /* C style interface */
  1650. typedef struct IWMOutputMediaPropsVtbl
  1651. {
  1652. BEGIN_INTERFACE
  1653. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1654. IWMOutputMediaProps __RPC_FAR * This,
  1655. /* [in] */ REFIID riid,
  1656. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1657. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1658. IWMOutputMediaProps __RPC_FAR * This);
  1659. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1660. IWMOutputMediaProps __RPC_FAR * This);
  1661. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetType )(
  1662. IWMOutputMediaProps __RPC_FAR * This,
  1663. /* [out] */ GUID __RPC_FAR *pguidType);
  1664. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMediaType )(
  1665. IWMOutputMediaProps __RPC_FAR * This,
  1666. /* [out] */ WM_MEDIA_TYPE __RPC_FAR *pType,
  1667. /* [out][in] */ DWORD __RPC_FAR *pcbType);
  1668. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMediaType )(
  1669. IWMOutputMediaProps __RPC_FAR * This,
  1670. /* [in] */ WM_MEDIA_TYPE __RPC_FAR *pType);
  1671. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamGroupName )(
  1672. IWMOutputMediaProps __RPC_FAR * This,
  1673. /* [out] */ WCHAR __RPC_FAR *pwszName,
  1674. /* [out][in] */ WORD __RPC_FAR *pcchName);
  1675. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetConnectionName )(
  1676. IWMOutputMediaProps __RPC_FAR * This,
  1677. /* [out] */ WCHAR __RPC_FAR *pwszName,
  1678. /* [out][in] */ WORD __RPC_FAR *pcchName);
  1679. END_INTERFACE
  1680. } IWMOutputMediaPropsVtbl;
  1681. interface IWMOutputMediaProps
  1682. {
  1683. CONST_VTBL struct IWMOutputMediaPropsVtbl __RPC_FAR *lpVtbl;
  1684. };
  1685. #ifdef COBJMACROS
  1686. #define IWMOutputMediaProps_QueryInterface(This,riid,ppvObject) \
  1687. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1688. #define IWMOutputMediaProps_AddRef(This) \
  1689. (This)->lpVtbl -> AddRef(This)
  1690. #define IWMOutputMediaProps_Release(This) \
  1691. (This)->lpVtbl -> Release(This)
  1692. #define IWMOutputMediaProps_GetType(This,pguidType) \
  1693. (This)->lpVtbl -> GetType(This,pguidType)
  1694. #define IWMOutputMediaProps_GetMediaType(This,pType,pcbType) \
  1695. (This)->lpVtbl -> GetMediaType(This,pType,pcbType)
  1696. #define IWMOutputMediaProps_SetMediaType(This,pType) \
  1697. (This)->lpVtbl -> SetMediaType(This,pType)
  1698. #define IWMOutputMediaProps_GetStreamGroupName(This,pwszName,pcchName) \
  1699. (This)->lpVtbl -> GetStreamGroupName(This,pwszName,pcchName)
  1700. #define IWMOutputMediaProps_GetConnectionName(This,pwszName,pcchName) \
  1701. (This)->lpVtbl -> GetConnectionName(This,pwszName,pcchName)
  1702. #endif /* COBJMACROS */
  1703. #endif /* C style interface */
  1704. HRESULT STDMETHODCALLTYPE IWMOutputMediaProps_GetStreamGroupName_Proxy(
  1705. IWMOutputMediaProps __RPC_FAR * This,
  1706. /* [out] */ WCHAR __RPC_FAR *pwszName,
  1707. /* [out][in] */ WORD __RPC_FAR *pcchName);
  1708. void __RPC_STUB IWMOutputMediaProps_GetStreamGroupName_Stub(
  1709. IRpcStubBuffer *This,
  1710. IRpcChannelBuffer *_pRpcChannelBuffer,
  1711. PRPC_MESSAGE _pRpcMessage,
  1712. DWORD *_pdwStubPhase);
  1713. HRESULT STDMETHODCALLTYPE IWMOutputMediaProps_GetConnectionName_Proxy(
  1714. IWMOutputMediaProps __RPC_FAR * This,
  1715. /* [out] */ WCHAR __RPC_FAR *pwszName,
  1716. /* [out][in] */ WORD __RPC_FAR *pcchName);
  1717. void __RPC_STUB IWMOutputMediaProps_GetConnectionName_Stub(
  1718. IRpcStubBuffer *This,
  1719. IRpcChannelBuffer *_pRpcChannelBuffer,
  1720. PRPC_MESSAGE _pRpcMessage,
  1721. DWORD *_pdwStubPhase);
  1722. #endif /* __IWMOutputMediaProps_INTERFACE_DEFINED__ */
  1723. #ifndef __IWMStatusCallback_INTERFACE_DEFINED__
  1724. #define __IWMStatusCallback_INTERFACE_DEFINED__
  1725. /* interface IWMStatusCallback */
  1726. /* [local][unique][helpstring][uuid][object] */
  1727. EXTERN_C const IID IID_IWMStatusCallback;
  1728. #if defined(__cplusplus) && !defined(CINTERFACE)
  1729. MIDL_INTERFACE("6d7cdc70-9888-11d3-8edc-00c04f6109cf")
  1730. IWMStatusCallback : public IUnknown
  1731. {
  1732. public:
  1733. virtual HRESULT STDMETHODCALLTYPE OnStatus(
  1734. /* [in] */ WMT_STATUS Status,
  1735. /* [in] */ HRESULT hr,
  1736. /* [in] */ WMT_ATTR_DATATYPE dwType,
  1737. /* [in] */ BYTE __RPC_FAR *pValue,
  1738. /* [in] */ void __RPC_FAR *pvContext) = 0;
  1739. };
  1740. #else /* C style interface */
  1741. typedef struct IWMStatusCallbackVtbl
  1742. {
  1743. BEGIN_INTERFACE
  1744. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1745. IWMStatusCallback __RPC_FAR * This,
  1746. /* [in] */ REFIID riid,
  1747. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1748. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1749. IWMStatusCallback __RPC_FAR * This);
  1750. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1751. IWMStatusCallback __RPC_FAR * This);
  1752. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnStatus )(
  1753. IWMStatusCallback __RPC_FAR * This,
  1754. /* [in] */ WMT_STATUS Status,
  1755. /* [in] */ HRESULT hr,
  1756. /* [in] */ WMT_ATTR_DATATYPE dwType,
  1757. /* [in] */ BYTE __RPC_FAR *pValue,
  1758. /* [in] */ void __RPC_FAR *pvContext);
  1759. END_INTERFACE
  1760. } IWMStatusCallbackVtbl;
  1761. interface IWMStatusCallback
  1762. {
  1763. CONST_VTBL struct IWMStatusCallbackVtbl __RPC_FAR *lpVtbl;
  1764. };
  1765. #ifdef COBJMACROS
  1766. #define IWMStatusCallback_QueryInterface(This,riid,ppvObject) \
  1767. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1768. #define IWMStatusCallback_AddRef(This) \
  1769. (This)->lpVtbl -> AddRef(This)
  1770. #define IWMStatusCallback_Release(This) \
  1771. (This)->lpVtbl -> Release(This)
  1772. #define IWMStatusCallback_OnStatus(This,Status,hr,dwType,pValue,pvContext) \
  1773. (This)->lpVtbl -> OnStatus(This,Status,hr,dwType,pValue,pvContext)
  1774. #endif /* COBJMACROS */
  1775. #endif /* C style interface */
  1776. HRESULT STDMETHODCALLTYPE IWMStatusCallback_OnStatus_Proxy(
  1777. IWMStatusCallback __RPC_FAR * This,
  1778. /* [in] */ WMT_STATUS Status,
  1779. /* [in] */ HRESULT hr,
  1780. /* [in] */ WMT_ATTR_DATATYPE dwType,
  1781. /* [in] */ BYTE __RPC_FAR *pValue,
  1782. /* [in] */ void __RPC_FAR *pvContext);
  1783. void __RPC_STUB IWMStatusCallback_OnStatus_Stub(
  1784. IRpcStubBuffer *This,
  1785. IRpcChannelBuffer *_pRpcChannelBuffer,
  1786. PRPC_MESSAGE _pRpcMessage,
  1787. DWORD *_pdwStubPhase);
  1788. #endif /* __IWMStatusCallback_INTERFACE_DEFINED__ */
  1789. #ifndef __IWMReaderCallback_INTERFACE_DEFINED__
  1790. #define __IWMReaderCallback_INTERFACE_DEFINED__
  1791. /* interface IWMReaderCallback */
  1792. /* [local][unique][helpstring][uuid][object] */
  1793. EXTERN_C const IID IID_IWMReaderCallback;
  1794. #if defined(__cplusplus) && !defined(CINTERFACE)
  1795. MIDL_INTERFACE("96406BD8-2B2B-11d3-B36B-00C04F6108FF")
  1796. IWMReaderCallback : public IWMStatusCallback
  1797. {
  1798. public:
  1799. virtual HRESULT STDMETHODCALLTYPE OnSample(
  1800. /* [in] */ DWORD dwOutputNum,
  1801. /* [in] */ QWORD cnsSampleTime,
  1802. /* [in] */ QWORD cnsSampleDuration,
  1803. /* [in] */ DWORD dwFlags,
  1804. /* [in] */ INSSBuffer __RPC_FAR *pSample,
  1805. /* [in] */ void __RPC_FAR *pvContext) = 0;
  1806. };
  1807. #else /* C style interface */
  1808. typedef struct IWMReaderCallbackVtbl
  1809. {
  1810. BEGIN_INTERFACE
  1811. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1812. IWMReaderCallback __RPC_FAR * This,
  1813. /* [in] */ REFIID riid,
  1814. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1815. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1816. IWMReaderCallback __RPC_FAR * This);
  1817. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1818. IWMReaderCallback __RPC_FAR * This);
  1819. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnStatus )(
  1820. IWMReaderCallback __RPC_FAR * This,
  1821. /* [in] */ WMT_STATUS Status,
  1822. /* [in] */ HRESULT hr,
  1823. /* [in] */ WMT_ATTR_DATATYPE dwType,
  1824. /* [in] */ BYTE __RPC_FAR *pValue,
  1825. /* [in] */ void __RPC_FAR *pvContext);
  1826. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnSample )(
  1827. IWMReaderCallback __RPC_FAR * This,
  1828. /* [in] */ DWORD dwOutputNum,
  1829. /* [in] */ QWORD cnsSampleTime,
  1830. /* [in] */ QWORD cnsSampleDuration,
  1831. /* [in] */ DWORD dwFlags,
  1832. /* [in] */ INSSBuffer __RPC_FAR *pSample,
  1833. /* [in] */ void __RPC_FAR *pvContext);
  1834. END_INTERFACE
  1835. } IWMReaderCallbackVtbl;
  1836. interface IWMReaderCallback
  1837. {
  1838. CONST_VTBL struct IWMReaderCallbackVtbl __RPC_FAR *lpVtbl;
  1839. };
  1840. #ifdef COBJMACROS
  1841. #define IWMReaderCallback_QueryInterface(This,riid,ppvObject) \
  1842. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1843. #define IWMReaderCallback_AddRef(This) \
  1844. (This)->lpVtbl -> AddRef(This)
  1845. #define IWMReaderCallback_Release(This) \
  1846. (This)->lpVtbl -> Release(This)
  1847. #define IWMReaderCallback_OnStatus(This,Status,hr,dwType,pValue,pvContext) \
  1848. (This)->lpVtbl -> OnStatus(This,Status,hr,dwType,pValue,pvContext)
  1849. #define IWMReaderCallback_OnSample(This,dwOutputNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext) \
  1850. (This)->lpVtbl -> OnSample(This,dwOutputNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext)
  1851. #endif /* COBJMACROS */
  1852. #endif /* C style interface */
  1853. HRESULT STDMETHODCALLTYPE IWMReaderCallback_OnSample_Proxy(
  1854. IWMReaderCallback __RPC_FAR * This,
  1855. /* [in] */ DWORD dwOutputNum,
  1856. /* [in] */ QWORD cnsSampleTime,
  1857. /* [in] */ QWORD cnsSampleDuration,
  1858. /* [in] */ DWORD dwFlags,
  1859. /* [in] */ INSSBuffer __RPC_FAR *pSample,
  1860. /* [in] */ void __RPC_FAR *pvContext);
  1861. void __RPC_STUB IWMReaderCallback_OnSample_Stub(
  1862. IRpcStubBuffer *This,
  1863. IRpcChannelBuffer *_pRpcChannelBuffer,
  1864. PRPC_MESSAGE _pRpcMessage,
  1865. DWORD *_pdwStubPhase);
  1866. #endif /* __IWMReaderCallback_INTERFACE_DEFINED__ */
  1867. #ifndef __IWMCredentialCallback_INTERFACE_DEFINED__
  1868. #define __IWMCredentialCallback_INTERFACE_DEFINED__
  1869. /* interface IWMCredentialCallback */
  1870. /* [local][unique][helpstring][uuid][object] */
  1871. EXTERN_C const IID IID_IWMCredentialCallback;
  1872. #if defined(__cplusplus) && !defined(CINTERFACE)
  1873. MIDL_INTERFACE("342e0eb7-e651-450c-975b-2ace2c90c48e")
  1874. IWMCredentialCallback : public IUnknown
  1875. {
  1876. public:
  1877. virtual HRESULT STDMETHODCALLTYPE AcquireCredentials(
  1878. /* [in] */ WCHAR __RPC_FAR *pwszRealm,
  1879. /* [in] */ WCHAR __RPC_FAR *pwszSite,
  1880. /* [size_is][out][in] */ WCHAR __RPC_FAR *pwszUser,
  1881. /* [in] */ DWORD cchUser,
  1882. /* [size_is][out][in] */ WCHAR __RPC_FAR *pwszPassword,
  1883. /* [in] */ DWORD cchPassword,
  1884. /* [in] */ HRESULT hrStatus,
  1885. /* [out][in] */ DWORD __RPC_FAR *pdwFlags) = 0;
  1886. };
  1887. #else /* C style interface */
  1888. typedef struct IWMCredentialCallbackVtbl
  1889. {
  1890. BEGIN_INTERFACE
  1891. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1892. IWMCredentialCallback __RPC_FAR * This,
  1893. /* [in] */ REFIID riid,
  1894. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1895. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1896. IWMCredentialCallback __RPC_FAR * This);
  1897. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1898. IWMCredentialCallback __RPC_FAR * This);
  1899. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AcquireCredentials )(
  1900. IWMCredentialCallback __RPC_FAR * This,
  1901. /* [in] */ WCHAR __RPC_FAR *pwszRealm,
  1902. /* [in] */ WCHAR __RPC_FAR *pwszSite,
  1903. /* [size_is][out][in] */ WCHAR __RPC_FAR *pwszUser,
  1904. /* [in] */ DWORD cchUser,
  1905. /* [size_is][out][in] */ WCHAR __RPC_FAR *pwszPassword,
  1906. /* [in] */ DWORD cchPassword,
  1907. /* [in] */ HRESULT hrStatus,
  1908. /* [out][in] */ DWORD __RPC_FAR *pdwFlags);
  1909. END_INTERFACE
  1910. } IWMCredentialCallbackVtbl;
  1911. interface IWMCredentialCallback
  1912. {
  1913. CONST_VTBL struct IWMCredentialCallbackVtbl __RPC_FAR *lpVtbl;
  1914. };
  1915. #ifdef COBJMACROS
  1916. #define IWMCredentialCallback_QueryInterface(This,riid,ppvObject) \
  1917. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1918. #define IWMCredentialCallback_AddRef(This) \
  1919. (This)->lpVtbl -> AddRef(This)
  1920. #define IWMCredentialCallback_Release(This) \
  1921. (This)->lpVtbl -> Release(This)
  1922. #define IWMCredentialCallback_AcquireCredentials(This,pwszRealm,pwszSite,pwszUser,cchUser,pwszPassword,cchPassword,hrStatus,pdwFlags) \
  1923. (This)->lpVtbl -> AcquireCredentials(This,pwszRealm,pwszSite,pwszUser,cchUser,pwszPassword,cchPassword,hrStatus,pdwFlags)
  1924. #endif /* COBJMACROS */
  1925. #endif /* C style interface */
  1926. HRESULT STDMETHODCALLTYPE IWMCredentialCallback_AcquireCredentials_Proxy(
  1927. IWMCredentialCallback __RPC_FAR * This,
  1928. /* [in] */ WCHAR __RPC_FAR *pwszRealm,
  1929. /* [in] */ WCHAR __RPC_FAR *pwszSite,
  1930. /* [size_is][out][in] */ WCHAR __RPC_FAR *pwszUser,
  1931. /* [in] */ DWORD cchUser,
  1932. /* [size_is][out][in] */ WCHAR __RPC_FAR *pwszPassword,
  1933. /* [in] */ DWORD cchPassword,
  1934. /* [in] */ HRESULT hrStatus,
  1935. /* [out][in] */ DWORD __RPC_FAR *pdwFlags);
  1936. void __RPC_STUB IWMCredentialCallback_AcquireCredentials_Stub(
  1937. IRpcStubBuffer *This,
  1938. IRpcChannelBuffer *_pRpcChannelBuffer,
  1939. PRPC_MESSAGE _pRpcMessage,
  1940. DWORD *_pdwStubPhase);
  1941. #endif /* __IWMCredentialCallback_INTERFACE_DEFINED__ */
  1942. #ifndef __IWMMetadataEditor_INTERFACE_DEFINED__
  1943. #define __IWMMetadataEditor_INTERFACE_DEFINED__
  1944. /* interface IWMMetadataEditor */
  1945. /* [local][unique][helpstring][uuid][object] */
  1946. EXTERN_C const IID IID_IWMMetadataEditor;
  1947. #if defined(__cplusplus) && !defined(CINTERFACE)
  1948. MIDL_INTERFACE("96406BD9-2B2B-11d3-B36B-00C04F6108FF")
  1949. IWMMetadataEditor : public IUnknown
  1950. {
  1951. public:
  1952. virtual HRESULT STDMETHODCALLTYPE Open(
  1953. /* [in] */ const WCHAR __RPC_FAR *pwszFilename) = 0;
  1954. virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
  1955. virtual HRESULT STDMETHODCALLTYPE Flush( void) = 0;
  1956. };
  1957. #else /* C style interface */
  1958. typedef struct IWMMetadataEditorVtbl
  1959. {
  1960. BEGIN_INTERFACE
  1961. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1962. IWMMetadataEditor __RPC_FAR * This,
  1963. /* [in] */ REFIID riid,
  1964. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1965. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1966. IWMMetadataEditor __RPC_FAR * This);
  1967. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1968. IWMMetadataEditor __RPC_FAR * This);
  1969. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )(
  1970. IWMMetadataEditor __RPC_FAR * This,
  1971. /* [in] */ const WCHAR __RPC_FAR *pwszFilename);
  1972. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )(
  1973. IWMMetadataEditor __RPC_FAR * This);
  1974. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Flush )(
  1975. IWMMetadataEditor __RPC_FAR * This);
  1976. END_INTERFACE
  1977. } IWMMetadataEditorVtbl;
  1978. interface IWMMetadataEditor
  1979. {
  1980. CONST_VTBL struct IWMMetadataEditorVtbl __RPC_FAR *lpVtbl;
  1981. };
  1982. #ifdef COBJMACROS
  1983. #define IWMMetadataEditor_QueryInterface(This,riid,ppvObject) \
  1984. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1985. #define IWMMetadataEditor_AddRef(This) \
  1986. (This)->lpVtbl -> AddRef(This)
  1987. #define IWMMetadataEditor_Release(This) \
  1988. (This)->lpVtbl -> Release(This)
  1989. #define IWMMetadataEditor_Open(This,pwszFilename) \
  1990. (This)->lpVtbl -> Open(This,pwszFilename)
  1991. #define IWMMetadataEditor_Close(This) \
  1992. (This)->lpVtbl -> Close(This)
  1993. #define IWMMetadataEditor_Flush(This) \
  1994. (This)->lpVtbl -> Flush(This)
  1995. #endif /* COBJMACROS */
  1996. #endif /* C style interface */
  1997. HRESULT STDMETHODCALLTYPE IWMMetadataEditor_Open_Proxy(
  1998. IWMMetadataEditor __RPC_FAR * This,
  1999. /* [in] */ const WCHAR __RPC_FAR *pwszFilename);
  2000. void __RPC_STUB IWMMetadataEditor_Open_Stub(
  2001. IRpcStubBuffer *This,
  2002. IRpcChannelBuffer *_pRpcChannelBuffer,
  2003. PRPC_MESSAGE _pRpcMessage,
  2004. DWORD *_pdwStubPhase);
  2005. HRESULT STDMETHODCALLTYPE IWMMetadataEditor_Close_Proxy(
  2006. IWMMetadataEditor __RPC_FAR * This);
  2007. void __RPC_STUB IWMMetadataEditor_Close_Stub(
  2008. IRpcStubBuffer *This,
  2009. IRpcChannelBuffer *_pRpcChannelBuffer,
  2010. PRPC_MESSAGE _pRpcMessage,
  2011. DWORD *_pdwStubPhase);
  2012. HRESULT STDMETHODCALLTYPE IWMMetadataEditor_Flush_Proxy(
  2013. IWMMetadataEditor __RPC_FAR * This);
  2014. void __RPC_STUB IWMMetadataEditor_Flush_Stub(
  2015. IRpcStubBuffer *This,
  2016. IRpcChannelBuffer *_pRpcChannelBuffer,
  2017. PRPC_MESSAGE _pRpcMessage,
  2018. DWORD *_pdwStubPhase);
  2019. #endif /* __IWMMetadataEditor_INTERFACE_DEFINED__ */
  2020. #ifndef __IWMMetadataEditor2_INTERFACE_DEFINED__
  2021. #define __IWMMetadataEditor2_INTERFACE_DEFINED__
  2022. /* interface IWMMetadataEditor2 */
  2023. /* [local][unique][helpstring][uuid][object] */
  2024. EXTERN_C const IID IID_IWMMetadataEditor2;
  2025. #if defined(__cplusplus) && !defined(CINTERFACE)
  2026. MIDL_INTERFACE("203CFFE3-2E18-4fdf-B59D-6E71530534CF")
  2027. IWMMetadataEditor2 : public IWMMetadataEditor
  2028. {
  2029. public:
  2030. virtual HRESULT STDMETHODCALLTYPE OpenEx(
  2031. /* [in] */ const WCHAR __RPC_FAR *pwszFilename,
  2032. /* [in] */ DWORD dwDesiredAccess,
  2033. /* [in] */ DWORD dwShareMode) = 0;
  2034. };
  2035. #else /* C style interface */
  2036. typedef struct IWMMetadataEditor2Vtbl
  2037. {
  2038. BEGIN_INTERFACE
  2039. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2040. IWMMetadataEditor2 __RPC_FAR * This,
  2041. /* [in] */ REFIID riid,
  2042. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2043. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2044. IWMMetadataEditor2 __RPC_FAR * This);
  2045. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2046. IWMMetadataEditor2 __RPC_FAR * This);
  2047. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )(
  2048. IWMMetadataEditor2 __RPC_FAR * This,
  2049. /* [in] */ const WCHAR __RPC_FAR *pwszFilename);
  2050. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )(
  2051. IWMMetadataEditor2 __RPC_FAR * This);
  2052. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Flush )(
  2053. IWMMetadataEditor2 __RPC_FAR * This);
  2054. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenEx )(
  2055. IWMMetadataEditor2 __RPC_FAR * This,
  2056. /* [in] */ const WCHAR __RPC_FAR *pwszFilename,
  2057. /* [in] */ DWORD dwDesiredAccess,
  2058. /* [in] */ DWORD dwShareMode);
  2059. END_INTERFACE
  2060. } IWMMetadataEditor2Vtbl;
  2061. interface IWMMetadataEditor2
  2062. {
  2063. CONST_VTBL struct IWMMetadataEditor2Vtbl __RPC_FAR *lpVtbl;
  2064. };
  2065. #ifdef COBJMACROS
  2066. #define IWMMetadataEditor2_QueryInterface(This,riid,ppvObject) \
  2067. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2068. #define IWMMetadataEditor2_AddRef(This) \
  2069. (This)->lpVtbl -> AddRef(This)
  2070. #define IWMMetadataEditor2_Release(This) \
  2071. (This)->lpVtbl -> Release(This)
  2072. #define IWMMetadataEditor2_Open(This,pwszFilename) \
  2073. (This)->lpVtbl -> Open(This,pwszFilename)
  2074. #define IWMMetadataEditor2_Close(This) \
  2075. (This)->lpVtbl -> Close(This)
  2076. #define IWMMetadataEditor2_Flush(This) \
  2077. (This)->lpVtbl -> Flush(This)
  2078. #define IWMMetadataEditor2_OpenEx(This,pwszFilename,dwDesiredAccess,dwShareMode) \
  2079. (This)->lpVtbl -> OpenEx(This,pwszFilename,dwDesiredAccess,dwShareMode)
  2080. #endif /* COBJMACROS */
  2081. #endif /* C style interface */
  2082. HRESULT STDMETHODCALLTYPE IWMMetadataEditor2_OpenEx_Proxy(
  2083. IWMMetadataEditor2 __RPC_FAR * This,
  2084. /* [in] */ const WCHAR __RPC_FAR *pwszFilename,
  2085. /* [in] */ DWORD dwDesiredAccess,
  2086. /* [in] */ DWORD dwShareMode);
  2087. void __RPC_STUB IWMMetadataEditor2_OpenEx_Stub(
  2088. IRpcStubBuffer *This,
  2089. IRpcChannelBuffer *_pRpcChannelBuffer,
  2090. PRPC_MESSAGE _pRpcMessage,
  2091. DWORD *_pdwStubPhase);
  2092. #endif /* __IWMMetadataEditor2_INTERFACE_DEFINED__ */
  2093. #ifndef __IWMHeaderInfo_INTERFACE_DEFINED__
  2094. #define __IWMHeaderInfo_INTERFACE_DEFINED__
  2095. /* interface IWMHeaderInfo */
  2096. /* [local][unique][helpstring][uuid][object] */
  2097. EXTERN_C const IID IID_IWMHeaderInfo;
  2098. #if defined(__cplusplus) && !defined(CINTERFACE)
  2099. MIDL_INTERFACE("96406BDA-2B2B-11d3-B36B-00C04F6108FF")
  2100. IWMHeaderInfo : public IUnknown
  2101. {
  2102. public:
  2103. virtual HRESULT STDMETHODCALLTYPE GetAttributeCount(
  2104. /* [in] */ WORD wStreamNum,
  2105. /* [out] */ WORD __RPC_FAR *pcAttributes) = 0;
  2106. virtual HRESULT STDMETHODCALLTYPE GetAttributeByIndex(
  2107. /* [in] */ WORD wIndex,
  2108. /* [out][in] */ WORD __RPC_FAR *pwStreamNum,
  2109. /* [out] */ WCHAR __RPC_FAR *pwszName,
  2110. /* [out][in] */ WORD __RPC_FAR *pcchNameLen,
  2111. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  2112. /* [out] */ BYTE __RPC_FAR *pValue,
  2113. /* [out][in] */ WORD __RPC_FAR *pcbLength) = 0;
  2114. virtual HRESULT STDMETHODCALLTYPE GetAttributeByName(
  2115. /* [out][in] */ WORD __RPC_FAR *pwStreamNum,
  2116. /* [in] */ LPCWSTR pszName,
  2117. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  2118. /* [out] */ BYTE __RPC_FAR *pValue,
  2119. /* [out][in] */ WORD __RPC_FAR *pcbLength) = 0;
  2120. virtual HRESULT STDMETHODCALLTYPE SetAttribute(
  2121. /* [in] */ WORD wStreamNum,
  2122. /* [in] */ LPCWSTR pszName,
  2123. /* [in] */ WMT_ATTR_DATATYPE Type,
  2124. /* [in] */ const BYTE __RPC_FAR *pValue,
  2125. /* [in] */ WORD cbLength) = 0;
  2126. virtual HRESULT STDMETHODCALLTYPE GetMarkerCount(
  2127. /* [out] */ WORD __RPC_FAR *pcMarkers) = 0;
  2128. virtual HRESULT STDMETHODCALLTYPE GetMarker(
  2129. /* [in] */ WORD wIndex,
  2130. /* [out] */ WCHAR __RPC_FAR *pwszMarkerName,
  2131. /* [out][in] */ WORD __RPC_FAR *pcchMarkerNameLen,
  2132. /* [out] */ QWORD __RPC_FAR *pcnsMarkerTime) = 0;
  2133. virtual HRESULT STDMETHODCALLTYPE AddMarker(
  2134. /* [in] */ WCHAR __RPC_FAR *pwszMarkerName,
  2135. /* [in] */ QWORD cnsMarkerTime) = 0;
  2136. virtual HRESULT STDMETHODCALLTYPE RemoveMarker(
  2137. /* [in] */ WORD wIndex) = 0;
  2138. virtual HRESULT STDMETHODCALLTYPE GetScriptCount(
  2139. /* [out] */ WORD __RPC_FAR *pcScripts) = 0;
  2140. virtual HRESULT STDMETHODCALLTYPE GetScript(
  2141. /* [in] */ WORD wIndex,
  2142. /* [out] */ WCHAR __RPC_FAR *pwszType,
  2143. /* [out][in] */ WORD __RPC_FAR *pcchTypeLen,
  2144. /* [out] */ WCHAR __RPC_FAR *pwszCommand,
  2145. /* [out][in] */ WORD __RPC_FAR *pcchCommandLen,
  2146. /* [out] */ QWORD __RPC_FAR *pcnsScriptTime) = 0;
  2147. virtual HRESULT STDMETHODCALLTYPE AddScript(
  2148. /* [in] */ WCHAR __RPC_FAR *pwszType,
  2149. /* [in] */ WCHAR __RPC_FAR *pwszCommand,
  2150. /* [in] */ QWORD cnsScriptTime) = 0;
  2151. virtual HRESULT STDMETHODCALLTYPE RemoveScript(
  2152. /* [in] */ WORD wIndex) = 0;
  2153. };
  2154. #else /* C style interface */
  2155. typedef struct IWMHeaderInfoVtbl
  2156. {
  2157. BEGIN_INTERFACE
  2158. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2159. IWMHeaderInfo __RPC_FAR * This,
  2160. /* [in] */ REFIID riid,
  2161. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2162. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2163. IWMHeaderInfo __RPC_FAR * This);
  2164. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2165. IWMHeaderInfo __RPC_FAR * This);
  2166. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributeCount )(
  2167. IWMHeaderInfo __RPC_FAR * This,
  2168. /* [in] */ WORD wStreamNum,
  2169. /* [out] */ WORD __RPC_FAR *pcAttributes);
  2170. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributeByIndex )(
  2171. IWMHeaderInfo __RPC_FAR * This,
  2172. /* [in] */ WORD wIndex,
  2173. /* [out][in] */ WORD __RPC_FAR *pwStreamNum,
  2174. /* [out] */ WCHAR __RPC_FAR *pwszName,
  2175. /* [out][in] */ WORD __RPC_FAR *pcchNameLen,
  2176. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  2177. /* [out] */ BYTE __RPC_FAR *pValue,
  2178. /* [out][in] */ WORD __RPC_FAR *pcbLength);
  2179. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributeByName )(
  2180. IWMHeaderInfo __RPC_FAR * This,
  2181. /* [out][in] */ WORD __RPC_FAR *pwStreamNum,
  2182. /* [in] */ LPCWSTR pszName,
  2183. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  2184. /* [out] */ BYTE __RPC_FAR *pValue,
  2185. /* [out][in] */ WORD __RPC_FAR *pcbLength);
  2186. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAttribute )(
  2187. IWMHeaderInfo __RPC_FAR * This,
  2188. /* [in] */ WORD wStreamNum,
  2189. /* [in] */ LPCWSTR pszName,
  2190. /* [in] */ WMT_ATTR_DATATYPE Type,
  2191. /* [in] */ const BYTE __RPC_FAR *pValue,
  2192. /* [in] */ WORD cbLength);
  2193. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMarkerCount )(
  2194. IWMHeaderInfo __RPC_FAR * This,
  2195. /* [out] */ WORD __RPC_FAR *pcMarkers);
  2196. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMarker )(
  2197. IWMHeaderInfo __RPC_FAR * This,
  2198. /* [in] */ WORD wIndex,
  2199. /* [out] */ WCHAR __RPC_FAR *pwszMarkerName,
  2200. /* [out][in] */ WORD __RPC_FAR *pcchMarkerNameLen,
  2201. /* [out] */ QWORD __RPC_FAR *pcnsMarkerTime);
  2202. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddMarker )(
  2203. IWMHeaderInfo __RPC_FAR * This,
  2204. /* [in] */ WCHAR __RPC_FAR *pwszMarkerName,
  2205. /* [in] */ QWORD cnsMarkerTime);
  2206. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveMarker )(
  2207. IWMHeaderInfo __RPC_FAR * This,
  2208. /* [in] */ WORD wIndex);
  2209. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetScriptCount )(
  2210. IWMHeaderInfo __RPC_FAR * This,
  2211. /* [out] */ WORD __RPC_FAR *pcScripts);
  2212. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetScript )(
  2213. IWMHeaderInfo __RPC_FAR * This,
  2214. /* [in] */ WORD wIndex,
  2215. /* [out] */ WCHAR __RPC_FAR *pwszType,
  2216. /* [out][in] */ WORD __RPC_FAR *pcchTypeLen,
  2217. /* [out] */ WCHAR __RPC_FAR *pwszCommand,
  2218. /* [out][in] */ WORD __RPC_FAR *pcchCommandLen,
  2219. /* [out] */ QWORD __RPC_FAR *pcnsScriptTime);
  2220. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddScript )(
  2221. IWMHeaderInfo __RPC_FAR * This,
  2222. /* [in] */ WCHAR __RPC_FAR *pwszType,
  2223. /* [in] */ WCHAR __RPC_FAR *pwszCommand,
  2224. /* [in] */ QWORD cnsScriptTime);
  2225. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveScript )(
  2226. IWMHeaderInfo __RPC_FAR * This,
  2227. /* [in] */ WORD wIndex);
  2228. END_INTERFACE
  2229. } IWMHeaderInfoVtbl;
  2230. interface IWMHeaderInfo
  2231. {
  2232. CONST_VTBL struct IWMHeaderInfoVtbl __RPC_FAR *lpVtbl;
  2233. };
  2234. #ifdef COBJMACROS
  2235. #define IWMHeaderInfo_QueryInterface(This,riid,ppvObject) \
  2236. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2237. #define IWMHeaderInfo_AddRef(This) \
  2238. (This)->lpVtbl -> AddRef(This)
  2239. #define IWMHeaderInfo_Release(This) \
  2240. (This)->lpVtbl -> Release(This)
  2241. #define IWMHeaderInfo_GetAttributeCount(This,wStreamNum,pcAttributes) \
  2242. (This)->lpVtbl -> GetAttributeCount(This,wStreamNum,pcAttributes)
  2243. #define IWMHeaderInfo_GetAttributeByIndex(This,wIndex,pwStreamNum,pwszName,pcchNameLen,pType,pValue,pcbLength) \
  2244. (This)->lpVtbl -> GetAttributeByIndex(This,wIndex,pwStreamNum,pwszName,pcchNameLen,pType,pValue,pcbLength)
  2245. #define IWMHeaderInfo_GetAttributeByName(This,pwStreamNum,pszName,pType,pValue,pcbLength) \
  2246. (This)->lpVtbl -> GetAttributeByName(This,pwStreamNum,pszName,pType,pValue,pcbLength)
  2247. #define IWMHeaderInfo_SetAttribute(This,wStreamNum,pszName,Type,pValue,cbLength) \
  2248. (This)->lpVtbl -> SetAttribute(This,wStreamNum,pszName,Type,pValue,cbLength)
  2249. #define IWMHeaderInfo_GetMarkerCount(This,pcMarkers) \
  2250. (This)->lpVtbl -> GetMarkerCount(This,pcMarkers)
  2251. #define IWMHeaderInfo_GetMarker(This,wIndex,pwszMarkerName,pcchMarkerNameLen,pcnsMarkerTime) \
  2252. (This)->lpVtbl -> GetMarker(This,wIndex,pwszMarkerName,pcchMarkerNameLen,pcnsMarkerTime)
  2253. #define IWMHeaderInfo_AddMarker(This,pwszMarkerName,cnsMarkerTime) \
  2254. (This)->lpVtbl -> AddMarker(This,pwszMarkerName,cnsMarkerTime)
  2255. #define IWMHeaderInfo_RemoveMarker(This,wIndex) \
  2256. (This)->lpVtbl -> RemoveMarker(This,wIndex)
  2257. #define IWMHeaderInfo_GetScriptCount(This,pcScripts) \
  2258. (This)->lpVtbl -> GetScriptCount(This,pcScripts)
  2259. #define IWMHeaderInfo_GetScript(This,wIndex,pwszType,pcchTypeLen,pwszCommand,pcchCommandLen,pcnsScriptTime) \
  2260. (This)->lpVtbl -> GetScript(This,wIndex,pwszType,pcchTypeLen,pwszCommand,pcchCommandLen,pcnsScriptTime)
  2261. #define IWMHeaderInfo_AddScript(This,pwszType,pwszCommand,cnsScriptTime) \
  2262. (This)->lpVtbl -> AddScript(This,pwszType,pwszCommand,cnsScriptTime)
  2263. #define IWMHeaderInfo_RemoveScript(This,wIndex) \
  2264. (This)->lpVtbl -> RemoveScript(This,wIndex)
  2265. #endif /* COBJMACROS */
  2266. #endif /* C style interface */
  2267. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_GetAttributeCount_Proxy(
  2268. IWMHeaderInfo __RPC_FAR * This,
  2269. /* [in] */ WORD wStreamNum,
  2270. /* [out] */ WORD __RPC_FAR *pcAttributes);
  2271. void __RPC_STUB IWMHeaderInfo_GetAttributeCount_Stub(
  2272. IRpcStubBuffer *This,
  2273. IRpcChannelBuffer *_pRpcChannelBuffer,
  2274. PRPC_MESSAGE _pRpcMessage,
  2275. DWORD *_pdwStubPhase);
  2276. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_GetAttributeByIndex_Proxy(
  2277. IWMHeaderInfo __RPC_FAR * This,
  2278. /* [in] */ WORD wIndex,
  2279. /* [out][in] */ WORD __RPC_FAR *pwStreamNum,
  2280. /* [out] */ WCHAR __RPC_FAR *pwszName,
  2281. /* [out][in] */ WORD __RPC_FAR *pcchNameLen,
  2282. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  2283. /* [out] */ BYTE __RPC_FAR *pValue,
  2284. /* [out][in] */ WORD __RPC_FAR *pcbLength);
  2285. void __RPC_STUB IWMHeaderInfo_GetAttributeByIndex_Stub(
  2286. IRpcStubBuffer *This,
  2287. IRpcChannelBuffer *_pRpcChannelBuffer,
  2288. PRPC_MESSAGE _pRpcMessage,
  2289. DWORD *_pdwStubPhase);
  2290. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_GetAttributeByName_Proxy(
  2291. IWMHeaderInfo __RPC_FAR * This,
  2292. /* [out][in] */ WORD __RPC_FAR *pwStreamNum,
  2293. /* [in] */ LPCWSTR pszName,
  2294. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  2295. /* [out] */ BYTE __RPC_FAR *pValue,
  2296. /* [out][in] */ WORD __RPC_FAR *pcbLength);
  2297. void __RPC_STUB IWMHeaderInfo_GetAttributeByName_Stub(
  2298. IRpcStubBuffer *This,
  2299. IRpcChannelBuffer *_pRpcChannelBuffer,
  2300. PRPC_MESSAGE _pRpcMessage,
  2301. DWORD *_pdwStubPhase);
  2302. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_SetAttribute_Proxy(
  2303. IWMHeaderInfo __RPC_FAR * This,
  2304. /* [in] */ WORD wStreamNum,
  2305. /* [in] */ LPCWSTR pszName,
  2306. /* [in] */ WMT_ATTR_DATATYPE Type,
  2307. /* [in] */ const BYTE __RPC_FAR *pValue,
  2308. /* [in] */ WORD cbLength);
  2309. void __RPC_STUB IWMHeaderInfo_SetAttribute_Stub(
  2310. IRpcStubBuffer *This,
  2311. IRpcChannelBuffer *_pRpcChannelBuffer,
  2312. PRPC_MESSAGE _pRpcMessage,
  2313. DWORD *_pdwStubPhase);
  2314. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_GetMarkerCount_Proxy(
  2315. IWMHeaderInfo __RPC_FAR * This,
  2316. /* [out] */ WORD __RPC_FAR *pcMarkers);
  2317. void __RPC_STUB IWMHeaderInfo_GetMarkerCount_Stub(
  2318. IRpcStubBuffer *This,
  2319. IRpcChannelBuffer *_pRpcChannelBuffer,
  2320. PRPC_MESSAGE _pRpcMessage,
  2321. DWORD *_pdwStubPhase);
  2322. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_GetMarker_Proxy(
  2323. IWMHeaderInfo __RPC_FAR * This,
  2324. /* [in] */ WORD wIndex,
  2325. /* [out] */ WCHAR __RPC_FAR *pwszMarkerName,
  2326. /* [out][in] */ WORD __RPC_FAR *pcchMarkerNameLen,
  2327. /* [out] */ QWORD __RPC_FAR *pcnsMarkerTime);
  2328. void __RPC_STUB IWMHeaderInfo_GetMarker_Stub(
  2329. IRpcStubBuffer *This,
  2330. IRpcChannelBuffer *_pRpcChannelBuffer,
  2331. PRPC_MESSAGE _pRpcMessage,
  2332. DWORD *_pdwStubPhase);
  2333. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_AddMarker_Proxy(
  2334. IWMHeaderInfo __RPC_FAR * This,
  2335. /* [in] */ WCHAR __RPC_FAR *pwszMarkerName,
  2336. /* [in] */ QWORD cnsMarkerTime);
  2337. void __RPC_STUB IWMHeaderInfo_AddMarker_Stub(
  2338. IRpcStubBuffer *This,
  2339. IRpcChannelBuffer *_pRpcChannelBuffer,
  2340. PRPC_MESSAGE _pRpcMessage,
  2341. DWORD *_pdwStubPhase);
  2342. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_RemoveMarker_Proxy(
  2343. IWMHeaderInfo __RPC_FAR * This,
  2344. /* [in] */ WORD wIndex);
  2345. void __RPC_STUB IWMHeaderInfo_RemoveMarker_Stub(
  2346. IRpcStubBuffer *This,
  2347. IRpcChannelBuffer *_pRpcChannelBuffer,
  2348. PRPC_MESSAGE _pRpcMessage,
  2349. DWORD *_pdwStubPhase);
  2350. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_GetScriptCount_Proxy(
  2351. IWMHeaderInfo __RPC_FAR * This,
  2352. /* [out] */ WORD __RPC_FAR *pcScripts);
  2353. void __RPC_STUB IWMHeaderInfo_GetScriptCount_Stub(
  2354. IRpcStubBuffer *This,
  2355. IRpcChannelBuffer *_pRpcChannelBuffer,
  2356. PRPC_MESSAGE _pRpcMessage,
  2357. DWORD *_pdwStubPhase);
  2358. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_GetScript_Proxy(
  2359. IWMHeaderInfo __RPC_FAR * This,
  2360. /* [in] */ WORD wIndex,
  2361. /* [out] */ WCHAR __RPC_FAR *pwszType,
  2362. /* [out][in] */ WORD __RPC_FAR *pcchTypeLen,
  2363. /* [out] */ WCHAR __RPC_FAR *pwszCommand,
  2364. /* [out][in] */ WORD __RPC_FAR *pcchCommandLen,
  2365. /* [out] */ QWORD __RPC_FAR *pcnsScriptTime);
  2366. void __RPC_STUB IWMHeaderInfo_GetScript_Stub(
  2367. IRpcStubBuffer *This,
  2368. IRpcChannelBuffer *_pRpcChannelBuffer,
  2369. PRPC_MESSAGE _pRpcMessage,
  2370. DWORD *_pdwStubPhase);
  2371. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_AddScript_Proxy(
  2372. IWMHeaderInfo __RPC_FAR * This,
  2373. /* [in] */ WCHAR __RPC_FAR *pwszType,
  2374. /* [in] */ WCHAR __RPC_FAR *pwszCommand,
  2375. /* [in] */ QWORD cnsScriptTime);
  2376. void __RPC_STUB IWMHeaderInfo_AddScript_Stub(
  2377. IRpcStubBuffer *This,
  2378. IRpcChannelBuffer *_pRpcChannelBuffer,
  2379. PRPC_MESSAGE _pRpcMessage,
  2380. DWORD *_pdwStubPhase);
  2381. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_RemoveScript_Proxy(
  2382. IWMHeaderInfo __RPC_FAR * This,
  2383. /* [in] */ WORD wIndex);
  2384. void __RPC_STUB IWMHeaderInfo_RemoveScript_Stub(
  2385. IRpcStubBuffer *This,
  2386. IRpcChannelBuffer *_pRpcChannelBuffer,
  2387. PRPC_MESSAGE _pRpcMessage,
  2388. DWORD *_pdwStubPhase);
  2389. #endif /* __IWMHeaderInfo_INTERFACE_DEFINED__ */
  2390. #ifndef __IWMHeaderInfo2_INTERFACE_DEFINED__
  2391. #define __IWMHeaderInfo2_INTERFACE_DEFINED__
  2392. /* interface IWMHeaderInfo2 */
  2393. /* [local][unique][helpstring][uuid][object] */
  2394. EXTERN_C const IID IID_IWMHeaderInfo2;
  2395. #if defined(__cplusplus) && !defined(CINTERFACE)
  2396. MIDL_INTERFACE("15CF9781-454E-482e-B393-85FAE487A810")
  2397. IWMHeaderInfo2 : public IWMHeaderInfo
  2398. {
  2399. public:
  2400. virtual HRESULT STDMETHODCALLTYPE GetCodecInfoCount(
  2401. /* [out] */ DWORD __RPC_FAR *pcCodecInfos) = 0;
  2402. virtual HRESULT STDMETHODCALLTYPE GetCodecInfo(
  2403. /* [in] */ DWORD wIndex,
  2404. /* [out][in] */ WORD __RPC_FAR *pcchName,
  2405. /* [out] */ WCHAR __RPC_FAR *pwszName,
  2406. /* [out][in] */ WORD __RPC_FAR *pcchDescription,
  2407. /* [out] */ WCHAR __RPC_FAR *pwszDescription,
  2408. /* [out] */ WMT_CODEC_INFO_TYPE __RPC_FAR *pCodecType,
  2409. /* [out][in] */ WORD __RPC_FAR *pcbCodecInfo,
  2410. /* [out] */ BYTE __RPC_FAR *pbCodecInfo) = 0;
  2411. };
  2412. #else /* C style interface */
  2413. typedef struct IWMHeaderInfo2Vtbl
  2414. {
  2415. BEGIN_INTERFACE
  2416. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2417. IWMHeaderInfo2 __RPC_FAR * This,
  2418. /* [in] */ REFIID riid,
  2419. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2420. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2421. IWMHeaderInfo2 __RPC_FAR * This);
  2422. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2423. IWMHeaderInfo2 __RPC_FAR * This);
  2424. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributeCount )(
  2425. IWMHeaderInfo2 __RPC_FAR * This,
  2426. /* [in] */ WORD wStreamNum,
  2427. /* [out] */ WORD __RPC_FAR *pcAttributes);
  2428. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributeByIndex )(
  2429. IWMHeaderInfo2 __RPC_FAR * This,
  2430. /* [in] */ WORD wIndex,
  2431. /* [out][in] */ WORD __RPC_FAR *pwStreamNum,
  2432. /* [out] */ WCHAR __RPC_FAR *pwszName,
  2433. /* [out][in] */ WORD __RPC_FAR *pcchNameLen,
  2434. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  2435. /* [out] */ BYTE __RPC_FAR *pValue,
  2436. /* [out][in] */ WORD __RPC_FAR *pcbLength);
  2437. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributeByName )(
  2438. IWMHeaderInfo2 __RPC_FAR * This,
  2439. /* [out][in] */ WORD __RPC_FAR *pwStreamNum,
  2440. /* [in] */ LPCWSTR pszName,
  2441. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  2442. /* [out] */ BYTE __RPC_FAR *pValue,
  2443. /* [out][in] */ WORD __RPC_FAR *pcbLength);
  2444. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAttribute )(
  2445. IWMHeaderInfo2 __RPC_FAR * This,
  2446. /* [in] */ WORD wStreamNum,
  2447. /* [in] */ LPCWSTR pszName,
  2448. /* [in] */ WMT_ATTR_DATATYPE Type,
  2449. /* [in] */ const BYTE __RPC_FAR *pValue,
  2450. /* [in] */ WORD cbLength);
  2451. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMarkerCount )(
  2452. IWMHeaderInfo2 __RPC_FAR * This,
  2453. /* [out] */ WORD __RPC_FAR *pcMarkers);
  2454. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMarker )(
  2455. IWMHeaderInfo2 __RPC_FAR * This,
  2456. /* [in] */ WORD wIndex,
  2457. /* [out] */ WCHAR __RPC_FAR *pwszMarkerName,
  2458. /* [out][in] */ WORD __RPC_FAR *pcchMarkerNameLen,
  2459. /* [out] */ QWORD __RPC_FAR *pcnsMarkerTime);
  2460. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddMarker )(
  2461. IWMHeaderInfo2 __RPC_FAR * This,
  2462. /* [in] */ WCHAR __RPC_FAR *pwszMarkerName,
  2463. /* [in] */ QWORD cnsMarkerTime);
  2464. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveMarker )(
  2465. IWMHeaderInfo2 __RPC_FAR * This,
  2466. /* [in] */ WORD wIndex);
  2467. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetScriptCount )(
  2468. IWMHeaderInfo2 __RPC_FAR * This,
  2469. /* [out] */ WORD __RPC_FAR *pcScripts);
  2470. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetScript )(
  2471. IWMHeaderInfo2 __RPC_FAR * This,
  2472. /* [in] */ WORD wIndex,
  2473. /* [out] */ WCHAR __RPC_FAR *pwszType,
  2474. /* [out][in] */ WORD __RPC_FAR *pcchTypeLen,
  2475. /* [out] */ WCHAR __RPC_FAR *pwszCommand,
  2476. /* [out][in] */ WORD __RPC_FAR *pcchCommandLen,
  2477. /* [out] */ QWORD __RPC_FAR *pcnsScriptTime);
  2478. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddScript )(
  2479. IWMHeaderInfo2 __RPC_FAR * This,
  2480. /* [in] */ WCHAR __RPC_FAR *pwszType,
  2481. /* [in] */ WCHAR __RPC_FAR *pwszCommand,
  2482. /* [in] */ QWORD cnsScriptTime);
  2483. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveScript )(
  2484. IWMHeaderInfo2 __RPC_FAR * This,
  2485. /* [in] */ WORD wIndex);
  2486. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodecInfoCount )(
  2487. IWMHeaderInfo2 __RPC_FAR * This,
  2488. /* [out] */ DWORD __RPC_FAR *pcCodecInfos);
  2489. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodecInfo )(
  2490. IWMHeaderInfo2 __RPC_FAR * This,
  2491. /* [in] */ DWORD wIndex,
  2492. /* [out][in] */ WORD __RPC_FAR *pcchName,
  2493. /* [out] */ WCHAR __RPC_FAR *pwszName,
  2494. /* [out][in] */ WORD __RPC_FAR *pcchDescription,
  2495. /* [out] */ WCHAR __RPC_FAR *pwszDescription,
  2496. /* [out] */ WMT_CODEC_INFO_TYPE __RPC_FAR *pCodecType,
  2497. /* [out][in] */ WORD __RPC_FAR *pcbCodecInfo,
  2498. /* [out] */ BYTE __RPC_FAR *pbCodecInfo);
  2499. END_INTERFACE
  2500. } IWMHeaderInfo2Vtbl;
  2501. interface IWMHeaderInfo2
  2502. {
  2503. CONST_VTBL struct IWMHeaderInfo2Vtbl __RPC_FAR *lpVtbl;
  2504. };
  2505. #ifdef COBJMACROS
  2506. #define IWMHeaderInfo2_QueryInterface(This,riid,ppvObject) \
  2507. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2508. #define IWMHeaderInfo2_AddRef(This) \
  2509. (This)->lpVtbl -> AddRef(This)
  2510. #define IWMHeaderInfo2_Release(This) \
  2511. (This)->lpVtbl -> Release(This)
  2512. #define IWMHeaderInfo2_GetAttributeCount(This,wStreamNum,pcAttributes) \
  2513. (This)->lpVtbl -> GetAttributeCount(This,wStreamNum,pcAttributes)
  2514. #define IWMHeaderInfo2_GetAttributeByIndex(This,wIndex,pwStreamNum,pwszName,pcchNameLen,pType,pValue,pcbLength) \
  2515. (This)->lpVtbl -> GetAttributeByIndex(This,wIndex,pwStreamNum,pwszName,pcchNameLen,pType,pValue,pcbLength)
  2516. #define IWMHeaderInfo2_GetAttributeByName(This,pwStreamNum,pszName,pType,pValue,pcbLength) \
  2517. (This)->lpVtbl -> GetAttributeByName(This,pwStreamNum,pszName,pType,pValue,pcbLength)
  2518. #define IWMHeaderInfo2_SetAttribute(This,wStreamNum,pszName,Type,pValue,cbLength) \
  2519. (This)->lpVtbl -> SetAttribute(This,wStreamNum,pszName,Type,pValue,cbLength)
  2520. #define IWMHeaderInfo2_GetMarkerCount(This,pcMarkers) \
  2521. (This)->lpVtbl -> GetMarkerCount(This,pcMarkers)
  2522. #define IWMHeaderInfo2_GetMarker(This,wIndex,pwszMarkerName,pcchMarkerNameLen,pcnsMarkerTime) \
  2523. (This)->lpVtbl -> GetMarker(This,wIndex,pwszMarkerName,pcchMarkerNameLen,pcnsMarkerTime)
  2524. #define IWMHeaderInfo2_AddMarker(This,pwszMarkerName,cnsMarkerTime) \
  2525. (This)->lpVtbl -> AddMarker(This,pwszMarkerName,cnsMarkerTime)
  2526. #define IWMHeaderInfo2_RemoveMarker(This,wIndex) \
  2527. (This)->lpVtbl -> RemoveMarker(This,wIndex)
  2528. #define IWMHeaderInfo2_GetScriptCount(This,pcScripts) \
  2529. (This)->lpVtbl -> GetScriptCount(This,pcScripts)
  2530. #define IWMHeaderInfo2_GetScript(This,wIndex,pwszType,pcchTypeLen,pwszCommand,pcchCommandLen,pcnsScriptTime) \
  2531. (This)->lpVtbl -> GetScript(This,wIndex,pwszType,pcchTypeLen,pwszCommand,pcchCommandLen,pcnsScriptTime)
  2532. #define IWMHeaderInfo2_AddScript(This,pwszType,pwszCommand,cnsScriptTime) \
  2533. (This)->lpVtbl -> AddScript(This,pwszType,pwszCommand,cnsScriptTime)
  2534. #define IWMHeaderInfo2_RemoveScript(This,wIndex) \
  2535. (This)->lpVtbl -> RemoveScript(This,wIndex)
  2536. #define IWMHeaderInfo2_GetCodecInfoCount(This,pcCodecInfos) \
  2537. (This)->lpVtbl -> GetCodecInfoCount(This,pcCodecInfos)
  2538. #define IWMHeaderInfo2_GetCodecInfo(This,wIndex,pcchName,pwszName,pcchDescription,pwszDescription,pCodecType,pcbCodecInfo,pbCodecInfo) \
  2539. (This)->lpVtbl -> GetCodecInfo(This,wIndex,pcchName,pwszName,pcchDescription,pwszDescription,pCodecType,pcbCodecInfo,pbCodecInfo)
  2540. #endif /* COBJMACROS */
  2541. #endif /* C style interface */
  2542. HRESULT STDMETHODCALLTYPE IWMHeaderInfo2_GetCodecInfoCount_Proxy(
  2543. IWMHeaderInfo2 __RPC_FAR * This,
  2544. /* [out] */ DWORD __RPC_FAR *pcCodecInfos);
  2545. void __RPC_STUB IWMHeaderInfo2_GetCodecInfoCount_Stub(
  2546. IRpcStubBuffer *This,
  2547. IRpcChannelBuffer *_pRpcChannelBuffer,
  2548. PRPC_MESSAGE _pRpcMessage,
  2549. DWORD *_pdwStubPhase);
  2550. HRESULT STDMETHODCALLTYPE IWMHeaderInfo2_GetCodecInfo_Proxy(
  2551. IWMHeaderInfo2 __RPC_FAR * This,
  2552. /* [in] */ DWORD wIndex,
  2553. /* [out][in] */ WORD __RPC_FAR *pcchName,
  2554. /* [out] */ WCHAR __RPC_FAR *pwszName,
  2555. /* [out][in] */ WORD __RPC_FAR *pcchDescription,
  2556. /* [out] */ WCHAR __RPC_FAR *pwszDescription,
  2557. /* [out] */ WMT_CODEC_INFO_TYPE __RPC_FAR *pCodecType,
  2558. /* [out][in] */ WORD __RPC_FAR *pcbCodecInfo,
  2559. /* [out] */ BYTE __RPC_FAR *pbCodecInfo);
  2560. void __RPC_STUB IWMHeaderInfo2_GetCodecInfo_Stub(
  2561. IRpcStubBuffer *This,
  2562. IRpcChannelBuffer *_pRpcChannelBuffer,
  2563. PRPC_MESSAGE _pRpcMessage,
  2564. DWORD *_pdwStubPhase);
  2565. #endif /* __IWMHeaderInfo2_INTERFACE_DEFINED__ */
  2566. #ifndef __IWMProfileManager_INTERFACE_DEFINED__
  2567. #define __IWMProfileManager_INTERFACE_DEFINED__
  2568. /* interface IWMProfileManager */
  2569. /* [local][unique][helpstring][uuid][object] */
  2570. EXTERN_C const IID IID_IWMProfileManager;
  2571. #if defined(__cplusplus) && !defined(CINTERFACE)
  2572. MIDL_INTERFACE("d16679f2-6ca0-472d-8d31-2f5d55aee155")
  2573. IWMProfileManager : public IUnknown
  2574. {
  2575. public:
  2576. virtual HRESULT STDMETHODCALLTYPE CreateEmptyProfile(
  2577. /* [in] */ WMT_VERSION dwVersion,
  2578. /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile) = 0;
  2579. virtual HRESULT STDMETHODCALLTYPE LoadProfileByID(
  2580. /* [in] */ REFGUID guidProfile,
  2581. /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile) = 0;
  2582. virtual HRESULT STDMETHODCALLTYPE LoadProfileByData(
  2583. /* [in] */ const WCHAR __RPC_FAR *pwszProfile,
  2584. /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile) = 0;
  2585. virtual HRESULT STDMETHODCALLTYPE SaveProfile(
  2586. /* [in] */ IWMProfile __RPC_FAR *pIWMProfile,
  2587. /* [in] */ WCHAR __RPC_FAR *pwszProfile,
  2588. /* [out][in] */ DWORD __RPC_FAR *pdwLength) = 0;
  2589. virtual HRESULT STDMETHODCALLTYPE GetSystemProfileCount(
  2590. /* [out] */ DWORD __RPC_FAR *pcProfiles) = 0;
  2591. virtual HRESULT STDMETHODCALLTYPE LoadSystemProfile(
  2592. /* [in] */ DWORD dwProfileIndex,
  2593. /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile) = 0;
  2594. };
  2595. #else /* C style interface */
  2596. typedef struct IWMProfileManagerVtbl
  2597. {
  2598. BEGIN_INTERFACE
  2599. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2600. IWMProfileManager __RPC_FAR * This,
  2601. /* [in] */ REFIID riid,
  2602. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2603. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2604. IWMProfileManager __RPC_FAR * This);
  2605. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2606. IWMProfileManager __RPC_FAR * This);
  2607. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateEmptyProfile )(
  2608. IWMProfileManager __RPC_FAR * This,
  2609. /* [in] */ WMT_VERSION dwVersion,
  2610. /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  2611. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadProfileByID )(
  2612. IWMProfileManager __RPC_FAR * This,
  2613. /* [in] */ REFGUID guidProfile,
  2614. /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  2615. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadProfileByData )(
  2616. IWMProfileManager __RPC_FAR * This,
  2617. /* [in] */ const WCHAR __RPC_FAR *pwszProfile,
  2618. /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  2619. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveProfile )(
  2620. IWMProfileManager __RPC_FAR * This,
  2621. /* [in] */ IWMProfile __RPC_FAR *pIWMProfile,
  2622. /* [in] */ WCHAR __RPC_FAR *pwszProfile,
  2623. /* [out][in] */ DWORD __RPC_FAR *pdwLength);
  2624. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSystemProfileCount )(
  2625. IWMProfileManager __RPC_FAR * This,
  2626. /* [out] */ DWORD __RPC_FAR *pcProfiles);
  2627. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadSystemProfile )(
  2628. IWMProfileManager __RPC_FAR * This,
  2629. /* [in] */ DWORD dwProfileIndex,
  2630. /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  2631. END_INTERFACE
  2632. } IWMProfileManagerVtbl;
  2633. interface IWMProfileManager
  2634. {
  2635. CONST_VTBL struct IWMProfileManagerVtbl __RPC_FAR *lpVtbl;
  2636. };
  2637. #ifdef COBJMACROS
  2638. #define IWMProfileManager_QueryInterface(This,riid,ppvObject) \
  2639. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2640. #define IWMProfileManager_AddRef(This) \
  2641. (This)->lpVtbl -> AddRef(This)
  2642. #define IWMProfileManager_Release(This) \
  2643. (This)->lpVtbl -> Release(This)
  2644. #define IWMProfileManager_CreateEmptyProfile(This,dwVersion,ppProfile) \
  2645. (This)->lpVtbl -> CreateEmptyProfile(This,dwVersion,ppProfile)
  2646. #define IWMProfileManager_LoadProfileByID(This,guidProfile,ppProfile) \
  2647. (This)->lpVtbl -> LoadProfileByID(This,guidProfile,ppProfile)
  2648. #define IWMProfileManager_LoadProfileByData(This,pwszProfile,ppProfile) \
  2649. (This)->lpVtbl -> LoadProfileByData(This,pwszProfile,ppProfile)
  2650. #define IWMProfileManager_SaveProfile(This,pIWMProfile,pwszProfile,pdwLength) \
  2651. (This)->lpVtbl -> SaveProfile(This,pIWMProfile,pwszProfile,pdwLength)
  2652. #define IWMProfileManager_GetSystemProfileCount(This,pcProfiles) \
  2653. (This)->lpVtbl -> GetSystemProfileCount(This,pcProfiles)
  2654. #define IWMProfileManager_LoadSystemProfile(This,dwProfileIndex,ppProfile) \
  2655. (This)->lpVtbl -> LoadSystemProfile(This,dwProfileIndex,ppProfile)
  2656. #endif /* COBJMACROS */
  2657. #endif /* C style interface */
  2658. HRESULT STDMETHODCALLTYPE IWMProfileManager_CreateEmptyProfile_Proxy(
  2659. IWMProfileManager __RPC_FAR * This,
  2660. /* [in] */ WMT_VERSION dwVersion,
  2661. /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  2662. void __RPC_STUB IWMProfileManager_CreateEmptyProfile_Stub(
  2663. IRpcStubBuffer *This,
  2664. IRpcChannelBuffer *_pRpcChannelBuffer,
  2665. PRPC_MESSAGE _pRpcMessage,
  2666. DWORD *_pdwStubPhase);
  2667. HRESULT STDMETHODCALLTYPE IWMProfileManager_LoadProfileByID_Proxy(
  2668. IWMProfileManager __RPC_FAR * This,
  2669. /* [in] */ REFGUID guidProfile,
  2670. /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  2671. void __RPC_STUB IWMProfileManager_LoadProfileByID_Stub(
  2672. IRpcStubBuffer *This,
  2673. IRpcChannelBuffer *_pRpcChannelBuffer,
  2674. PRPC_MESSAGE _pRpcMessage,
  2675. DWORD *_pdwStubPhase);
  2676. HRESULT STDMETHODCALLTYPE IWMProfileManager_LoadProfileByData_Proxy(
  2677. IWMProfileManager __RPC_FAR * This,
  2678. /* [in] */ const WCHAR __RPC_FAR *pwszProfile,
  2679. /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  2680. void __RPC_STUB IWMProfileManager_LoadProfileByData_Stub(
  2681. IRpcStubBuffer *This,
  2682. IRpcChannelBuffer *_pRpcChannelBuffer,
  2683. PRPC_MESSAGE _pRpcMessage,
  2684. DWORD *_pdwStubPhase);
  2685. HRESULT STDMETHODCALLTYPE IWMProfileManager_SaveProfile_Proxy(
  2686. IWMProfileManager __RPC_FAR * This,
  2687. /* [in] */ IWMProfile __RPC_FAR *pIWMProfile,
  2688. /* [in] */ WCHAR __RPC_FAR *pwszProfile,
  2689. /* [out][in] */ DWORD __RPC_FAR *pdwLength);
  2690. void __RPC_STUB IWMProfileManager_SaveProfile_Stub(
  2691. IRpcStubBuffer *This,
  2692. IRpcChannelBuffer *_pRpcChannelBuffer,
  2693. PRPC_MESSAGE _pRpcMessage,
  2694. DWORD *_pdwStubPhase);
  2695. HRESULT STDMETHODCALLTYPE IWMProfileManager_GetSystemProfileCount_Proxy(
  2696. IWMProfileManager __RPC_FAR * This,
  2697. /* [out] */ DWORD __RPC_FAR *pcProfiles);
  2698. void __RPC_STUB IWMProfileManager_GetSystemProfileCount_Stub(
  2699. IRpcStubBuffer *This,
  2700. IRpcChannelBuffer *_pRpcChannelBuffer,
  2701. PRPC_MESSAGE _pRpcMessage,
  2702. DWORD *_pdwStubPhase);
  2703. HRESULT STDMETHODCALLTYPE IWMProfileManager_LoadSystemProfile_Proxy(
  2704. IWMProfileManager __RPC_FAR * This,
  2705. /* [in] */ DWORD dwProfileIndex,
  2706. /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  2707. void __RPC_STUB IWMProfileManager_LoadSystemProfile_Stub(
  2708. IRpcStubBuffer *This,
  2709. IRpcChannelBuffer *_pRpcChannelBuffer,
  2710. PRPC_MESSAGE _pRpcMessage,
  2711. DWORD *_pdwStubPhase);
  2712. #endif /* __IWMProfileManager_INTERFACE_DEFINED__ */
  2713. #ifndef __IWMProfileManager2_INTERFACE_DEFINED__
  2714. #define __IWMProfileManager2_INTERFACE_DEFINED__
  2715. /* interface IWMProfileManager2 */
  2716. /* [local][unique][helpstring][uuid][object] */
  2717. EXTERN_C const IID IID_IWMProfileManager2;
  2718. #if defined(__cplusplus) && !defined(CINTERFACE)
  2719. MIDL_INTERFACE("7A924E51-73C1-494d-8019-23D37ED9B89A")
  2720. IWMProfileManager2 : public IWMProfileManager
  2721. {
  2722. public:
  2723. virtual HRESULT STDMETHODCALLTYPE GetSystemProfileVersion(
  2724. WMT_VERSION __RPC_FAR *pdwVersion) = 0;
  2725. virtual HRESULT STDMETHODCALLTYPE SetSystemProfileVersion(
  2726. WMT_VERSION dwVersion) = 0;
  2727. };
  2728. #else /* C style interface */
  2729. typedef struct IWMProfileManager2Vtbl
  2730. {
  2731. BEGIN_INTERFACE
  2732. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2733. IWMProfileManager2 __RPC_FAR * This,
  2734. /* [in] */ REFIID riid,
  2735. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2736. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2737. IWMProfileManager2 __RPC_FAR * This);
  2738. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2739. IWMProfileManager2 __RPC_FAR * This);
  2740. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateEmptyProfile )(
  2741. IWMProfileManager2 __RPC_FAR * This,
  2742. /* [in] */ WMT_VERSION dwVersion,
  2743. /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  2744. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadProfileByID )(
  2745. IWMProfileManager2 __RPC_FAR * This,
  2746. /* [in] */ REFGUID guidProfile,
  2747. /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  2748. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadProfileByData )(
  2749. IWMProfileManager2 __RPC_FAR * This,
  2750. /* [in] */ const WCHAR __RPC_FAR *pwszProfile,
  2751. /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  2752. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveProfile )(
  2753. IWMProfileManager2 __RPC_FAR * This,
  2754. /* [in] */ IWMProfile __RPC_FAR *pIWMProfile,
  2755. /* [in] */ WCHAR __RPC_FAR *pwszProfile,
  2756. /* [out][in] */ DWORD __RPC_FAR *pdwLength);
  2757. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSystemProfileCount )(
  2758. IWMProfileManager2 __RPC_FAR * This,
  2759. /* [out] */ DWORD __RPC_FAR *pcProfiles);
  2760. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadSystemProfile )(
  2761. IWMProfileManager2 __RPC_FAR * This,
  2762. /* [in] */ DWORD dwProfileIndex,
  2763. /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  2764. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSystemProfileVersion )(
  2765. IWMProfileManager2 __RPC_FAR * This,
  2766. WMT_VERSION __RPC_FAR *pdwVersion);
  2767. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSystemProfileVersion )(
  2768. IWMProfileManager2 __RPC_FAR * This,
  2769. WMT_VERSION dwVersion);
  2770. END_INTERFACE
  2771. } IWMProfileManager2Vtbl;
  2772. interface IWMProfileManager2
  2773. {
  2774. CONST_VTBL struct IWMProfileManager2Vtbl __RPC_FAR *lpVtbl;
  2775. };
  2776. #ifdef COBJMACROS
  2777. #define IWMProfileManager2_QueryInterface(This,riid,ppvObject) \
  2778. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2779. #define IWMProfileManager2_AddRef(This) \
  2780. (This)->lpVtbl -> AddRef(This)
  2781. #define IWMProfileManager2_Release(This) \
  2782. (This)->lpVtbl -> Release(This)
  2783. #define IWMProfileManager2_CreateEmptyProfile(This,dwVersion,ppProfile) \
  2784. (This)->lpVtbl -> CreateEmptyProfile(This,dwVersion,ppProfile)
  2785. #define IWMProfileManager2_LoadProfileByID(This,guidProfile,ppProfile) \
  2786. (This)->lpVtbl -> LoadProfileByID(This,guidProfile,ppProfile)
  2787. #define IWMProfileManager2_LoadProfileByData(This,pwszProfile,ppProfile) \
  2788. (This)->lpVtbl -> LoadProfileByData(This,pwszProfile,ppProfile)
  2789. #define IWMProfileManager2_SaveProfile(This,pIWMProfile,pwszProfile,pdwLength) \
  2790. (This)->lpVtbl -> SaveProfile(This,pIWMProfile,pwszProfile,pdwLength)
  2791. #define IWMProfileManager2_GetSystemProfileCount(This,pcProfiles) \
  2792. (This)->lpVtbl -> GetSystemProfileCount(This,pcProfiles)
  2793. #define IWMProfileManager2_LoadSystemProfile(This,dwProfileIndex,ppProfile) \
  2794. (This)->lpVtbl -> LoadSystemProfile(This,dwProfileIndex,ppProfile)
  2795. #define IWMProfileManager2_GetSystemProfileVersion(This,pdwVersion) \
  2796. (This)->lpVtbl -> GetSystemProfileVersion(This,pdwVersion)
  2797. #define IWMProfileManager2_SetSystemProfileVersion(This,dwVersion) \
  2798. (This)->lpVtbl -> SetSystemProfileVersion(This,dwVersion)
  2799. #endif /* COBJMACROS */
  2800. #endif /* C style interface */
  2801. HRESULT STDMETHODCALLTYPE IWMProfileManager2_GetSystemProfileVersion_Proxy(
  2802. IWMProfileManager2 __RPC_FAR * This,
  2803. WMT_VERSION __RPC_FAR *pdwVersion);
  2804. void __RPC_STUB IWMProfileManager2_GetSystemProfileVersion_Stub(
  2805. IRpcStubBuffer *This,
  2806. IRpcChannelBuffer *_pRpcChannelBuffer,
  2807. PRPC_MESSAGE _pRpcMessage,
  2808. DWORD *_pdwStubPhase);
  2809. HRESULT STDMETHODCALLTYPE IWMProfileManager2_SetSystemProfileVersion_Proxy(
  2810. IWMProfileManager2 __RPC_FAR * This,
  2811. WMT_VERSION dwVersion);
  2812. void __RPC_STUB IWMProfileManager2_SetSystemProfileVersion_Stub(
  2813. IRpcStubBuffer *This,
  2814. IRpcChannelBuffer *_pRpcChannelBuffer,
  2815. PRPC_MESSAGE _pRpcMessage,
  2816. DWORD *_pdwStubPhase);
  2817. #endif /* __IWMProfileManager2_INTERFACE_DEFINED__ */
  2818. #ifndef __IWMProfile_INTERFACE_DEFINED__
  2819. #define __IWMProfile_INTERFACE_DEFINED__
  2820. /* interface IWMProfile */
  2821. /* [local][unique][helpstring][uuid][object] */
  2822. EXTERN_C const IID IID_IWMProfile;
  2823. #if defined(__cplusplus) && !defined(CINTERFACE)
  2824. MIDL_INTERFACE("96406BDB-2B2B-11d3-B36B-00C04F6108FF")
  2825. IWMProfile : public IUnknown
  2826. {
  2827. public:
  2828. virtual HRESULT STDMETHODCALLTYPE GetVersion(
  2829. /* [out] */ WMT_VERSION __RPC_FAR *pdwVersion) = 0;
  2830. virtual HRESULT STDMETHODCALLTYPE GetName(
  2831. /* [out] */ WCHAR __RPC_FAR *pwszName,
  2832. /* [out][in] */ DWORD __RPC_FAR *pcchName) = 0;
  2833. virtual HRESULT STDMETHODCALLTYPE SetName(
  2834. /* [in] */ const WCHAR __RPC_FAR *pwszName) = 0;
  2835. virtual HRESULT STDMETHODCALLTYPE GetDescription(
  2836. /* [out] */ WCHAR __RPC_FAR *pwszDescription,
  2837. /* [out][in] */ DWORD __RPC_FAR *pcchName) = 0;
  2838. virtual HRESULT STDMETHODCALLTYPE SetDescription(
  2839. /* [in] */ const WCHAR __RPC_FAR *pwszDescription) = 0;
  2840. virtual HRESULT STDMETHODCALLTYPE GetStreamCount(
  2841. /* [out] */ DWORD __RPC_FAR *pcStreams) = 0;
  2842. virtual HRESULT STDMETHODCALLTYPE GetStream(
  2843. /* [in] */ DWORD dwStreamIndex,
  2844. /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig) = 0;
  2845. virtual HRESULT STDMETHODCALLTYPE GetStreamByNumber(
  2846. /* [in] */ WORD wStreamNum,
  2847. /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig) = 0;
  2848. virtual HRESULT STDMETHODCALLTYPE RemoveStream(
  2849. /* [in] */ IWMStreamConfig __RPC_FAR *pConfig) = 0;
  2850. virtual HRESULT STDMETHODCALLTYPE RemoveStreamByNumber(
  2851. /* [in] */ WORD wStreamNum) = 0;
  2852. virtual HRESULT STDMETHODCALLTYPE AddStream(
  2853. /* [in] */ IWMStreamConfig __RPC_FAR *pConfig) = 0;
  2854. virtual HRESULT STDMETHODCALLTYPE ReconfigStream(
  2855. /* [in] */ IWMStreamConfig __RPC_FAR *pConfig) = 0;
  2856. virtual HRESULT STDMETHODCALLTYPE CreateNewStream(
  2857. /* [in] */ REFGUID guidStreamType,
  2858. /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig) = 0;
  2859. virtual HRESULT STDMETHODCALLTYPE GetMutualExclusionCount(
  2860. /* [out] */ DWORD __RPC_FAR *pcME) = 0;
  2861. virtual HRESULT STDMETHODCALLTYPE GetMutualExclusion(
  2862. /* [in] */ DWORD dwMEIndex,
  2863. /* [out] */ IWMMutualExclusion __RPC_FAR *__RPC_FAR *ppME) = 0;
  2864. virtual HRESULT STDMETHODCALLTYPE RemoveMutualExclusion(
  2865. /* [in] */ IWMMutualExclusion __RPC_FAR *pME) = 0;
  2866. virtual HRESULT STDMETHODCALLTYPE AddMutualExclusion(
  2867. /* [in] */ IWMMutualExclusion __RPC_FAR *pME) = 0;
  2868. virtual HRESULT STDMETHODCALLTYPE CreateNewMutualExclusion(
  2869. /* [out] */ IWMMutualExclusion __RPC_FAR *__RPC_FAR *ppME) = 0;
  2870. };
  2871. #else /* C style interface */
  2872. typedef struct IWMProfileVtbl
  2873. {
  2874. BEGIN_INTERFACE
  2875. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2876. IWMProfile __RPC_FAR * This,
  2877. /* [in] */ REFIID riid,
  2878. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2879. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2880. IWMProfile __RPC_FAR * This);
  2881. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2882. IWMProfile __RPC_FAR * This);
  2883. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVersion )(
  2884. IWMProfile __RPC_FAR * This,
  2885. /* [out] */ WMT_VERSION __RPC_FAR *pdwVersion);
  2886. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetName )(
  2887. IWMProfile __RPC_FAR * This,
  2888. /* [out] */ WCHAR __RPC_FAR *pwszName,
  2889. /* [out][in] */ DWORD __RPC_FAR *pcchName);
  2890. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetName )(
  2891. IWMProfile __RPC_FAR * This,
  2892. /* [in] */ const WCHAR __RPC_FAR *pwszName);
  2893. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDescription )(
  2894. IWMProfile __RPC_FAR * This,
  2895. /* [out] */ WCHAR __RPC_FAR *pwszDescription,
  2896. /* [out][in] */ DWORD __RPC_FAR *pcchName);
  2897. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDescription )(
  2898. IWMProfile __RPC_FAR * This,
  2899. /* [in] */ const WCHAR __RPC_FAR *pwszDescription);
  2900. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamCount )(
  2901. IWMProfile __RPC_FAR * This,
  2902. /* [out] */ DWORD __RPC_FAR *pcStreams);
  2903. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStream )(
  2904. IWMProfile __RPC_FAR * This,
  2905. /* [in] */ DWORD dwStreamIndex,
  2906. /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig);
  2907. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamByNumber )(
  2908. IWMProfile __RPC_FAR * This,
  2909. /* [in] */ WORD wStreamNum,
  2910. /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig);
  2911. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveStream )(
  2912. IWMProfile __RPC_FAR * This,
  2913. /* [in] */ IWMStreamConfig __RPC_FAR *pConfig);
  2914. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveStreamByNumber )(
  2915. IWMProfile __RPC_FAR * This,
  2916. /* [in] */ WORD wStreamNum);
  2917. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddStream )(
  2918. IWMProfile __RPC_FAR * This,
  2919. /* [in] */ IWMStreamConfig __RPC_FAR *pConfig);
  2920. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReconfigStream )(
  2921. IWMProfile __RPC_FAR * This,
  2922. /* [in] */ IWMStreamConfig __RPC_FAR *pConfig);
  2923. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateNewStream )(
  2924. IWMProfile __RPC_FAR * This,
  2925. /* [in] */ REFGUID guidStreamType,
  2926. /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig);
  2927. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMutualExclusionCount )(
  2928. IWMProfile __RPC_FAR * This,
  2929. /* [out] */ DWORD __RPC_FAR *pcME);
  2930. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMutualExclusion )(
  2931. IWMProfile __RPC_FAR * This,
  2932. /* [in] */ DWORD dwMEIndex,
  2933. /* [out] */ IWMMutualExclusion __RPC_FAR *__RPC_FAR *ppME);
  2934. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveMutualExclusion )(
  2935. IWMProfile __RPC_FAR * This,
  2936. /* [in] */ IWMMutualExclusion __RPC_FAR *pME);
  2937. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddMutualExclusion )(
  2938. IWMProfile __RPC_FAR * This,
  2939. /* [in] */ IWMMutualExclusion __RPC_FAR *pME);
  2940. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateNewMutualExclusion )(
  2941. IWMProfile __RPC_FAR * This,
  2942. /* [out] */ IWMMutualExclusion __RPC_FAR *__RPC_FAR *ppME);
  2943. END_INTERFACE
  2944. } IWMProfileVtbl;
  2945. interface IWMProfile
  2946. {
  2947. CONST_VTBL struct IWMProfileVtbl __RPC_FAR *lpVtbl;
  2948. };
  2949. #ifdef COBJMACROS
  2950. #define IWMProfile_QueryInterface(This,riid,ppvObject) \
  2951. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2952. #define IWMProfile_AddRef(This) \
  2953. (This)->lpVtbl -> AddRef(This)
  2954. #define IWMProfile_Release(This) \
  2955. (This)->lpVtbl -> Release(This)
  2956. #define IWMProfile_GetVersion(This,pdwVersion) \
  2957. (This)->lpVtbl -> GetVersion(This,pdwVersion)
  2958. #define IWMProfile_GetName(This,pwszName,pcchName) \
  2959. (This)->lpVtbl -> GetName(This,pwszName,pcchName)
  2960. #define IWMProfile_SetName(This,pwszName) \
  2961. (This)->lpVtbl -> SetName(This,pwszName)
  2962. #define IWMProfile_GetDescription(This,pwszDescription,pcchName) \
  2963. (This)->lpVtbl -> GetDescription(This,pwszDescription,pcchName)
  2964. #define IWMProfile_SetDescription(This,pwszDescription) \
  2965. (This)->lpVtbl -> SetDescription(This,pwszDescription)
  2966. #define IWMProfile_GetStreamCount(This,pcStreams) \
  2967. (This)->lpVtbl -> GetStreamCount(This,pcStreams)
  2968. #define IWMProfile_GetStream(This,dwStreamIndex,ppConfig) \
  2969. (This)->lpVtbl -> GetStream(This,dwStreamIndex,ppConfig)
  2970. #define IWMProfile_GetStreamByNumber(This,wStreamNum,ppConfig) \
  2971. (This)->lpVtbl -> GetStreamByNumber(This,wStreamNum,ppConfig)
  2972. #define IWMProfile_RemoveStream(This,pConfig) \
  2973. (This)->lpVtbl -> RemoveStream(This,pConfig)
  2974. #define IWMProfile_RemoveStreamByNumber(This,wStreamNum) \
  2975. (This)->lpVtbl -> RemoveStreamByNumber(This,wStreamNum)
  2976. #define IWMProfile_AddStream(This,pConfig) \
  2977. (This)->lpVtbl -> AddStream(This,pConfig)
  2978. #define IWMProfile_ReconfigStream(This,pConfig) \
  2979. (This)->lpVtbl -> ReconfigStream(This,pConfig)
  2980. #define IWMProfile_CreateNewStream(This,guidStreamType,ppConfig) \
  2981. (This)->lpVtbl -> CreateNewStream(This,guidStreamType,ppConfig)
  2982. #define IWMProfile_GetMutualExclusionCount(This,pcME) \
  2983. (This)->lpVtbl -> GetMutualExclusionCount(This,pcME)
  2984. #define IWMProfile_GetMutualExclusion(This,dwMEIndex,ppME) \
  2985. (This)->lpVtbl -> GetMutualExclusion(This,dwMEIndex,ppME)
  2986. #define IWMProfile_RemoveMutualExclusion(This,pME) \
  2987. (This)->lpVtbl -> RemoveMutualExclusion(This,pME)
  2988. #define IWMProfile_AddMutualExclusion(This,pME) \
  2989. (This)->lpVtbl -> AddMutualExclusion(This,pME)
  2990. #define IWMProfile_CreateNewMutualExclusion(This,ppME) \
  2991. (This)->lpVtbl -> CreateNewMutualExclusion(This,ppME)
  2992. #endif /* COBJMACROS */
  2993. #endif /* C style interface */
  2994. HRESULT STDMETHODCALLTYPE IWMProfile_GetVersion_Proxy(
  2995. IWMProfile __RPC_FAR * This,
  2996. /* [out] */ WMT_VERSION __RPC_FAR *pdwVersion);
  2997. void __RPC_STUB IWMProfile_GetVersion_Stub(
  2998. IRpcStubBuffer *This,
  2999. IRpcChannelBuffer *_pRpcChannelBuffer,
  3000. PRPC_MESSAGE _pRpcMessage,
  3001. DWORD *_pdwStubPhase);
  3002. HRESULT STDMETHODCALLTYPE IWMProfile_GetName_Proxy(
  3003. IWMProfile __RPC_FAR * This,
  3004. /* [out] */ WCHAR __RPC_FAR *pwszName,
  3005. /* [out][in] */ DWORD __RPC_FAR *pcchName);
  3006. void __RPC_STUB IWMProfile_GetName_Stub(
  3007. IRpcStubBuffer *This,
  3008. IRpcChannelBuffer *_pRpcChannelBuffer,
  3009. PRPC_MESSAGE _pRpcMessage,
  3010. DWORD *_pdwStubPhase);
  3011. HRESULT STDMETHODCALLTYPE IWMProfile_SetName_Proxy(
  3012. IWMProfile __RPC_FAR * This,
  3013. /* [in] */ const WCHAR __RPC_FAR *pwszName);
  3014. void __RPC_STUB IWMProfile_SetName_Stub(
  3015. IRpcStubBuffer *This,
  3016. IRpcChannelBuffer *_pRpcChannelBuffer,
  3017. PRPC_MESSAGE _pRpcMessage,
  3018. DWORD *_pdwStubPhase);
  3019. HRESULT STDMETHODCALLTYPE IWMProfile_GetDescription_Proxy(
  3020. IWMProfile __RPC_FAR * This,
  3021. /* [out] */ WCHAR __RPC_FAR *pwszDescription,
  3022. /* [out][in] */ DWORD __RPC_FAR *pcchName);
  3023. void __RPC_STUB IWMProfile_GetDescription_Stub(
  3024. IRpcStubBuffer *This,
  3025. IRpcChannelBuffer *_pRpcChannelBuffer,
  3026. PRPC_MESSAGE _pRpcMessage,
  3027. DWORD *_pdwStubPhase);
  3028. HRESULT STDMETHODCALLTYPE IWMProfile_SetDescription_Proxy(
  3029. IWMProfile __RPC_FAR * This,
  3030. /* [in] */ const WCHAR __RPC_FAR *pwszDescription);
  3031. void __RPC_STUB IWMProfile_SetDescription_Stub(
  3032. IRpcStubBuffer *This,
  3033. IRpcChannelBuffer *_pRpcChannelBuffer,
  3034. PRPC_MESSAGE _pRpcMessage,
  3035. DWORD *_pdwStubPhase);
  3036. HRESULT STDMETHODCALLTYPE IWMProfile_GetStreamCount_Proxy(
  3037. IWMProfile __RPC_FAR * This,
  3038. /* [out] */ DWORD __RPC_FAR *pcStreams);
  3039. void __RPC_STUB IWMProfile_GetStreamCount_Stub(
  3040. IRpcStubBuffer *This,
  3041. IRpcChannelBuffer *_pRpcChannelBuffer,
  3042. PRPC_MESSAGE _pRpcMessage,
  3043. DWORD *_pdwStubPhase);
  3044. HRESULT STDMETHODCALLTYPE IWMProfile_GetStream_Proxy(
  3045. IWMProfile __RPC_FAR * This,
  3046. /* [in] */ DWORD dwStreamIndex,
  3047. /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig);
  3048. void __RPC_STUB IWMProfile_GetStream_Stub(
  3049. IRpcStubBuffer *This,
  3050. IRpcChannelBuffer *_pRpcChannelBuffer,
  3051. PRPC_MESSAGE _pRpcMessage,
  3052. DWORD *_pdwStubPhase);
  3053. HRESULT STDMETHODCALLTYPE IWMProfile_GetStreamByNumber_Proxy(
  3054. IWMProfile __RPC_FAR * This,
  3055. /* [in] */ WORD wStreamNum,
  3056. /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig);
  3057. void __RPC_STUB IWMProfile_GetStreamByNumber_Stub(
  3058. IRpcStubBuffer *This,
  3059. IRpcChannelBuffer *_pRpcChannelBuffer,
  3060. PRPC_MESSAGE _pRpcMessage,
  3061. DWORD *_pdwStubPhase);
  3062. HRESULT STDMETHODCALLTYPE IWMProfile_RemoveStream_Proxy(
  3063. IWMProfile __RPC_FAR * This,
  3064. /* [in] */ IWMStreamConfig __RPC_FAR *pConfig);
  3065. void __RPC_STUB IWMProfile_RemoveStream_Stub(
  3066. IRpcStubBuffer *This,
  3067. IRpcChannelBuffer *_pRpcChannelBuffer,
  3068. PRPC_MESSAGE _pRpcMessage,
  3069. DWORD *_pdwStubPhase);
  3070. HRESULT STDMETHODCALLTYPE IWMProfile_RemoveStreamByNumber_Proxy(
  3071. IWMProfile __RPC_FAR * This,
  3072. /* [in] */ WORD wStreamNum);
  3073. void __RPC_STUB IWMProfile_RemoveStreamByNumber_Stub(
  3074. IRpcStubBuffer *This,
  3075. IRpcChannelBuffer *_pRpcChannelBuffer,
  3076. PRPC_MESSAGE _pRpcMessage,
  3077. DWORD *_pdwStubPhase);
  3078. HRESULT STDMETHODCALLTYPE IWMProfile_AddStream_Proxy(
  3079. IWMProfile __RPC_FAR * This,
  3080. /* [in] */ IWMStreamConfig __RPC_FAR *pConfig);
  3081. void __RPC_STUB IWMProfile_AddStream_Stub(
  3082. IRpcStubBuffer *This,
  3083. IRpcChannelBuffer *_pRpcChannelBuffer,
  3084. PRPC_MESSAGE _pRpcMessage,
  3085. DWORD *_pdwStubPhase);
  3086. HRESULT STDMETHODCALLTYPE IWMProfile_ReconfigStream_Proxy(
  3087. IWMProfile __RPC_FAR * This,
  3088. /* [in] */ IWMStreamConfig __RPC_FAR *pConfig);
  3089. void __RPC_STUB IWMProfile_ReconfigStream_Stub(
  3090. IRpcStubBuffer *This,
  3091. IRpcChannelBuffer *_pRpcChannelBuffer,
  3092. PRPC_MESSAGE _pRpcMessage,
  3093. DWORD *_pdwStubPhase);
  3094. HRESULT STDMETHODCALLTYPE IWMProfile_CreateNewStream_Proxy(
  3095. IWMProfile __RPC_FAR * This,
  3096. /* [in] */ REFGUID guidStreamType,
  3097. /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig);
  3098. void __RPC_STUB IWMProfile_CreateNewStream_Stub(
  3099. IRpcStubBuffer *This,
  3100. IRpcChannelBuffer *_pRpcChannelBuffer,
  3101. PRPC_MESSAGE _pRpcMessage,
  3102. DWORD *_pdwStubPhase);
  3103. HRESULT STDMETHODCALLTYPE IWMProfile_GetMutualExclusionCount_Proxy(
  3104. IWMProfile __RPC_FAR * This,
  3105. /* [out] */ DWORD __RPC_FAR *pcME);
  3106. void __RPC_STUB IWMProfile_GetMutualExclusionCount_Stub(
  3107. IRpcStubBuffer *This,
  3108. IRpcChannelBuffer *_pRpcChannelBuffer,
  3109. PRPC_MESSAGE _pRpcMessage,
  3110. DWORD *_pdwStubPhase);
  3111. HRESULT STDMETHODCALLTYPE IWMProfile_GetMutualExclusion_Proxy(
  3112. IWMProfile __RPC_FAR * This,
  3113. /* [in] */ DWORD dwMEIndex,
  3114. /* [out] */ IWMMutualExclusion __RPC_FAR *__RPC_FAR *ppME);
  3115. void __RPC_STUB IWMProfile_GetMutualExclusion_Stub(
  3116. IRpcStubBuffer *This,
  3117. IRpcChannelBuffer *_pRpcChannelBuffer,
  3118. PRPC_MESSAGE _pRpcMessage,
  3119. DWORD *_pdwStubPhase);
  3120. HRESULT STDMETHODCALLTYPE IWMProfile_RemoveMutualExclusion_Proxy(
  3121. IWMProfile __RPC_FAR * This,
  3122. /* [in] */ IWMMutualExclusion __RPC_FAR *pME);
  3123. void __RPC_STUB IWMProfile_RemoveMutualExclusion_Stub(
  3124. IRpcStubBuffer *This,
  3125. IRpcChannelBuffer *_pRpcChannelBuffer,
  3126. PRPC_MESSAGE _pRpcMessage,
  3127. DWORD *_pdwStubPhase);
  3128. HRESULT STDMETHODCALLTYPE IWMProfile_AddMutualExclusion_Proxy(
  3129. IWMProfile __RPC_FAR * This,
  3130. /* [in] */ IWMMutualExclusion __RPC_FAR *pME);
  3131. void __RPC_STUB IWMProfile_AddMutualExclusion_Stub(
  3132. IRpcStubBuffer *This,
  3133. IRpcChannelBuffer *_pRpcChannelBuffer,
  3134. PRPC_MESSAGE _pRpcMessage,
  3135. DWORD *_pdwStubPhase);
  3136. HRESULT STDMETHODCALLTYPE IWMProfile_CreateNewMutualExclusion_Proxy(
  3137. IWMProfile __RPC_FAR * This,
  3138. /* [out] */ IWMMutualExclusion __RPC_FAR *__RPC_FAR *ppME);
  3139. void __RPC_STUB IWMProfile_CreateNewMutualExclusion_Stub(
  3140. IRpcStubBuffer *This,
  3141. IRpcChannelBuffer *_pRpcChannelBuffer,
  3142. PRPC_MESSAGE _pRpcMessage,
  3143. DWORD *_pdwStubPhase);
  3144. #endif /* __IWMProfile_INTERFACE_DEFINED__ */
  3145. #ifndef __IWMProfile2_INTERFACE_DEFINED__
  3146. #define __IWMProfile2_INTERFACE_DEFINED__
  3147. /* interface IWMProfile2 */
  3148. /* [local][unique][helpstring][uuid][object] */
  3149. EXTERN_C const IID IID_IWMProfile2;
  3150. #if defined(__cplusplus) && !defined(CINTERFACE)
  3151. MIDL_INTERFACE("07E72D33-D94E-4be7-8843-60AE5FF7E5F5")
  3152. IWMProfile2 : public IWMProfile
  3153. {
  3154. public:
  3155. virtual HRESULT STDMETHODCALLTYPE GetProfileID(
  3156. /* [out] */ GUID __RPC_FAR *pguidID) = 0;
  3157. };
  3158. #else /* C style interface */
  3159. typedef struct IWMProfile2Vtbl
  3160. {
  3161. BEGIN_INTERFACE
  3162. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3163. IWMProfile2 __RPC_FAR * This,
  3164. /* [in] */ REFIID riid,
  3165. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3166. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  3167. IWMProfile2 __RPC_FAR * This);
  3168. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  3169. IWMProfile2 __RPC_FAR * This);
  3170. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVersion )(
  3171. IWMProfile2 __RPC_FAR * This,
  3172. /* [out] */ WMT_VERSION __RPC_FAR *pdwVersion);
  3173. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetName )(
  3174. IWMProfile2 __RPC_FAR * This,
  3175. /* [out] */ WCHAR __RPC_FAR *pwszName,
  3176. /* [out][in] */ DWORD __RPC_FAR *pcchName);
  3177. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetName )(
  3178. IWMProfile2 __RPC_FAR * This,
  3179. /* [in] */ const WCHAR __RPC_FAR *pwszName);
  3180. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDescription )(
  3181. IWMProfile2 __RPC_FAR * This,
  3182. /* [out] */ WCHAR __RPC_FAR *pwszDescription,
  3183. /* [out][in] */ DWORD __RPC_FAR *pcchName);
  3184. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDescription )(
  3185. IWMProfile2 __RPC_FAR * This,
  3186. /* [in] */ const WCHAR __RPC_FAR *pwszDescription);
  3187. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamCount )(
  3188. IWMProfile2 __RPC_FAR * This,
  3189. /* [out] */ DWORD __RPC_FAR *pcStreams);
  3190. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStream )(
  3191. IWMProfile2 __RPC_FAR * This,
  3192. /* [in] */ DWORD dwStreamIndex,
  3193. /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig);
  3194. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamByNumber )(
  3195. IWMProfile2 __RPC_FAR * This,
  3196. /* [in] */ WORD wStreamNum,
  3197. /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig);
  3198. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveStream )(
  3199. IWMProfile2 __RPC_FAR * This,
  3200. /* [in] */ IWMStreamConfig __RPC_FAR *pConfig);
  3201. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveStreamByNumber )(
  3202. IWMProfile2 __RPC_FAR * This,
  3203. /* [in] */ WORD wStreamNum);
  3204. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddStream )(
  3205. IWMProfile2 __RPC_FAR * This,
  3206. /* [in] */ IWMStreamConfig __RPC_FAR *pConfig);
  3207. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReconfigStream )(
  3208. IWMProfile2 __RPC_FAR * This,
  3209. /* [in] */ IWMStreamConfig __RPC_FAR *pConfig);
  3210. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateNewStream )(
  3211. IWMProfile2 __RPC_FAR * This,
  3212. /* [in] */ REFGUID guidStreamType,
  3213. /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig);
  3214. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMutualExclusionCount )(
  3215. IWMProfile2 __RPC_FAR * This,
  3216. /* [out] */ DWORD __RPC_FAR *pcME);
  3217. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMutualExclusion )(
  3218. IWMProfile2 __RPC_FAR * This,
  3219. /* [in] */ DWORD dwMEIndex,
  3220. /* [out] */ IWMMutualExclusion __RPC_FAR *__RPC_FAR *ppME);
  3221. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveMutualExclusion )(
  3222. IWMProfile2 __RPC_FAR * This,
  3223. /* [in] */ IWMMutualExclusion __RPC_FAR *pME);
  3224. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddMutualExclusion )(
  3225. IWMProfile2 __RPC_FAR * This,
  3226. /* [in] */ IWMMutualExclusion __RPC_FAR *pME);
  3227. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateNewMutualExclusion )(
  3228. IWMProfile2 __RPC_FAR * This,
  3229. /* [out] */ IWMMutualExclusion __RPC_FAR *__RPC_FAR *ppME);
  3230. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProfileID )(
  3231. IWMProfile2 __RPC_FAR * This,
  3232. /* [out] */ GUID __RPC_FAR *pguidID);
  3233. END_INTERFACE
  3234. } IWMProfile2Vtbl;
  3235. interface IWMProfile2
  3236. {
  3237. CONST_VTBL struct IWMProfile2Vtbl __RPC_FAR *lpVtbl;
  3238. };
  3239. #ifdef COBJMACROS
  3240. #define IWMProfile2_QueryInterface(This,riid,ppvObject) \
  3241. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3242. #define IWMProfile2_AddRef(This) \
  3243. (This)->lpVtbl -> AddRef(This)
  3244. #define IWMProfile2_Release(This) \
  3245. (This)->lpVtbl -> Release(This)
  3246. #define IWMProfile2_GetVersion(This,pdwVersion) \
  3247. (This)->lpVtbl -> GetVersion(This,pdwVersion)
  3248. #define IWMProfile2_GetName(This,pwszName,pcchName) \
  3249. (This)->lpVtbl -> GetName(This,pwszName,pcchName)
  3250. #define IWMProfile2_SetName(This,pwszName) \
  3251. (This)->lpVtbl -> SetName(This,pwszName)
  3252. #define IWMProfile2_GetDescription(This,pwszDescription,pcchName) \
  3253. (This)->lpVtbl -> GetDescription(This,pwszDescription,pcchName)
  3254. #define IWMProfile2_SetDescription(This,pwszDescription) \
  3255. (This)->lpVtbl -> SetDescription(This,pwszDescription)
  3256. #define IWMProfile2_GetStreamCount(This,pcStreams) \
  3257. (This)->lpVtbl -> GetStreamCount(This,pcStreams)
  3258. #define IWMProfile2_GetStream(This,dwStreamIndex,ppConfig) \
  3259. (This)->lpVtbl -> GetStream(This,dwStreamIndex,ppConfig)
  3260. #define IWMProfile2_GetStreamByNumber(This,wStreamNum,ppConfig) \
  3261. (This)->lpVtbl -> GetStreamByNumber(This,wStreamNum,ppConfig)
  3262. #define IWMProfile2_RemoveStream(This,pConfig) \
  3263. (This)->lpVtbl -> RemoveStream(This,pConfig)
  3264. #define IWMProfile2_RemoveStreamByNumber(This,wStreamNum) \
  3265. (This)->lpVtbl -> RemoveStreamByNumber(This,wStreamNum)
  3266. #define IWMProfile2_AddStream(This,pConfig) \
  3267. (This)->lpVtbl -> AddStream(This,pConfig)
  3268. #define IWMProfile2_ReconfigStream(This,pConfig) \
  3269. (This)->lpVtbl -> ReconfigStream(This,pConfig)
  3270. #define IWMProfile2_CreateNewStream(This,guidStreamType,ppConfig) \
  3271. (This)->lpVtbl -> CreateNewStream(This,guidStreamType,ppConfig)
  3272. #define IWMProfile2_GetMutualExclusionCount(This,pcME) \
  3273. (This)->lpVtbl -> GetMutualExclusionCount(This,pcME)
  3274. #define IWMProfile2_GetMutualExclusion(This,dwMEIndex,ppME) \
  3275. (This)->lpVtbl -> GetMutualExclusion(This,dwMEIndex,ppME)
  3276. #define IWMProfile2_RemoveMutualExclusion(This,pME) \
  3277. (This)->lpVtbl -> RemoveMutualExclusion(This,pME)
  3278. #define IWMProfile2_AddMutualExclusion(This,pME) \
  3279. (This)->lpVtbl -> AddMutualExclusion(This,pME)
  3280. #define IWMProfile2_CreateNewMutualExclusion(This,ppME) \
  3281. (This)->lpVtbl -> CreateNewMutualExclusion(This,ppME)
  3282. #define IWMProfile2_GetProfileID(This,pguidID) \
  3283. (This)->lpVtbl -> GetProfileID(This,pguidID)
  3284. #endif /* COBJMACROS */
  3285. #endif /* C style interface */
  3286. HRESULT STDMETHODCALLTYPE IWMProfile2_GetProfileID_Proxy(
  3287. IWMProfile2 __RPC_FAR * This,
  3288. /* [out] */ GUID __RPC_FAR *pguidID);
  3289. void __RPC_STUB IWMProfile2_GetProfileID_Stub(
  3290. IRpcStubBuffer *This,
  3291. IRpcChannelBuffer *_pRpcChannelBuffer,
  3292. PRPC_MESSAGE _pRpcMessage,
  3293. DWORD *_pdwStubPhase);
  3294. #endif /* __IWMProfile2_INTERFACE_DEFINED__ */
  3295. #ifndef __IWMStreamConfig_INTERFACE_DEFINED__
  3296. #define __IWMStreamConfig_INTERFACE_DEFINED__
  3297. /* interface IWMStreamConfig */
  3298. /* [local][unique][helpstring][uuid][object] */
  3299. EXTERN_C const IID IID_IWMStreamConfig;
  3300. #if defined(__cplusplus) && !defined(CINTERFACE)
  3301. MIDL_INTERFACE("96406BDC-2B2B-11d3-B36B-00C04F6108FF")
  3302. IWMStreamConfig : public IUnknown
  3303. {
  3304. public:
  3305. virtual HRESULT STDMETHODCALLTYPE GetStreamType(
  3306. /* [out] */ GUID __RPC_FAR *pguidStreamType) = 0;
  3307. virtual HRESULT STDMETHODCALLTYPE GetStreamNumber(
  3308. /* [out] */ WORD __RPC_FAR *pwStreamNum) = 0;
  3309. virtual HRESULT STDMETHODCALLTYPE SetStreamNumber(
  3310. /* [in] */ WORD wStreamNum) = 0;
  3311. virtual HRESULT STDMETHODCALLTYPE GetStreamName(
  3312. /* [out] */ WCHAR __RPC_FAR *pwszStreamName,
  3313. /* [out][in] */ WORD __RPC_FAR *pcchStreamName) = 0;
  3314. virtual HRESULT STDMETHODCALLTYPE SetStreamName(
  3315. /* [in] */ WCHAR __RPC_FAR *pwszStreamName) = 0;
  3316. virtual HRESULT STDMETHODCALLTYPE GetConnectionName(
  3317. /* [out] */ WCHAR __RPC_FAR *pwszInputName,
  3318. /* [out][in] */ WORD __RPC_FAR *pcchInputName) = 0;
  3319. virtual HRESULT STDMETHODCALLTYPE SetConnectionName(
  3320. /* [in] */ WCHAR __RPC_FAR *pwszInputName) = 0;
  3321. virtual HRESULT STDMETHODCALLTYPE GetBitrate(
  3322. /* [out] */ DWORD __RPC_FAR *pdwBitrate) = 0;
  3323. virtual HRESULT STDMETHODCALLTYPE SetBitrate(
  3324. /* [in] */ DWORD pdwBitrate) = 0;
  3325. virtual HRESULT STDMETHODCALLTYPE GetBufferWindow(
  3326. /* [out] */ DWORD __RPC_FAR *pmsBufferWindow) = 0;
  3327. virtual HRESULT STDMETHODCALLTYPE SetBufferWindow(
  3328. /* [in] */ DWORD msBufferWindow) = 0;
  3329. };
  3330. #else /* C style interface */
  3331. typedef struct IWMStreamConfigVtbl
  3332. {
  3333. BEGIN_INTERFACE
  3334. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3335. IWMStreamConfig __RPC_FAR * This,
  3336. /* [in] */ REFIID riid,
  3337. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3338. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  3339. IWMStreamConfig __RPC_FAR * This);
  3340. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  3341. IWMStreamConfig __RPC_FAR * This);
  3342. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamType )(
  3343. IWMStreamConfig __RPC_FAR * This,
  3344. /* [out] */ GUID __RPC_FAR *pguidStreamType);
  3345. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamNumber )(
  3346. IWMStreamConfig __RPC_FAR * This,
  3347. /* [out] */ WORD __RPC_FAR *pwStreamNum);
  3348. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetStreamNumber )(
  3349. IWMStreamConfig __RPC_FAR * This,
  3350. /* [in] */ WORD wStreamNum);
  3351. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamName )(
  3352. IWMStreamConfig __RPC_FAR * This,
  3353. /* [out] */ WCHAR __RPC_FAR *pwszStreamName,
  3354. /* [out][in] */ WORD __RPC_FAR *pcchStreamName);
  3355. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetStreamName )(
  3356. IWMStreamConfig __RPC_FAR * This,
  3357. /* [in] */ WCHAR __RPC_FAR *pwszStreamName);
  3358. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetConnectionName )(
  3359. IWMStreamConfig __RPC_FAR * This,
  3360. /* [out] */ WCHAR __RPC_FAR *pwszInputName,
  3361. /* [out][in] */ WORD __RPC_FAR *pcchInputName);
  3362. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetConnectionName )(
  3363. IWMStreamConfig __RPC_FAR * This,
  3364. /* [in] */ WCHAR __RPC_FAR *pwszInputName);
  3365. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBitrate )(
  3366. IWMStreamConfig __RPC_FAR * This,
  3367. /* [out] */ DWORD __RPC_FAR *pdwBitrate);
  3368. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBitrate )(
  3369. IWMStreamConfig __RPC_FAR * This,
  3370. /* [in] */ DWORD pdwBitrate);
  3371. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBufferWindow )(
  3372. IWMStreamConfig __RPC_FAR * This,
  3373. /* [out] */ DWORD __RPC_FAR *pmsBufferWindow);
  3374. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBufferWindow )(
  3375. IWMStreamConfig __RPC_FAR * This,
  3376. /* [in] */ DWORD msBufferWindow);
  3377. END_INTERFACE
  3378. } IWMStreamConfigVtbl;
  3379. interface IWMStreamConfig
  3380. {
  3381. CONST_VTBL struct IWMStreamConfigVtbl __RPC_FAR *lpVtbl;
  3382. };
  3383. #ifdef COBJMACROS
  3384. #define IWMStreamConfig_QueryInterface(This,riid,ppvObject) \
  3385. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3386. #define IWMStreamConfig_AddRef(This) \
  3387. (This)->lpVtbl -> AddRef(This)
  3388. #define IWMStreamConfig_Release(This) \
  3389. (This)->lpVtbl -> Release(This)
  3390. #define IWMStreamConfig_GetStreamType(This,pguidStreamType) \
  3391. (This)->lpVtbl -> GetStreamType(This,pguidStreamType)
  3392. #define IWMStreamConfig_GetStreamNumber(This,pwStreamNum) \
  3393. (This)->lpVtbl -> GetStreamNumber(This,pwStreamNum)
  3394. #define IWMStreamConfig_SetStreamNumber(This,wStreamNum) \
  3395. (This)->lpVtbl -> SetStreamNumber(This,wStreamNum)
  3396. #define IWMStreamConfig_GetStreamName(This,pwszStreamName,pcchStreamName) \
  3397. (This)->lpVtbl -> GetStreamName(This,pwszStreamName,pcchStreamName)
  3398. #define IWMStreamConfig_SetStreamName(This,pwszStreamName) \
  3399. (This)->lpVtbl -> SetStreamName(This,pwszStreamName)
  3400. #define IWMStreamConfig_GetConnectionName(This,pwszInputName,pcchInputName) \
  3401. (This)->lpVtbl -> GetConnectionName(This,pwszInputName,pcchInputName)
  3402. #define IWMStreamConfig_SetConnectionName(This,pwszInputName) \
  3403. (This)->lpVtbl -> SetConnectionName(This,pwszInputName)
  3404. #define IWMStreamConfig_GetBitrate(This,pdwBitrate) \
  3405. (This)->lpVtbl -> GetBitrate(This,pdwBitrate)
  3406. #define IWMStreamConfig_SetBitrate(This,pdwBitrate) \
  3407. (This)->lpVtbl -> SetBitrate(This,pdwBitrate)
  3408. #define IWMStreamConfig_GetBufferWindow(This,pmsBufferWindow) \
  3409. (This)->lpVtbl -> GetBufferWindow(This,pmsBufferWindow)
  3410. #define IWMStreamConfig_SetBufferWindow(This,msBufferWindow) \
  3411. (This)->lpVtbl -> SetBufferWindow(This,msBufferWindow)
  3412. #endif /* COBJMACROS */
  3413. #endif /* C style interface */
  3414. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetStreamType_Proxy(
  3415. IWMStreamConfig __RPC_FAR * This,
  3416. /* [out] */ GUID __RPC_FAR *pguidStreamType);
  3417. void __RPC_STUB IWMStreamConfig_GetStreamType_Stub(
  3418. IRpcStubBuffer *This,
  3419. IRpcChannelBuffer *_pRpcChannelBuffer,
  3420. PRPC_MESSAGE _pRpcMessage,
  3421. DWORD *_pdwStubPhase);
  3422. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetStreamNumber_Proxy(
  3423. IWMStreamConfig __RPC_FAR * This,
  3424. /* [out] */ WORD __RPC_FAR *pwStreamNum);
  3425. void __RPC_STUB IWMStreamConfig_GetStreamNumber_Stub(
  3426. IRpcStubBuffer *This,
  3427. IRpcChannelBuffer *_pRpcChannelBuffer,
  3428. PRPC_MESSAGE _pRpcMessage,
  3429. DWORD *_pdwStubPhase);
  3430. HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetStreamNumber_Proxy(
  3431. IWMStreamConfig __RPC_FAR * This,
  3432. /* [in] */ WORD wStreamNum);
  3433. void __RPC_STUB IWMStreamConfig_SetStreamNumber_Stub(
  3434. IRpcStubBuffer *This,
  3435. IRpcChannelBuffer *_pRpcChannelBuffer,
  3436. PRPC_MESSAGE _pRpcMessage,
  3437. DWORD *_pdwStubPhase);
  3438. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetStreamName_Proxy(
  3439. IWMStreamConfig __RPC_FAR * This,
  3440. /* [out] */ WCHAR __RPC_FAR *pwszStreamName,
  3441. /* [out][in] */ WORD __RPC_FAR *pcchStreamName);
  3442. void __RPC_STUB IWMStreamConfig_GetStreamName_Stub(
  3443. IRpcStubBuffer *This,
  3444. IRpcChannelBuffer *_pRpcChannelBuffer,
  3445. PRPC_MESSAGE _pRpcMessage,
  3446. DWORD *_pdwStubPhase);
  3447. HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetStreamName_Proxy(
  3448. IWMStreamConfig __RPC_FAR * This,
  3449. /* [in] */ WCHAR __RPC_FAR *pwszStreamName);
  3450. void __RPC_STUB IWMStreamConfig_SetStreamName_Stub(
  3451. IRpcStubBuffer *This,
  3452. IRpcChannelBuffer *_pRpcChannelBuffer,
  3453. PRPC_MESSAGE _pRpcMessage,
  3454. DWORD *_pdwStubPhase);
  3455. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetConnectionName_Proxy(
  3456. IWMStreamConfig __RPC_FAR * This,
  3457. /* [out] */ WCHAR __RPC_FAR *pwszInputName,
  3458. /* [out][in] */ WORD __RPC_FAR *pcchInputName);
  3459. void __RPC_STUB IWMStreamConfig_GetConnectionName_Stub(
  3460. IRpcStubBuffer *This,
  3461. IRpcChannelBuffer *_pRpcChannelBuffer,
  3462. PRPC_MESSAGE _pRpcMessage,
  3463. DWORD *_pdwStubPhase);
  3464. HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetConnectionName_Proxy(
  3465. IWMStreamConfig __RPC_FAR * This,
  3466. /* [in] */ WCHAR __RPC_FAR *pwszInputName);
  3467. void __RPC_STUB IWMStreamConfig_SetConnectionName_Stub(
  3468. IRpcStubBuffer *This,
  3469. IRpcChannelBuffer *_pRpcChannelBuffer,
  3470. PRPC_MESSAGE _pRpcMessage,
  3471. DWORD *_pdwStubPhase);
  3472. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetBitrate_Proxy(
  3473. IWMStreamConfig __RPC_FAR * This,
  3474. /* [out] */ DWORD __RPC_FAR *pdwBitrate);
  3475. void __RPC_STUB IWMStreamConfig_GetBitrate_Stub(
  3476. IRpcStubBuffer *This,
  3477. IRpcChannelBuffer *_pRpcChannelBuffer,
  3478. PRPC_MESSAGE _pRpcMessage,
  3479. DWORD *_pdwStubPhase);
  3480. HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetBitrate_Proxy(
  3481. IWMStreamConfig __RPC_FAR * This,
  3482. /* [in] */ DWORD pdwBitrate);
  3483. void __RPC_STUB IWMStreamConfig_SetBitrate_Stub(
  3484. IRpcStubBuffer *This,
  3485. IRpcChannelBuffer *_pRpcChannelBuffer,
  3486. PRPC_MESSAGE _pRpcMessage,
  3487. DWORD *_pdwStubPhase);
  3488. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetBufferWindow_Proxy(
  3489. IWMStreamConfig __RPC_FAR * This,
  3490. /* [out] */ DWORD __RPC_FAR *pmsBufferWindow);
  3491. void __RPC_STUB IWMStreamConfig_GetBufferWindow_Stub(
  3492. IRpcStubBuffer *This,
  3493. IRpcChannelBuffer *_pRpcChannelBuffer,
  3494. PRPC_MESSAGE _pRpcMessage,
  3495. DWORD *_pdwStubPhase);
  3496. HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetBufferWindow_Proxy(
  3497. IWMStreamConfig __RPC_FAR * This,
  3498. /* [in] */ DWORD msBufferWindow);
  3499. void __RPC_STUB IWMStreamConfig_SetBufferWindow_Stub(
  3500. IRpcStubBuffer *This,
  3501. IRpcChannelBuffer *_pRpcChannelBuffer,
  3502. PRPC_MESSAGE _pRpcMessage,
  3503. DWORD *_pdwStubPhase);
  3504. #endif /* __IWMStreamConfig_INTERFACE_DEFINED__ */
  3505. #ifndef __IWMPacketSize_INTERFACE_DEFINED__
  3506. #define __IWMPacketSize_INTERFACE_DEFINED__
  3507. /* interface IWMPacketSize */
  3508. /* [local][unique][helpstring][uuid][object] */
  3509. EXTERN_C const IID IID_IWMPacketSize;
  3510. #if defined(__cplusplus) && !defined(CINTERFACE)
  3511. MIDL_INTERFACE("CDFB97AB-188F-40b3-B643-5B7903975C59")
  3512. IWMPacketSize : public IUnknown
  3513. {
  3514. public:
  3515. virtual HRESULT STDMETHODCALLTYPE GetMaxPacketSize(
  3516. /* [out] */ DWORD __RPC_FAR *pdwMaxPacketSize) = 0;
  3517. virtual HRESULT STDMETHODCALLTYPE SetMaxPacketSize(
  3518. /* [in] */ DWORD dwMaxPacketSize) = 0;
  3519. };
  3520. #else /* C style interface */
  3521. typedef struct IWMPacketSizeVtbl
  3522. {
  3523. BEGIN_INTERFACE
  3524. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3525. IWMPacketSize __RPC_FAR * This,
  3526. /* [in] */ REFIID riid,
  3527. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3528. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  3529. IWMPacketSize __RPC_FAR * This);
  3530. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  3531. IWMPacketSize __RPC_FAR * This);
  3532. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMaxPacketSize )(
  3533. IWMPacketSize __RPC_FAR * This,
  3534. /* [out] */ DWORD __RPC_FAR *pdwMaxPacketSize);
  3535. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMaxPacketSize )(
  3536. IWMPacketSize __RPC_FAR * This,
  3537. /* [in] */ DWORD dwMaxPacketSize);
  3538. END_INTERFACE
  3539. } IWMPacketSizeVtbl;
  3540. interface IWMPacketSize
  3541. {
  3542. CONST_VTBL struct IWMPacketSizeVtbl __RPC_FAR *lpVtbl;
  3543. };
  3544. #ifdef COBJMACROS
  3545. #define IWMPacketSize_QueryInterface(This,riid,ppvObject) \
  3546. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3547. #define IWMPacketSize_AddRef(This) \
  3548. (This)->lpVtbl -> AddRef(This)
  3549. #define IWMPacketSize_Release(This) \
  3550. (This)->lpVtbl -> Release(This)
  3551. #define IWMPacketSize_GetMaxPacketSize(This,pdwMaxPacketSize) \
  3552. (This)->lpVtbl -> GetMaxPacketSize(This,pdwMaxPacketSize)
  3553. #define IWMPacketSize_SetMaxPacketSize(This,dwMaxPacketSize) \
  3554. (This)->lpVtbl -> SetMaxPacketSize(This,dwMaxPacketSize)
  3555. #endif /* COBJMACROS */
  3556. #endif /* C style interface */
  3557. HRESULT STDMETHODCALLTYPE IWMPacketSize_GetMaxPacketSize_Proxy(
  3558. IWMPacketSize __RPC_FAR * This,
  3559. /* [out] */ DWORD __RPC_FAR *pdwMaxPacketSize);
  3560. void __RPC_STUB IWMPacketSize_GetMaxPacketSize_Stub(
  3561. IRpcStubBuffer *This,
  3562. IRpcChannelBuffer *_pRpcChannelBuffer,
  3563. PRPC_MESSAGE _pRpcMessage,
  3564. DWORD *_pdwStubPhase);
  3565. HRESULT STDMETHODCALLTYPE IWMPacketSize_SetMaxPacketSize_Proxy(
  3566. IWMPacketSize __RPC_FAR * This,
  3567. /* [in] */ DWORD dwMaxPacketSize);
  3568. void __RPC_STUB IWMPacketSize_SetMaxPacketSize_Stub(
  3569. IRpcStubBuffer *This,
  3570. IRpcChannelBuffer *_pRpcChannelBuffer,
  3571. PRPC_MESSAGE _pRpcMessage,
  3572. DWORD *_pdwStubPhase);
  3573. #endif /* __IWMPacketSize_INTERFACE_DEFINED__ */
  3574. #ifndef __IWMStreamList_INTERFACE_DEFINED__
  3575. #define __IWMStreamList_INTERFACE_DEFINED__
  3576. /* interface IWMStreamList */
  3577. /* [local][unique][helpstring][uuid][object] */
  3578. EXTERN_C const IID IID_IWMStreamList;
  3579. #if defined(__cplusplus) && !defined(CINTERFACE)
  3580. MIDL_INTERFACE("96406BDD-2B2B-11d3-B36B-00C04F6108FF")
  3581. IWMStreamList : public IUnknown
  3582. {
  3583. public:
  3584. virtual HRESULT STDMETHODCALLTYPE GetStreams(
  3585. /* [out] */ WORD __RPC_FAR *pwStreamNumArray,
  3586. /* [out][in] */ WORD __RPC_FAR *pcStreams) = 0;
  3587. virtual HRESULT STDMETHODCALLTYPE AddStream(
  3588. /* [in] */ WORD wStreamNum) = 0;
  3589. virtual HRESULT STDMETHODCALLTYPE RemoveStream(
  3590. /* [in] */ WORD wStreamNum) = 0;
  3591. };
  3592. #else /* C style interface */
  3593. typedef struct IWMStreamListVtbl
  3594. {
  3595. BEGIN_INTERFACE
  3596. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3597. IWMStreamList __RPC_FAR * This,
  3598. /* [in] */ REFIID riid,
  3599. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3600. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  3601. IWMStreamList __RPC_FAR * This);
  3602. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  3603. IWMStreamList __RPC_FAR * This);
  3604. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreams )(
  3605. IWMStreamList __RPC_FAR * This,
  3606. /* [out] */ WORD __RPC_FAR *pwStreamNumArray,
  3607. /* [out][in] */ WORD __RPC_FAR *pcStreams);
  3608. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddStream )(
  3609. IWMStreamList __RPC_FAR * This,
  3610. /* [in] */ WORD wStreamNum);
  3611. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveStream )(
  3612. IWMStreamList __RPC_FAR * This,
  3613. /* [in] */ WORD wStreamNum);
  3614. END_INTERFACE
  3615. } IWMStreamListVtbl;
  3616. interface IWMStreamList
  3617. {
  3618. CONST_VTBL struct IWMStreamListVtbl __RPC_FAR *lpVtbl;
  3619. };
  3620. #ifdef COBJMACROS
  3621. #define IWMStreamList_QueryInterface(This,riid,ppvObject) \
  3622. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3623. #define IWMStreamList_AddRef(This) \
  3624. (This)->lpVtbl -> AddRef(This)
  3625. #define IWMStreamList_Release(This) \
  3626. (This)->lpVtbl -> Release(This)
  3627. #define IWMStreamList_GetStreams(This,pwStreamNumArray,pcStreams) \
  3628. (This)->lpVtbl -> GetStreams(This,pwStreamNumArray,pcStreams)
  3629. #define IWMStreamList_AddStream(This,wStreamNum) \
  3630. (This)->lpVtbl -> AddStream(This,wStreamNum)
  3631. #define IWMStreamList_RemoveStream(This,wStreamNum) \
  3632. (This)->lpVtbl -> RemoveStream(This,wStreamNum)
  3633. #endif /* COBJMACROS */
  3634. #endif /* C style interface */
  3635. HRESULT STDMETHODCALLTYPE IWMStreamList_GetStreams_Proxy(
  3636. IWMStreamList __RPC_FAR * This,
  3637. /* [out] */ WORD __RPC_FAR *pwStreamNumArray,
  3638. /* [out][in] */ WORD __RPC_FAR *pcStreams);
  3639. void __RPC_STUB IWMStreamList_GetStreams_Stub(
  3640. IRpcStubBuffer *This,
  3641. IRpcChannelBuffer *_pRpcChannelBuffer,
  3642. PRPC_MESSAGE _pRpcMessage,
  3643. DWORD *_pdwStubPhase);
  3644. HRESULT STDMETHODCALLTYPE IWMStreamList_AddStream_Proxy(
  3645. IWMStreamList __RPC_FAR * This,
  3646. /* [in] */ WORD wStreamNum);
  3647. void __RPC_STUB IWMStreamList_AddStream_Stub(
  3648. IRpcStubBuffer *This,
  3649. IRpcChannelBuffer *_pRpcChannelBuffer,
  3650. PRPC_MESSAGE _pRpcMessage,
  3651. DWORD *_pdwStubPhase);
  3652. HRESULT STDMETHODCALLTYPE IWMStreamList_RemoveStream_Proxy(
  3653. IWMStreamList __RPC_FAR * This,
  3654. /* [in] */ WORD wStreamNum);
  3655. void __RPC_STUB IWMStreamList_RemoveStream_Stub(
  3656. IRpcStubBuffer *This,
  3657. IRpcChannelBuffer *_pRpcChannelBuffer,
  3658. PRPC_MESSAGE _pRpcMessage,
  3659. DWORD *_pdwStubPhase);
  3660. #endif /* __IWMStreamList_INTERFACE_DEFINED__ */
  3661. #ifndef __IWMMutualExclusion_INTERFACE_DEFINED__
  3662. #define __IWMMutualExclusion_INTERFACE_DEFINED__
  3663. /* interface IWMMutualExclusion */
  3664. /* [local][unique][helpstring][uuid][object] */
  3665. EXTERN_C const IID IID_IWMMutualExclusion;
  3666. #if defined(__cplusplus) && !defined(CINTERFACE)
  3667. MIDL_INTERFACE("96406BDE-2B2B-11d3-B36B-00C04F6108FF")
  3668. IWMMutualExclusion : public IWMStreamList
  3669. {
  3670. public:
  3671. virtual HRESULT STDMETHODCALLTYPE GetType(
  3672. /* [out] */ GUID __RPC_FAR *pguidType) = 0;
  3673. virtual HRESULT STDMETHODCALLTYPE SetType(
  3674. /* [in] */ REFGUID guidType) = 0;
  3675. };
  3676. #else /* C style interface */
  3677. typedef struct IWMMutualExclusionVtbl
  3678. {
  3679. BEGIN_INTERFACE
  3680. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3681. IWMMutualExclusion __RPC_FAR * This,
  3682. /* [in] */ REFIID riid,
  3683. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3684. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  3685. IWMMutualExclusion __RPC_FAR * This);
  3686. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  3687. IWMMutualExclusion __RPC_FAR * This);
  3688. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreams )(
  3689. IWMMutualExclusion __RPC_FAR * This,
  3690. /* [out] */ WORD __RPC_FAR *pwStreamNumArray,
  3691. /* [out][in] */ WORD __RPC_FAR *pcStreams);
  3692. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddStream )(
  3693. IWMMutualExclusion __RPC_FAR * This,
  3694. /* [in] */ WORD wStreamNum);
  3695. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveStream )(
  3696. IWMMutualExclusion __RPC_FAR * This,
  3697. /* [in] */ WORD wStreamNum);
  3698. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetType )(
  3699. IWMMutualExclusion __RPC_FAR * This,
  3700. /* [out] */ GUID __RPC_FAR *pguidType);
  3701. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetType )(
  3702. IWMMutualExclusion __RPC_FAR * This,
  3703. /* [in] */ REFGUID guidType);
  3704. END_INTERFACE
  3705. } IWMMutualExclusionVtbl;
  3706. interface IWMMutualExclusion
  3707. {
  3708. CONST_VTBL struct IWMMutualExclusionVtbl __RPC_FAR *lpVtbl;
  3709. };
  3710. #ifdef COBJMACROS
  3711. #define IWMMutualExclusion_QueryInterface(This,riid,ppvObject) \
  3712. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3713. #define IWMMutualExclusion_AddRef(This) \
  3714. (This)->lpVtbl -> AddRef(This)
  3715. #define IWMMutualExclusion_Release(This) \
  3716. (This)->lpVtbl -> Release(This)
  3717. #define IWMMutualExclusion_GetStreams(This,pwStreamNumArray,pcStreams) \
  3718. (This)->lpVtbl -> GetStreams(This,pwStreamNumArray,pcStreams)
  3719. #define IWMMutualExclusion_AddStream(This,wStreamNum) \
  3720. (This)->lpVtbl -> AddStream(This,wStreamNum)
  3721. #define IWMMutualExclusion_RemoveStream(This,wStreamNum) \
  3722. (This)->lpVtbl -> RemoveStream(This,wStreamNum)
  3723. #define IWMMutualExclusion_GetType(This,pguidType) \
  3724. (This)->lpVtbl -> GetType(This,pguidType)
  3725. #define IWMMutualExclusion_SetType(This,guidType) \
  3726. (This)->lpVtbl -> SetType(This,guidType)
  3727. #endif /* COBJMACROS */
  3728. #endif /* C style interface */
  3729. HRESULT STDMETHODCALLTYPE IWMMutualExclusion_GetType_Proxy(
  3730. IWMMutualExclusion __RPC_FAR * This,
  3731. /* [out] */ GUID __RPC_FAR *pguidType);
  3732. void __RPC_STUB IWMMutualExclusion_GetType_Stub(
  3733. IRpcStubBuffer *This,
  3734. IRpcChannelBuffer *_pRpcChannelBuffer,
  3735. PRPC_MESSAGE _pRpcMessage,
  3736. DWORD *_pdwStubPhase);
  3737. HRESULT STDMETHODCALLTYPE IWMMutualExclusion_SetType_Proxy(
  3738. IWMMutualExclusion __RPC_FAR * This,
  3739. /* [in] */ REFGUID guidType);
  3740. void __RPC_STUB IWMMutualExclusion_SetType_Stub(
  3741. IRpcStubBuffer *This,
  3742. IRpcChannelBuffer *_pRpcChannelBuffer,
  3743. PRPC_MESSAGE _pRpcMessage,
  3744. DWORD *_pdwStubPhase);
  3745. #endif /* __IWMMutualExclusion_INTERFACE_DEFINED__ */
  3746. #ifndef __IWMWriterAdvanced_INTERFACE_DEFINED__
  3747. #define __IWMWriterAdvanced_INTERFACE_DEFINED__
  3748. /* interface IWMWriterAdvanced */
  3749. /* [local][unique][helpstring][uuid][object] */
  3750. EXTERN_C const IID IID_IWMWriterAdvanced;
  3751. #if defined(__cplusplus) && !defined(CINTERFACE)
  3752. MIDL_INTERFACE("96406BE3-2B2B-11d3-B36B-00C04F6108FF")
  3753. IWMWriterAdvanced : public IUnknown
  3754. {
  3755. public:
  3756. virtual HRESULT STDMETHODCALLTYPE GetSinkCount(
  3757. /* [out] */ DWORD __RPC_FAR *pcSinks) = 0;
  3758. virtual HRESULT STDMETHODCALLTYPE GetSink(
  3759. /* [in] */ DWORD dwSinkNum,
  3760. /* [out] */ IWMWriterSink __RPC_FAR *__RPC_FAR *ppSink) = 0;
  3761. virtual HRESULT STDMETHODCALLTYPE AddSink(
  3762. /* [in] */ IWMWriterSink __RPC_FAR *pSink) = 0;
  3763. virtual HRESULT STDMETHODCALLTYPE RemoveSink(
  3764. /* [in] */ IWMWriterSink __RPC_FAR *pSink) = 0;
  3765. virtual HRESULT STDMETHODCALLTYPE WriteStreamSample(
  3766. /* [in] */ WORD wStreamNum,
  3767. /* [in] */ QWORD cnsSampleTime,
  3768. /* [in] */ DWORD msSampleSendTime,
  3769. /* [in] */ QWORD cnsSampleDuration,
  3770. /* [in] */ DWORD dwFlags,
  3771. /* [in] */ INSSBuffer __RPC_FAR *pSample) = 0;
  3772. virtual HRESULT STDMETHODCALLTYPE SetLiveSource(
  3773. BOOL fIsLiveSource) = 0;
  3774. virtual HRESULT STDMETHODCALLTYPE IsRealTime(
  3775. /* [out] */ BOOL __RPC_FAR *pfRealTime) = 0;
  3776. virtual HRESULT STDMETHODCALLTYPE GetWriterTime(
  3777. /* [out] */ QWORD __RPC_FAR *pcnsCurrentTime) = 0;
  3778. virtual HRESULT STDMETHODCALLTYPE GetStatistics(
  3779. /* [in] */ WORD wStreamNum,
  3780. /* [out] */ WM_WRITER_STATISTICS __RPC_FAR *pStats) = 0;
  3781. virtual HRESULT STDMETHODCALLTYPE SetSyncTolerance(
  3782. /* [in] */ DWORD msWindow) = 0;
  3783. virtual HRESULT STDMETHODCALLTYPE GetSyncTolerance(
  3784. /* [out] */ DWORD __RPC_FAR *pmsWindow) = 0;
  3785. };
  3786. #else /* C style interface */
  3787. typedef struct IWMWriterAdvancedVtbl
  3788. {
  3789. BEGIN_INTERFACE
  3790. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3791. IWMWriterAdvanced __RPC_FAR * This,
  3792. /* [in] */ REFIID riid,
  3793. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3794. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  3795. IWMWriterAdvanced __RPC_FAR * This);
  3796. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  3797. IWMWriterAdvanced __RPC_FAR * This);
  3798. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSinkCount )(
  3799. IWMWriterAdvanced __RPC_FAR * This,
  3800. /* [out] */ DWORD __RPC_FAR *pcSinks);
  3801. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSink )(
  3802. IWMWriterAdvanced __RPC_FAR * This,
  3803. /* [in] */ DWORD dwSinkNum,
  3804. /* [out] */ IWMWriterSink __RPC_FAR *__RPC_FAR *ppSink);
  3805. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSink )(
  3806. IWMWriterAdvanced __RPC_FAR * This,
  3807. /* [in] */ IWMWriterSink __RPC_FAR *pSink);
  3808. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveSink )(
  3809. IWMWriterAdvanced __RPC_FAR * This,
  3810. /* [in] */ IWMWriterSink __RPC_FAR *pSink);
  3811. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteStreamSample )(
  3812. IWMWriterAdvanced __RPC_FAR * This,
  3813. /* [in] */ WORD wStreamNum,
  3814. /* [in] */ QWORD cnsSampleTime,
  3815. /* [in] */ DWORD msSampleSendTime,
  3816. /* [in] */ QWORD cnsSampleDuration,
  3817. /* [in] */ DWORD dwFlags,
  3818. /* [in] */ INSSBuffer __RPC_FAR *pSample);
  3819. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLiveSource )(
  3820. IWMWriterAdvanced __RPC_FAR * This,
  3821. BOOL fIsLiveSource);
  3822. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsRealTime )(
  3823. IWMWriterAdvanced __RPC_FAR * This,
  3824. /* [out] */ BOOL __RPC_FAR *pfRealTime);
  3825. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetWriterTime )(
  3826. IWMWriterAdvanced __RPC_FAR * This,
  3827. /* [out] */ QWORD __RPC_FAR *pcnsCurrentTime);
  3828. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatistics )(
  3829. IWMWriterAdvanced __RPC_FAR * This,
  3830. /* [in] */ WORD wStreamNum,
  3831. /* [out] */ WM_WRITER_STATISTICS __RPC_FAR *pStats);
  3832. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSyncTolerance )(
  3833. IWMWriterAdvanced __RPC_FAR * This,
  3834. /* [in] */ DWORD msWindow);
  3835. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSyncTolerance )(
  3836. IWMWriterAdvanced __RPC_FAR * This,
  3837. /* [out] */ DWORD __RPC_FAR *pmsWindow);
  3838. END_INTERFACE
  3839. } IWMWriterAdvancedVtbl;
  3840. interface IWMWriterAdvanced
  3841. {
  3842. CONST_VTBL struct IWMWriterAdvancedVtbl __RPC_FAR *lpVtbl;
  3843. };
  3844. #ifdef COBJMACROS
  3845. #define IWMWriterAdvanced_QueryInterface(This,riid,ppvObject) \
  3846. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3847. #define IWMWriterAdvanced_AddRef(This) \
  3848. (This)->lpVtbl -> AddRef(This)
  3849. #define IWMWriterAdvanced_Release(This) \
  3850. (This)->lpVtbl -> Release(This)
  3851. #define IWMWriterAdvanced_GetSinkCount(This,pcSinks) \
  3852. (This)->lpVtbl -> GetSinkCount(This,pcSinks)
  3853. #define IWMWriterAdvanced_GetSink(This,dwSinkNum,ppSink) \
  3854. (This)->lpVtbl -> GetSink(This,dwSinkNum,ppSink)
  3855. #define IWMWriterAdvanced_AddSink(This,pSink) \
  3856. (This)->lpVtbl -> AddSink(This,pSink)
  3857. #define IWMWriterAdvanced_RemoveSink(This,pSink) \
  3858. (This)->lpVtbl -> RemoveSink(This,pSink)
  3859. #define IWMWriterAdvanced_WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample) \
  3860. (This)->lpVtbl -> WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample)
  3861. #define IWMWriterAdvanced_SetLiveSource(This,fIsLiveSource) \
  3862. (This)->lpVtbl -> SetLiveSource(This,fIsLiveSource)
  3863. #define IWMWriterAdvanced_IsRealTime(This,pfRealTime) \
  3864. (This)->lpVtbl -> IsRealTime(This,pfRealTime)
  3865. #define IWMWriterAdvanced_GetWriterTime(This,pcnsCurrentTime) \
  3866. (This)->lpVtbl -> GetWriterTime(This,pcnsCurrentTime)
  3867. #define IWMWriterAdvanced_GetStatistics(This,wStreamNum,pStats) \
  3868. (This)->lpVtbl -> GetStatistics(This,wStreamNum,pStats)
  3869. #define IWMWriterAdvanced_SetSyncTolerance(This,msWindow) \
  3870. (This)->lpVtbl -> SetSyncTolerance(This,msWindow)
  3871. #define IWMWriterAdvanced_GetSyncTolerance(This,pmsWindow) \
  3872. (This)->lpVtbl -> GetSyncTolerance(This,pmsWindow)
  3873. #endif /* COBJMACROS */
  3874. #endif /* C style interface */
  3875. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_GetSinkCount_Proxy(
  3876. IWMWriterAdvanced __RPC_FAR * This,
  3877. /* [out] */ DWORD __RPC_FAR *pcSinks);
  3878. void __RPC_STUB IWMWriterAdvanced_GetSinkCount_Stub(
  3879. IRpcStubBuffer *This,
  3880. IRpcChannelBuffer *_pRpcChannelBuffer,
  3881. PRPC_MESSAGE _pRpcMessage,
  3882. DWORD *_pdwStubPhase);
  3883. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_GetSink_Proxy(
  3884. IWMWriterAdvanced __RPC_FAR * This,
  3885. /* [in] */ DWORD dwSinkNum,
  3886. /* [out] */ IWMWriterSink __RPC_FAR *__RPC_FAR *ppSink);
  3887. void __RPC_STUB IWMWriterAdvanced_GetSink_Stub(
  3888. IRpcStubBuffer *This,
  3889. IRpcChannelBuffer *_pRpcChannelBuffer,
  3890. PRPC_MESSAGE _pRpcMessage,
  3891. DWORD *_pdwStubPhase);
  3892. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_AddSink_Proxy(
  3893. IWMWriterAdvanced __RPC_FAR * This,
  3894. /* [in] */ IWMWriterSink __RPC_FAR *pSink);
  3895. void __RPC_STUB IWMWriterAdvanced_AddSink_Stub(
  3896. IRpcStubBuffer *This,
  3897. IRpcChannelBuffer *_pRpcChannelBuffer,
  3898. PRPC_MESSAGE _pRpcMessage,
  3899. DWORD *_pdwStubPhase);
  3900. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_RemoveSink_Proxy(
  3901. IWMWriterAdvanced __RPC_FAR * This,
  3902. /* [in] */ IWMWriterSink __RPC_FAR *pSink);
  3903. void __RPC_STUB IWMWriterAdvanced_RemoveSink_Stub(
  3904. IRpcStubBuffer *This,
  3905. IRpcChannelBuffer *_pRpcChannelBuffer,
  3906. PRPC_MESSAGE _pRpcMessage,
  3907. DWORD *_pdwStubPhase);
  3908. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_WriteStreamSample_Proxy(
  3909. IWMWriterAdvanced __RPC_FAR * This,
  3910. /* [in] */ WORD wStreamNum,
  3911. /* [in] */ QWORD cnsSampleTime,
  3912. /* [in] */ DWORD msSampleSendTime,
  3913. /* [in] */ QWORD cnsSampleDuration,
  3914. /* [in] */ DWORD dwFlags,
  3915. /* [in] */ INSSBuffer __RPC_FAR *pSample);
  3916. void __RPC_STUB IWMWriterAdvanced_WriteStreamSample_Stub(
  3917. IRpcStubBuffer *This,
  3918. IRpcChannelBuffer *_pRpcChannelBuffer,
  3919. PRPC_MESSAGE _pRpcMessage,
  3920. DWORD *_pdwStubPhase);
  3921. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_SetLiveSource_Proxy(
  3922. IWMWriterAdvanced __RPC_FAR * This,
  3923. BOOL fIsLiveSource);
  3924. void __RPC_STUB IWMWriterAdvanced_SetLiveSource_Stub(
  3925. IRpcStubBuffer *This,
  3926. IRpcChannelBuffer *_pRpcChannelBuffer,
  3927. PRPC_MESSAGE _pRpcMessage,
  3928. DWORD *_pdwStubPhase);
  3929. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_IsRealTime_Proxy(
  3930. IWMWriterAdvanced __RPC_FAR * This,
  3931. /* [out] */ BOOL __RPC_FAR *pfRealTime);
  3932. void __RPC_STUB IWMWriterAdvanced_IsRealTime_Stub(
  3933. IRpcStubBuffer *This,
  3934. IRpcChannelBuffer *_pRpcChannelBuffer,
  3935. PRPC_MESSAGE _pRpcMessage,
  3936. DWORD *_pdwStubPhase);
  3937. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_GetWriterTime_Proxy(
  3938. IWMWriterAdvanced __RPC_FAR * This,
  3939. /* [out] */ QWORD __RPC_FAR *pcnsCurrentTime);
  3940. void __RPC_STUB IWMWriterAdvanced_GetWriterTime_Stub(
  3941. IRpcStubBuffer *This,
  3942. IRpcChannelBuffer *_pRpcChannelBuffer,
  3943. PRPC_MESSAGE _pRpcMessage,
  3944. DWORD *_pdwStubPhase);
  3945. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_GetStatistics_Proxy(
  3946. IWMWriterAdvanced __RPC_FAR * This,
  3947. /* [in] */ WORD wStreamNum,
  3948. /* [out] */ WM_WRITER_STATISTICS __RPC_FAR *pStats);
  3949. void __RPC_STUB IWMWriterAdvanced_GetStatistics_Stub(
  3950. IRpcStubBuffer *This,
  3951. IRpcChannelBuffer *_pRpcChannelBuffer,
  3952. PRPC_MESSAGE _pRpcMessage,
  3953. DWORD *_pdwStubPhase);
  3954. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_SetSyncTolerance_Proxy(
  3955. IWMWriterAdvanced __RPC_FAR * This,
  3956. /* [in] */ DWORD msWindow);
  3957. void __RPC_STUB IWMWriterAdvanced_SetSyncTolerance_Stub(
  3958. IRpcStubBuffer *This,
  3959. IRpcChannelBuffer *_pRpcChannelBuffer,
  3960. PRPC_MESSAGE _pRpcMessage,
  3961. DWORD *_pdwStubPhase);
  3962. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_GetSyncTolerance_Proxy(
  3963. IWMWriterAdvanced __RPC_FAR * This,
  3964. /* [out] */ DWORD __RPC_FAR *pmsWindow);
  3965. void __RPC_STUB IWMWriterAdvanced_GetSyncTolerance_Stub(
  3966. IRpcStubBuffer *This,
  3967. IRpcChannelBuffer *_pRpcChannelBuffer,
  3968. PRPC_MESSAGE _pRpcMessage,
  3969. DWORD *_pdwStubPhase);
  3970. #endif /* __IWMWriterAdvanced_INTERFACE_DEFINED__ */
  3971. #ifndef __IWMWriterAdvanced2_INTERFACE_DEFINED__
  3972. #define __IWMWriterAdvanced2_INTERFACE_DEFINED__
  3973. /* interface IWMWriterAdvanced2 */
  3974. /* [local][unique][helpstring][uuid][object] */
  3975. EXTERN_C const IID IID_IWMWriterAdvanced2;
  3976. #if defined(__cplusplus) && !defined(CINTERFACE)
  3977. MIDL_INTERFACE("962dc1ec-c046-4db8-9cc7-26ceae500817")
  3978. IWMWriterAdvanced2 : public IWMWriterAdvanced
  3979. {
  3980. public:
  3981. virtual HRESULT STDMETHODCALLTYPE GetInputSetting(
  3982. /* [in] */ DWORD dwInputNum,
  3983. /* [in] */ LPCWSTR pszName,
  3984. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  3985. /* [out] */ BYTE __RPC_FAR *pValue,
  3986. /* [out][in] */ WORD __RPC_FAR *pcbLength) = 0;
  3987. virtual HRESULT STDMETHODCALLTYPE SetInputSetting(
  3988. /* [in] */ DWORD dwInputNum,
  3989. /* [in] */ LPCWSTR pszName,
  3990. /* [in] */ WMT_ATTR_DATATYPE Type,
  3991. /* [in] */ const BYTE __RPC_FAR *pValue,
  3992. /* [in] */ WORD cbLength) = 0;
  3993. };
  3994. #else /* C style interface */
  3995. typedef struct IWMWriterAdvanced2Vtbl
  3996. {
  3997. BEGIN_INTERFACE
  3998. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3999. IWMWriterAdvanced2 __RPC_FAR * This,
  4000. /* [in] */ REFIID riid,
  4001. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4002. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  4003. IWMWriterAdvanced2 __RPC_FAR * This);
  4004. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  4005. IWMWriterAdvanced2 __RPC_FAR * This);
  4006. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSinkCount )(
  4007. IWMWriterAdvanced2 __RPC_FAR * This,
  4008. /* [out] */ DWORD __RPC_FAR *pcSinks);
  4009. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSink )(
  4010. IWMWriterAdvanced2 __RPC_FAR * This,
  4011. /* [in] */ DWORD dwSinkNum,
  4012. /* [out] */ IWMWriterSink __RPC_FAR *__RPC_FAR *ppSink);
  4013. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSink )(
  4014. IWMWriterAdvanced2 __RPC_FAR * This,
  4015. /* [in] */ IWMWriterSink __RPC_FAR *pSink);
  4016. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveSink )(
  4017. IWMWriterAdvanced2 __RPC_FAR * This,
  4018. /* [in] */ IWMWriterSink __RPC_FAR *pSink);
  4019. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteStreamSample )(
  4020. IWMWriterAdvanced2 __RPC_FAR * This,
  4021. /* [in] */ WORD wStreamNum,
  4022. /* [in] */ QWORD cnsSampleTime,
  4023. /* [in] */ DWORD msSampleSendTime,
  4024. /* [in] */ QWORD cnsSampleDuration,
  4025. /* [in] */ DWORD dwFlags,
  4026. /* [in] */ INSSBuffer __RPC_FAR *pSample);
  4027. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLiveSource )(
  4028. IWMWriterAdvanced2 __RPC_FAR * This,
  4029. BOOL fIsLiveSource);
  4030. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsRealTime )(
  4031. IWMWriterAdvanced2 __RPC_FAR * This,
  4032. /* [out] */ BOOL __RPC_FAR *pfRealTime);
  4033. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetWriterTime )(
  4034. IWMWriterAdvanced2 __RPC_FAR * This,
  4035. /* [out] */ QWORD __RPC_FAR *pcnsCurrentTime);
  4036. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatistics )(
  4037. IWMWriterAdvanced2 __RPC_FAR * This,
  4038. /* [in] */ WORD wStreamNum,
  4039. /* [out] */ WM_WRITER_STATISTICS __RPC_FAR *pStats);
  4040. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSyncTolerance )(
  4041. IWMWriterAdvanced2 __RPC_FAR * This,
  4042. /* [in] */ DWORD msWindow);
  4043. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSyncTolerance )(
  4044. IWMWriterAdvanced2 __RPC_FAR * This,
  4045. /* [out] */ DWORD __RPC_FAR *pmsWindow);
  4046. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInputSetting )(
  4047. IWMWriterAdvanced2 __RPC_FAR * This,
  4048. /* [in] */ DWORD dwInputNum,
  4049. /* [in] */ LPCWSTR pszName,
  4050. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  4051. /* [out] */ BYTE __RPC_FAR *pValue,
  4052. /* [out][in] */ WORD __RPC_FAR *pcbLength);
  4053. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetInputSetting )(
  4054. IWMWriterAdvanced2 __RPC_FAR * This,
  4055. /* [in] */ DWORD dwInputNum,
  4056. /* [in] */ LPCWSTR pszName,
  4057. /* [in] */ WMT_ATTR_DATATYPE Type,
  4058. /* [in] */ const BYTE __RPC_FAR *pValue,
  4059. /* [in] */ WORD cbLength);
  4060. END_INTERFACE
  4061. } IWMWriterAdvanced2Vtbl;
  4062. interface IWMWriterAdvanced2
  4063. {
  4064. CONST_VTBL struct IWMWriterAdvanced2Vtbl __RPC_FAR *lpVtbl;
  4065. };
  4066. #ifdef COBJMACROS
  4067. #define IWMWriterAdvanced2_QueryInterface(This,riid,ppvObject) \
  4068. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4069. #define IWMWriterAdvanced2_AddRef(This) \
  4070. (This)->lpVtbl -> AddRef(This)
  4071. #define IWMWriterAdvanced2_Release(This) \
  4072. (This)->lpVtbl -> Release(This)
  4073. #define IWMWriterAdvanced2_GetSinkCount(This,pcSinks) \
  4074. (This)->lpVtbl -> GetSinkCount(This,pcSinks)
  4075. #define IWMWriterAdvanced2_GetSink(This,dwSinkNum,ppSink) \
  4076. (This)->lpVtbl -> GetSink(This,dwSinkNum,ppSink)
  4077. #define IWMWriterAdvanced2_AddSink(This,pSink) \
  4078. (This)->lpVtbl -> AddSink(This,pSink)
  4079. #define IWMWriterAdvanced2_RemoveSink(This,pSink) \
  4080. (This)->lpVtbl -> RemoveSink(This,pSink)
  4081. #define IWMWriterAdvanced2_WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample) \
  4082. (This)->lpVtbl -> WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample)
  4083. #define IWMWriterAdvanced2_SetLiveSource(This,fIsLiveSource) \
  4084. (This)->lpVtbl -> SetLiveSource(This,fIsLiveSource)
  4085. #define IWMWriterAdvanced2_IsRealTime(This,pfRealTime) \
  4086. (This)->lpVtbl -> IsRealTime(This,pfRealTime)
  4087. #define IWMWriterAdvanced2_GetWriterTime(This,pcnsCurrentTime) \
  4088. (This)->lpVtbl -> GetWriterTime(This,pcnsCurrentTime)
  4089. #define IWMWriterAdvanced2_GetStatistics(This,wStreamNum,pStats) \
  4090. (This)->lpVtbl -> GetStatistics(This,wStreamNum,pStats)
  4091. #define IWMWriterAdvanced2_SetSyncTolerance(This,msWindow) \
  4092. (This)->lpVtbl -> SetSyncTolerance(This,msWindow)
  4093. #define IWMWriterAdvanced2_GetSyncTolerance(This,pmsWindow) \
  4094. (This)->lpVtbl -> GetSyncTolerance(This,pmsWindow)
  4095. #define IWMWriterAdvanced2_GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength) \
  4096. (This)->lpVtbl -> GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength)
  4097. #define IWMWriterAdvanced2_SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength) \
  4098. (This)->lpVtbl -> SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength)
  4099. #endif /* COBJMACROS */
  4100. #endif /* C style interface */
  4101. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced2_GetInputSetting_Proxy(
  4102. IWMWriterAdvanced2 __RPC_FAR * This,
  4103. /* [in] */ DWORD dwInputNum,
  4104. /* [in] */ LPCWSTR pszName,
  4105. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  4106. /* [out] */ BYTE __RPC_FAR *pValue,
  4107. /* [out][in] */ WORD __RPC_FAR *pcbLength);
  4108. void __RPC_STUB IWMWriterAdvanced2_GetInputSetting_Stub(
  4109. IRpcStubBuffer *This,
  4110. IRpcChannelBuffer *_pRpcChannelBuffer,
  4111. PRPC_MESSAGE _pRpcMessage,
  4112. DWORD *_pdwStubPhase);
  4113. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced2_SetInputSetting_Proxy(
  4114. IWMWriterAdvanced2 __RPC_FAR * This,
  4115. /* [in] */ DWORD dwInputNum,
  4116. /* [in] */ LPCWSTR pszName,
  4117. /* [in] */ WMT_ATTR_DATATYPE Type,
  4118. /* [in] */ const BYTE __RPC_FAR *pValue,
  4119. /* [in] */ WORD cbLength);
  4120. void __RPC_STUB IWMWriterAdvanced2_SetInputSetting_Stub(
  4121. IRpcStubBuffer *This,
  4122. IRpcChannelBuffer *_pRpcChannelBuffer,
  4123. PRPC_MESSAGE _pRpcMessage,
  4124. DWORD *_pdwStubPhase);
  4125. #endif /* __IWMWriterAdvanced2_INTERFACE_DEFINED__ */
  4126. #ifndef __IWMWriterPostViewCallback_INTERFACE_DEFINED__
  4127. #define __IWMWriterPostViewCallback_INTERFACE_DEFINED__
  4128. /* interface IWMWriterPostViewCallback */
  4129. /* [local][unique][helpstring][uuid][object] */
  4130. EXTERN_C const IID IID_IWMWriterPostViewCallback;
  4131. #if defined(__cplusplus) && !defined(CINTERFACE)
  4132. MIDL_INTERFACE("D9D6549D-A193-4f24-B308-03123D9B7F8D")
  4133. IWMWriterPostViewCallback : public IWMStatusCallback
  4134. {
  4135. public:
  4136. virtual HRESULT STDMETHODCALLTYPE OnPostViewSample(
  4137. /* [in] */ WORD wStreamNumber,
  4138. /* [in] */ QWORD cnsSampleTime,
  4139. /* [in] */ QWORD cnsSampleDuration,
  4140. /* [in] */ DWORD dwFlags,
  4141. /* [in] */ INSSBuffer __RPC_FAR *pSample,
  4142. /* [in] */ void __RPC_FAR *pvContext) = 0;
  4143. virtual HRESULT STDMETHODCALLTYPE AllocateForPostView(
  4144. /* [in] */ WORD wStreamNum,
  4145. /* [in] */ DWORD cbBuffer,
  4146. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  4147. /* [in] */ void __RPC_FAR *pvContext) = 0;
  4148. };
  4149. #else /* C style interface */
  4150. typedef struct IWMWriterPostViewCallbackVtbl
  4151. {
  4152. BEGIN_INTERFACE
  4153. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  4154. IWMWriterPostViewCallback __RPC_FAR * This,
  4155. /* [in] */ REFIID riid,
  4156. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4157. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  4158. IWMWriterPostViewCallback __RPC_FAR * This);
  4159. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  4160. IWMWriterPostViewCallback __RPC_FAR * This);
  4161. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnStatus )(
  4162. IWMWriterPostViewCallback __RPC_FAR * This,
  4163. /* [in] */ WMT_STATUS Status,
  4164. /* [in] */ HRESULT hr,
  4165. /* [in] */ WMT_ATTR_DATATYPE dwType,
  4166. /* [in] */ BYTE __RPC_FAR *pValue,
  4167. /* [in] */ void __RPC_FAR *pvContext);
  4168. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnPostViewSample )(
  4169. IWMWriterPostViewCallback __RPC_FAR * This,
  4170. /* [in] */ WORD wStreamNumber,
  4171. /* [in] */ QWORD cnsSampleTime,
  4172. /* [in] */ QWORD cnsSampleDuration,
  4173. /* [in] */ DWORD dwFlags,
  4174. /* [in] */ INSSBuffer __RPC_FAR *pSample,
  4175. /* [in] */ void __RPC_FAR *pvContext);
  4176. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateForPostView )(
  4177. IWMWriterPostViewCallback __RPC_FAR * This,
  4178. /* [in] */ WORD wStreamNum,
  4179. /* [in] */ DWORD cbBuffer,
  4180. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  4181. /* [in] */ void __RPC_FAR *pvContext);
  4182. END_INTERFACE
  4183. } IWMWriterPostViewCallbackVtbl;
  4184. interface IWMWriterPostViewCallback
  4185. {
  4186. CONST_VTBL struct IWMWriterPostViewCallbackVtbl __RPC_FAR *lpVtbl;
  4187. };
  4188. #ifdef COBJMACROS
  4189. #define IWMWriterPostViewCallback_QueryInterface(This,riid,ppvObject) \
  4190. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4191. #define IWMWriterPostViewCallback_AddRef(This) \
  4192. (This)->lpVtbl -> AddRef(This)
  4193. #define IWMWriterPostViewCallback_Release(This) \
  4194. (This)->lpVtbl -> Release(This)
  4195. #define IWMWriterPostViewCallback_OnStatus(This,Status,hr,dwType,pValue,pvContext) \
  4196. (This)->lpVtbl -> OnStatus(This,Status,hr,dwType,pValue,pvContext)
  4197. #define IWMWriterPostViewCallback_OnPostViewSample(This,wStreamNumber,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext) \
  4198. (This)->lpVtbl -> OnPostViewSample(This,wStreamNumber,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext)
  4199. #define IWMWriterPostViewCallback_AllocateForPostView(This,wStreamNum,cbBuffer,ppBuffer,pvContext) \
  4200. (This)->lpVtbl -> AllocateForPostView(This,wStreamNum,cbBuffer,ppBuffer,pvContext)
  4201. #endif /* COBJMACROS */
  4202. #endif /* C style interface */
  4203. HRESULT STDMETHODCALLTYPE IWMWriterPostViewCallback_OnPostViewSample_Proxy(
  4204. IWMWriterPostViewCallback __RPC_FAR * This,
  4205. /* [in] */ WORD wStreamNumber,
  4206. /* [in] */ QWORD cnsSampleTime,
  4207. /* [in] */ QWORD cnsSampleDuration,
  4208. /* [in] */ DWORD dwFlags,
  4209. /* [in] */ INSSBuffer __RPC_FAR *pSample,
  4210. /* [in] */ void __RPC_FAR *pvContext);
  4211. void __RPC_STUB IWMWriterPostViewCallback_OnPostViewSample_Stub(
  4212. IRpcStubBuffer *This,
  4213. IRpcChannelBuffer *_pRpcChannelBuffer,
  4214. PRPC_MESSAGE _pRpcMessage,
  4215. DWORD *_pdwStubPhase);
  4216. HRESULT STDMETHODCALLTYPE IWMWriterPostViewCallback_AllocateForPostView_Proxy(
  4217. IWMWriterPostViewCallback __RPC_FAR * This,
  4218. /* [in] */ WORD wStreamNum,
  4219. /* [in] */ DWORD cbBuffer,
  4220. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  4221. /* [in] */ void __RPC_FAR *pvContext);
  4222. void __RPC_STUB IWMWriterPostViewCallback_AllocateForPostView_Stub(
  4223. IRpcStubBuffer *This,
  4224. IRpcChannelBuffer *_pRpcChannelBuffer,
  4225. PRPC_MESSAGE _pRpcMessage,
  4226. DWORD *_pdwStubPhase);
  4227. #endif /* __IWMWriterPostViewCallback_INTERFACE_DEFINED__ */
  4228. #ifndef __IWMWriterPostView_INTERFACE_DEFINED__
  4229. #define __IWMWriterPostView_INTERFACE_DEFINED__
  4230. /* interface IWMWriterPostView */
  4231. /* [local][unique][helpstring][uuid][object] */
  4232. EXTERN_C const IID IID_IWMWriterPostView;
  4233. #if defined(__cplusplus) && !defined(CINTERFACE)
  4234. MIDL_INTERFACE("81E20CE4-75EF-491a-8004-FC53C45BDC3E")
  4235. IWMWriterPostView : public IUnknown
  4236. {
  4237. public:
  4238. virtual HRESULT STDMETHODCALLTYPE SetPostViewCallback(
  4239. IWMWriterPostViewCallback __RPC_FAR *pCallback,
  4240. void __RPC_FAR *pvContext) = 0;
  4241. virtual HRESULT STDMETHODCALLTYPE SetReceivePostViewSamples(
  4242. /* [in] */ WORD wStreamNum,
  4243. /* [in] */ BOOL fReceivePostViewSamples) = 0;
  4244. virtual HRESULT STDMETHODCALLTYPE GetReceivePostViewSamples(
  4245. /* [in] */ WORD wStreamNum,
  4246. /* [out] */ BOOL __RPC_FAR *pfReceivePostViewSamples) = 0;
  4247. virtual HRESULT STDMETHODCALLTYPE GetPostViewProps(
  4248. /* [in] */ WORD wStreamNumber,
  4249. /* [out] */ IWMMediaProps __RPC_FAR *__RPC_FAR *ppOutput) = 0;
  4250. virtual HRESULT STDMETHODCALLTYPE SetPostViewProps(
  4251. /* [in] */ WORD wStreamNumber,
  4252. /* [in] */ IWMMediaProps __RPC_FAR *pOutput) = 0;
  4253. virtual HRESULT STDMETHODCALLTYPE GetPostViewFormatCount(
  4254. /* [in] */ WORD wStreamNumber,
  4255. /* [out] */ DWORD __RPC_FAR *pcFormats) = 0;
  4256. virtual HRESULT STDMETHODCALLTYPE GetPostViewFormat(
  4257. /* [in] */ WORD wStreamNumber,
  4258. /* [in] */ DWORD dwFormatNumber,
  4259. /* [out] */ IWMMediaProps __RPC_FAR *__RPC_FAR *ppProps) = 0;
  4260. virtual HRESULT STDMETHODCALLTYPE SetAllocateForPostView(
  4261. /* [in] */ WORD wStreamNumber,
  4262. /* [in] */ BOOL fAllocate) = 0;
  4263. virtual HRESULT STDMETHODCALLTYPE GetAllocateForPostView(
  4264. /* [in] */ WORD wStreamNumber,
  4265. /* [out] */ BOOL __RPC_FAR *pfAllocate) = 0;
  4266. };
  4267. #else /* C style interface */
  4268. typedef struct IWMWriterPostViewVtbl
  4269. {
  4270. BEGIN_INTERFACE
  4271. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  4272. IWMWriterPostView __RPC_FAR * This,
  4273. /* [in] */ REFIID riid,
  4274. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4275. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  4276. IWMWriterPostView __RPC_FAR * This);
  4277. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  4278. IWMWriterPostView __RPC_FAR * This);
  4279. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPostViewCallback )(
  4280. IWMWriterPostView __RPC_FAR * This,
  4281. IWMWriterPostViewCallback __RPC_FAR *pCallback,
  4282. void __RPC_FAR *pvContext);
  4283. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetReceivePostViewSamples )(
  4284. IWMWriterPostView __RPC_FAR * This,
  4285. /* [in] */ WORD wStreamNum,
  4286. /* [in] */ BOOL fReceivePostViewSamples);
  4287. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetReceivePostViewSamples )(
  4288. IWMWriterPostView __RPC_FAR * This,
  4289. /* [in] */ WORD wStreamNum,
  4290. /* [out] */ BOOL __RPC_FAR *pfReceivePostViewSamples);
  4291. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPostViewProps )(
  4292. IWMWriterPostView __RPC_FAR * This,
  4293. /* [in] */ WORD wStreamNumber,
  4294. /* [out] */ IWMMediaProps __RPC_FAR *__RPC_FAR *ppOutput);
  4295. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPostViewProps )(
  4296. IWMWriterPostView __RPC_FAR * This,
  4297. /* [in] */ WORD wStreamNumber,
  4298. /* [in] */ IWMMediaProps __RPC_FAR *pOutput);
  4299. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPostViewFormatCount )(
  4300. IWMWriterPostView __RPC_FAR * This,
  4301. /* [in] */ WORD wStreamNumber,
  4302. /* [out] */ DWORD __RPC_FAR *pcFormats);
  4303. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPostViewFormat )(
  4304. IWMWriterPostView __RPC_FAR * This,
  4305. /* [in] */ WORD wStreamNumber,
  4306. /* [in] */ DWORD dwFormatNumber,
  4307. /* [out] */ IWMMediaProps __RPC_FAR *__RPC_FAR *ppProps);
  4308. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAllocateForPostView )(
  4309. IWMWriterPostView __RPC_FAR * This,
  4310. /* [in] */ WORD wStreamNumber,
  4311. /* [in] */ BOOL fAllocate);
  4312. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllocateForPostView )(
  4313. IWMWriterPostView __RPC_FAR * This,
  4314. /* [in] */ WORD wStreamNumber,
  4315. /* [out] */ BOOL __RPC_FAR *pfAllocate);
  4316. END_INTERFACE
  4317. } IWMWriterPostViewVtbl;
  4318. interface IWMWriterPostView
  4319. {
  4320. CONST_VTBL struct IWMWriterPostViewVtbl __RPC_FAR *lpVtbl;
  4321. };
  4322. #ifdef COBJMACROS
  4323. #define IWMWriterPostView_QueryInterface(This,riid,ppvObject) \
  4324. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4325. #define IWMWriterPostView_AddRef(This) \
  4326. (This)->lpVtbl -> AddRef(This)
  4327. #define IWMWriterPostView_Release(This) \
  4328. (This)->lpVtbl -> Release(This)
  4329. #define IWMWriterPostView_SetPostViewCallback(This,pCallback,pvContext) \
  4330. (This)->lpVtbl -> SetPostViewCallback(This,pCallback,pvContext)
  4331. #define IWMWriterPostView_SetReceivePostViewSamples(This,wStreamNum,fReceivePostViewSamples) \
  4332. (This)->lpVtbl -> SetReceivePostViewSamples(This,wStreamNum,fReceivePostViewSamples)
  4333. #define IWMWriterPostView_GetReceivePostViewSamples(This,wStreamNum,pfReceivePostViewSamples) \
  4334. (This)->lpVtbl -> GetReceivePostViewSamples(This,wStreamNum,pfReceivePostViewSamples)
  4335. #define IWMWriterPostView_GetPostViewProps(This,wStreamNumber,ppOutput) \
  4336. (This)->lpVtbl -> GetPostViewProps(This,wStreamNumber,ppOutput)
  4337. #define IWMWriterPostView_SetPostViewProps(This,wStreamNumber,pOutput) \
  4338. (This)->lpVtbl -> SetPostViewProps(This,wStreamNumber,pOutput)
  4339. #define IWMWriterPostView_GetPostViewFormatCount(This,wStreamNumber,pcFormats) \
  4340. (This)->lpVtbl -> GetPostViewFormatCount(This,wStreamNumber,pcFormats)
  4341. #define IWMWriterPostView_GetPostViewFormat(This,wStreamNumber,dwFormatNumber,ppProps) \
  4342. (This)->lpVtbl -> GetPostViewFormat(This,wStreamNumber,dwFormatNumber,ppProps)
  4343. #define IWMWriterPostView_SetAllocateForPostView(This,wStreamNumber,fAllocate) \
  4344. (This)->lpVtbl -> SetAllocateForPostView(This,wStreamNumber,fAllocate)
  4345. #define IWMWriterPostView_GetAllocateForPostView(This,wStreamNumber,pfAllocate) \
  4346. (This)->lpVtbl -> GetAllocateForPostView(This,wStreamNumber,pfAllocate)
  4347. #endif /* COBJMACROS */
  4348. #endif /* C style interface */
  4349. HRESULT STDMETHODCALLTYPE IWMWriterPostView_SetPostViewCallback_Proxy(
  4350. IWMWriterPostView __RPC_FAR * This,
  4351. IWMWriterPostViewCallback __RPC_FAR *pCallback,
  4352. void __RPC_FAR *pvContext);
  4353. void __RPC_STUB IWMWriterPostView_SetPostViewCallback_Stub(
  4354. IRpcStubBuffer *This,
  4355. IRpcChannelBuffer *_pRpcChannelBuffer,
  4356. PRPC_MESSAGE _pRpcMessage,
  4357. DWORD *_pdwStubPhase);
  4358. HRESULT STDMETHODCALLTYPE IWMWriterPostView_SetReceivePostViewSamples_Proxy(
  4359. IWMWriterPostView __RPC_FAR * This,
  4360. /* [in] */ WORD wStreamNum,
  4361. /* [in] */ BOOL fReceivePostViewSamples);
  4362. void __RPC_STUB IWMWriterPostView_SetReceivePostViewSamples_Stub(
  4363. IRpcStubBuffer *This,
  4364. IRpcChannelBuffer *_pRpcChannelBuffer,
  4365. PRPC_MESSAGE _pRpcMessage,
  4366. DWORD *_pdwStubPhase);
  4367. HRESULT STDMETHODCALLTYPE IWMWriterPostView_GetReceivePostViewSamples_Proxy(
  4368. IWMWriterPostView __RPC_FAR * This,
  4369. /* [in] */ WORD wStreamNum,
  4370. /* [out] */ BOOL __RPC_FAR *pfReceivePostViewSamples);
  4371. void __RPC_STUB IWMWriterPostView_GetReceivePostViewSamples_Stub(
  4372. IRpcStubBuffer *This,
  4373. IRpcChannelBuffer *_pRpcChannelBuffer,
  4374. PRPC_MESSAGE _pRpcMessage,
  4375. DWORD *_pdwStubPhase);
  4376. HRESULT STDMETHODCALLTYPE IWMWriterPostView_GetPostViewProps_Proxy(
  4377. IWMWriterPostView __RPC_FAR * This,
  4378. /* [in] */ WORD wStreamNumber,
  4379. /* [out] */ IWMMediaProps __RPC_FAR *__RPC_FAR *ppOutput);
  4380. void __RPC_STUB IWMWriterPostView_GetPostViewProps_Stub(
  4381. IRpcStubBuffer *This,
  4382. IRpcChannelBuffer *_pRpcChannelBuffer,
  4383. PRPC_MESSAGE _pRpcMessage,
  4384. DWORD *_pdwStubPhase);
  4385. HRESULT STDMETHODCALLTYPE IWMWriterPostView_SetPostViewProps_Proxy(
  4386. IWMWriterPostView __RPC_FAR * This,
  4387. /* [in] */ WORD wStreamNumber,
  4388. /* [in] */ IWMMediaProps __RPC_FAR *pOutput);
  4389. void __RPC_STUB IWMWriterPostView_SetPostViewProps_Stub(
  4390. IRpcStubBuffer *This,
  4391. IRpcChannelBuffer *_pRpcChannelBuffer,
  4392. PRPC_MESSAGE _pRpcMessage,
  4393. DWORD *_pdwStubPhase);
  4394. HRESULT STDMETHODCALLTYPE IWMWriterPostView_GetPostViewFormatCount_Proxy(
  4395. IWMWriterPostView __RPC_FAR * This,
  4396. /* [in] */ WORD wStreamNumber,
  4397. /* [out] */ DWORD __RPC_FAR *pcFormats);
  4398. void __RPC_STUB IWMWriterPostView_GetPostViewFormatCount_Stub(
  4399. IRpcStubBuffer *This,
  4400. IRpcChannelBuffer *_pRpcChannelBuffer,
  4401. PRPC_MESSAGE _pRpcMessage,
  4402. DWORD *_pdwStubPhase);
  4403. HRESULT STDMETHODCALLTYPE IWMWriterPostView_GetPostViewFormat_Proxy(
  4404. IWMWriterPostView __RPC_FAR * This,
  4405. /* [in] */ WORD wStreamNumber,
  4406. /* [in] */ DWORD dwFormatNumber,
  4407. /* [out] */ IWMMediaProps __RPC_FAR *__RPC_FAR *ppProps);
  4408. void __RPC_STUB IWMWriterPostView_GetPostViewFormat_Stub(
  4409. IRpcStubBuffer *This,
  4410. IRpcChannelBuffer *_pRpcChannelBuffer,
  4411. PRPC_MESSAGE _pRpcMessage,
  4412. DWORD *_pdwStubPhase);
  4413. HRESULT STDMETHODCALLTYPE IWMWriterPostView_SetAllocateForPostView_Proxy(
  4414. IWMWriterPostView __RPC_FAR * This,
  4415. /* [in] */ WORD wStreamNumber,
  4416. /* [in] */ BOOL fAllocate);
  4417. void __RPC_STUB IWMWriterPostView_SetAllocateForPostView_Stub(
  4418. IRpcStubBuffer *This,
  4419. IRpcChannelBuffer *_pRpcChannelBuffer,
  4420. PRPC_MESSAGE _pRpcMessage,
  4421. DWORD *_pdwStubPhase);
  4422. HRESULT STDMETHODCALLTYPE IWMWriterPostView_GetAllocateForPostView_Proxy(
  4423. IWMWriterPostView __RPC_FAR * This,
  4424. /* [in] */ WORD wStreamNumber,
  4425. /* [out] */ BOOL __RPC_FAR *pfAllocate);
  4426. void __RPC_STUB IWMWriterPostView_GetAllocateForPostView_Stub(
  4427. IRpcStubBuffer *This,
  4428. IRpcChannelBuffer *_pRpcChannelBuffer,
  4429. PRPC_MESSAGE _pRpcMessage,
  4430. DWORD *_pdwStubPhase);
  4431. #endif /* __IWMWriterPostView_INTERFACE_DEFINED__ */
  4432. #ifndef __IWMWriterSink_INTERFACE_DEFINED__
  4433. #define __IWMWriterSink_INTERFACE_DEFINED__
  4434. /* interface IWMWriterSink */
  4435. /* [local][unique][helpstring][uuid][object] */
  4436. EXTERN_C const IID IID_IWMWriterSink;
  4437. #if defined(__cplusplus) && !defined(CINTERFACE)
  4438. MIDL_INTERFACE("96406BE4-2B2B-11d3-B36B-00C04F6108FF")
  4439. IWMWriterSink : public IUnknown
  4440. {
  4441. public:
  4442. virtual HRESULT STDMETHODCALLTYPE OnHeader(
  4443. /* [in] */ INSSBuffer __RPC_FAR *pHeader) = 0;
  4444. virtual HRESULT STDMETHODCALLTYPE IsRealTime(
  4445. /* [out] */ BOOL __RPC_FAR *pfRealTime) = 0;
  4446. virtual HRESULT STDMETHODCALLTYPE AllocateDataUnit(
  4447. /* [in] */ DWORD cbDataUnit,
  4448. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppDataUnit) = 0;
  4449. virtual HRESULT STDMETHODCALLTYPE OnDataUnit(
  4450. /* [in] */ INSSBuffer __RPC_FAR *pDataUnit) = 0;
  4451. virtual HRESULT STDMETHODCALLTYPE OnEndWriting( void) = 0;
  4452. };
  4453. #else /* C style interface */
  4454. typedef struct IWMWriterSinkVtbl
  4455. {
  4456. BEGIN_INTERFACE
  4457. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  4458. IWMWriterSink __RPC_FAR * This,
  4459. /* [in] */ REFIID riid,
  4460. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4461. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  4462. IWMWriterSink __RPC_FAR * This);
  4463. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  4464. IWMWriterSink __RPC_FAR * This);
  4465. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnHeader )(
  4466. IWMWriterSink __RPC_FAR * This,
  4467. /* [in] */ INSSBuffer __RPC_FAR *pHeader);
  4468. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsRealTime )(
  4469. IWMWriterSink __RPC_FAR * This,
  4470. /* [out] */ BOOL __RPC_FAR *pfRealTime);
  4471. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateDataUnit )(
  4472. IWMWriterSink __RPC_FAR * This,
  4473. /* [in] */ DWORD cbDataUnit,
  4474. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppDataUnit);
  4475. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnDataUnit )(
  4476. IWMWriterSink __RPC_FAR * This,
  4477. /* [in] */ INSSBuffer __RPC_FAR *pDataUnit);
  4478. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnEndWriting )(
  4479. IWMWriterSink __RPC_FAR * This);
  4480. END_INTERFACE
  4481. } IWMWriterSinkVtbl;
  4482. interface IWMWriterSink
  4483. {
  4484. CONST_VTBL struct IWMWriterSinkVtbl __RPC_FAR *lpVtbl;
  4485. };
  4486. #ifdef COBJMACROS
  4487. #define IWMWriterSink_QueryInterface(This,riid,ppvObject) \
  4488. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4489. #define IWMWriterSink_AddRef(This) \
  4490. (This)->lpVtbl -> AddRef(This)
  4491. #define IWMWriterSink_Release(This) \
  4492. (This)->lpVtbl -> Release(This)
  4493. #define IWMWriterSink_OnHeader(This,pHeader) \
  4494. (This)->lpVtbl -> OnHeader(This,pHeader)
  4495. #define IWMWriterSink_IsRealTime(This,pfRealTime) \
  4496. (This)->lpVtbl -> IsRealTime(This,pfRealTime)
  4497. #define IWMWriterSink_AllocateDataUnit(This,cbDataUnit,ppDataUnit) \
  4498. (This)->lpVtbl -> AllocateDataUnit(This,cbDataUnit,ppDataUnit)
  4499. #define IWMWriterSink_OnDataUnit(This,pDataUnit) \
  4500. (This)->lpVtbl -> OnDataUnit(This,pDataUnit)
  4501. #define IWMWriterSink_OnEndWriting(This) \
  4502. (This)->lpVtbl -> OnEndWriting(This)
  4503. #endif /* COBJMACROS */
  4504. #endif /* C style interface */
  4505. HRESULT STDMETHODCALLTYPE IWMWriterSink_OnHeader_Proxy(
  4506. IWMWriterSink __RPC_FAR * This,
  4507. /* [in] */ INSSBuffer __RPC_FAR *pHeader);
  4508. void __RPC_STUB IWMWriterSink_OnHeader_Stub(
  4509. IRpcStubBuffer *This,
  4510. IRpcChannelBuffer *_pRpcChannelBuffer,
  4511. PRPC_MESSAGE _pRpcMessage,
  4512. DWORD *_pdwStubPhase);
  4513. HRESULT STDMETHODCALLTYPE IWMWriterSink_IsRealTime_Proxy(
  4514. IWMWriterSink __RPC_FAR * This,
  4515. /* [out] */ BOOL __RPC_FAR *pfRealTime);
  4516. void __RPC_STUB IWMWriterSink_IsRealTime_Stub(
  4517. IRpcStubBuffer *This,
  4518. IRpcChannelBuffer *_pRpcChannelBuffer,
  4519. PRPC_MESSAGE _pRpcMessage,
  4520. DWORD *_pdwStubPhase);
  4521. HRESULT STDMETHODCALLTYPE IWMWriterSink_AllocateDataUnit_Proxy(
  4522. IWMWriterSink __RPC_FAR * This,
  4523. /* [in] */ DWORD cbDataUnit,
  4524. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppDataUnit);
  4525. void __RPC_STUB IWMWriterSink_AllocateDataUnit_Stub(
  4526. IRpcStubBuffer *This,
  4527. IRpcChannelBuffer *_pRpcChannelBuffer,
  4528. PRPC_MESSAGE _pRpcMessage,
  4529. DWORD *_pdwStubPhase);
  4530. HRESULT STDMETHODCALLTYPE IWMWriterSink_OnDataUnit_Proxy(
  4531. IWMWriterSink __RPC_FAR * This,
  4532. /* [in] */ INSSBuffer __RPC_FAR *pDataUnit);
  4533. void __RPC_STUB IWMWriterSink_OnDataUnit_Stub(
  4534. IRpcStubBuffer *This,
  4535. IRpcChannelBuffer *_pRpcChannelBuffer,
  4536. PRPC_MESSAGE _pRpcMessage,
  4537. DWORD *_pdwStubPhase);
  4538. HRESULT STDMETHODCALLTYPE IWMWriterSink_OnEndWriting_Proxy(
  4539. IWMWriterSink __RPC_FAR * This);
  4540. void __RPC_STUB IWMWriterSink_OnEndWriting_Stub(
  4541. IRpcStubBuffer *This,
  4542. IRpcChannelBuffer *_pRpcChannelBuffer,
  4543. PRPC_MESSAGE _pRpcMessage,
  4544. DWORD *_pdwStubPhase);
  4545. #endif /* __IWMWriterSink_INTERFACE_DEFINED__ */
  4546. #ifndef __IWMRegisterCallback_INTERFACE_DEFINED__
  4547. #define __IWMRegisterCallback_INTERFACE_DEFINED__
  4548. /* interface IWMRegisterCallback */
  4549. /* [local][unique][helpstring][uuid][object] */
  4550. EXTERN_C const IID IID_IWMRegisterCallback;
  4551. #if defined(__cplusplus) && !defined(CINTERFACE)
  4552. MIDL_INTERFACE("CF4B1F99-4DE2-4e49-A363-252740D99BC1")
  4553. IWMRegisterCallback : public IUnknown
  4554. {
  4555. public:
  4556. virtual HRESULT STDMETHODCALLTYPE Advise(
  4557. /* [in] */ IWMStatusCallback __RPC_FAR *pCallback,
  4558. /* [in] */ void __RPC_FAR *pvContext) = 0;
  4559. virtual HRESULT STDMETHODCALLTYPE Unadvise(
  4560. /* [in] */ IWMStatusCallback __RPC_FAR *pCallback,
  4561. /* [in] */ void __RPC_FAR *pvContext) = 0;
  4562. };
  4563. #else /* C style interface */
  4564. typedef struct IWMRegisterCallbackVtbl
  4565. {
  4566. BEGIN_INTERFACE
  4567. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  4568. IWMRegisterCallback __RPC_FAR * This,
  4569. /* [in] */ REFIID riid,
  4570. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4571. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  4572. IWMRegisterCallback __RPC_FAR * This);
  4573. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  4574. IWMRegisterCallback __RPC_FAR * This);
  4575. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Advise )(
  4576. IWMRegisterCallback __RPC_FAR * This,
  4577. /* [in] */ IWMStatusCallback __RPC_FAR *pCallback,
  4578. /* [in] */ void __RPC_FAR *pvContext);
  4579. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Unadvise )(
  4580. IWMRegisterCallback __RPC_FAR * This,
  4581. /* [in] */ IWMStatusCallback __RPC_FAR *pCallback,
  4582. /* [in] */ void __RPC_FAR *pvContext);
  4583. END_INTERFACE
  4584. } IWMRegisterCallbackVtbl;
  4585. interface IWMRegisterCallback
  4586. {
  4587. CONST_VTBL struct IWMRegisterCallbackVtbl __RPC_FAR *lpVtbl;
  4588. };
  4589. #ifdef COBJMACROS
  4590. #define IWMRegisterCallback_QueryInterface(This,riid,ppvObject) \
  4591. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4592. #define IWMRegisterCallback_AddRef(This) \
  4593. (This)->lpVtbl -> AddRef(This)
  4594. #define IWMRegisterCallback_Release(This) \
  4595. (This)->lpVtbl -> Release(This)
  4596. #define IWMRegisterCallback_Advise(This,pCallback,pvContext) \
  4597. (This)->lpVtbl -> Advise(This,pCallback,pvContext)
  4598. #define IWMRegisterCallback_Unadvise(This,pCallback,pvContext) \
  4599. (This)->lpVtbl -> Unadvise(This,pCallback,pvContext)
  4600. #endif /* COBJMACROS */
  4601. #endif /* C style interface */
  4602. HRESULT STDMETHODCALLTYPE IWMRegisterCallback_Advise_Proxy(
  4603. IWMRegisterCallback __RPC_FAR * This,
  4604. /* [in] */ IWMStatusCallback __RPC_FAR *pCallback,
  4605. /* [in] */ void __RPC_FAR *pvContext);
  4606. void __RPC_STUB IWMRegisterCallback_Advise_Stub(
  4607. IRpcStubBuffer *This,
  4608. IRpcChannelBuffer *_pRpcChannelBuffer,
  4609. PRPC_MESSAGE _pRpcMessage,
  4610. DWORD *_pdwStubPhase);
  4611. HRESULT STDMETHODCALLTYPE IWMRegisterCallback_Unadvise_Proxy(
  4612. IWMRegisterCallback __RPC_FAR * This,
  4613. /* [in] */ IWMStatusCallback __RPC_FAR *pCallback,
  4614. /* [in] */ void __RPC_FAR *pvContext);
  4615. void __RPC_STUB IWMRegisterCallback_Unadvise_Stub(
  4616. IRpcStubBuffer *This,
  4617. IRpcChannelBuffer *_pRpcChannelBuffer,
  4618. PRPC_MESSAGE _pRpcMessage,
  4619. DWORD *_pdwStubPhase);
  4620. #endif /* __IWMRegisterCallback_INTERFACE_DEFINED__ */
  4621. #ifndef __IWMWriterFileSink_INTERFACE_DEFINED__
  4622. #define __IWMWriterFileSink_INTERFACE_DEFINED__
  4623. /* interface IWMWriterFileSink */
  4624. /* [local][unique][helpstring][uuid][object] */
  4625. EXTERN_C const IID IID_IWMWriterFileSink;
  4626. #if defined(__cplusplus) && !defined(CINTERFACE)
  4627. MIDL_INTERFACE("96406BE5-2B2B-11d3-B36B-00C04F6108FF")
  4628. IWMWriterFileSink : public IWMWriterSink
  4629. {
  4630. public:
  4631. virtual HRESULT STDMETHODCALLTYPE Open(
  4632. /* [in] */ const WCHAR __RPC_FAR *pwszFilename) = 0;
  4633. };
  4634. #else /* C style interface */
  4635. typedef struct IWMWriterFileSinkVtbl
  4636. {
  4637. BEGIN_INTERFACE
  4638. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  4639. IWMWriterFileSink __RPC_FAR * This,
  4640. /* [in] */ REFIID riid,
  4641. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4642. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  4643. IWMWriterFileSink __RPC_FAR * This);
  4644. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  4645. IWMWriterFileSink __RPC_FAR * This);
  4646. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnHeader )(
  4647. IWMWriterFileSink __RPC_FAR * This,
  4648. /* [in] */ INSSBuffer __RPC_FAR *pHeader);
  4649. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsRealTime )(
  4650. IWMWriterFileSink __RPC_FAR * This,
  4651. /* [out] */ BOOL __RPC_FAR *pfRealTime);
  4652. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateDataUnit )(
  4653. IWMWriterFileSink __RPC_FAR * This,
  4654. /* [in] */ DWORD cbDataUnit,
  4655. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppDataUnit);
  4656. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnDataUnit )(
  4657. IWMWriterFileSink __RPC_FAR * This,
  4658. /* [in] */ INSSBuffer __RPC_FAR *pDataUnit);
  4659. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnEndWriting )(
  4660. IWMWriterFileSink __RPC_FAR * This);
  4661. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )(
  4662. IWMWriterFileSink __RPC_FAR * This,
  4663. /* [in] */ const WCHAR __RPC_FAR *pwszFilename);
  4664. END_INTERFACE
  4665. } IWMWriterFileSinkVtbl;
  4666. interface IWMWriterFileSink
  4667. {
  4668. CONST_VTBL struct IWMWriterFileSinkVtbl __RPC_FAR *lpVtbl;
  4669. };
  4670. #ifdef COBJMACROS
  4671. #define IWMWriterFileSink_QueryInterface(This,riid,ppvObject) \
  4672. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4673. #define IWMWriterFileSink_AddRef(This) \
  4674. (This)->lpVtbl -> AddRef(This)
  4675. #define IWMWriterFileSink_Release(This) \
  4676. (This)->lpVtbl -> Release(This)
  4677. #define IWMWriterFileSink_OnHeader(This,pHeader) \
  4678. (This)->lpVtbl -> OnHeader(This,pHeader)
  4679. #define IWMWriterFileSink_IsRealTime(This,pfRealTime) \
  4680. (This)->lpVtbl -> IsRealTime(This,pfRealTime)
  4681. #define IWMWriterFileSink_AllocateDataUnit(This,cbDataUnit,ppDataUnit) \
  4682. (This)->lpVtbl -> AllocateDataUnit(This,cbDataUnit,ppDataUnit)
  4683. #define IWMWriterFileSink_OnDataUnit(This,pDataUnit) \
  4684. (This)->lpVtbl -> OnDataUnit(This,pDataUnit)
  4685. #define IWMWriterFileSink_OnEndWriting(This) \
  4686. (This)->lpVtbl -> OnEndWriting(This)
  4687. #define IWMWriterFileSink_Open(This,pwszFilename) \
  4688. (This)->lpVtbl -> Open(This,pwszFilename)
  4689. #endif /* COBJMACROS */
  4690. #endif /* C style interface */
  4691. HRESULT STDMETHODCALLTYPE IWMWriterFileSink_Open_Proxy(
  4692. IWMWriterFileSink __RPC_FAR * This,
  4693. /* [in] */ const WCHAR __RPC_FAR *pwszFilename);
  4694. void __RPC_STUB IWMWriterFileSink_Open_Stub(
  4695. IRpcStubBuffer *This,
  4696. IRpcChannelBuffer *_pRpcChannelBuffer,
  4697. PRPC_MESSAGE _pRpcMessage,
  4698. DWORD *_pdwStubPhase);
  4699. #endif /* __IWMWriterFileSink_INTERFACE_DEFINED__ */
  4700. #ifndef __IWMWriterFileSink2_INTERFACE_DEFINED__
  4701. #define __IWMWriterFileSink2_INTERFACE_DEFINED__
  4702. /* interface IWMWriterFileSink2 */
  4703. /* [local][unique][helpstring][uuid][object] */
  4704. EXTERN_C const IID IID_IWMWriterFileSink2;
  4705. #if defined(__cplusplus) && !defined(CINTERFACE)
  4706. MIDL_INTERFACE("14282BA7-4AEF-4205-8CE5-C229035A05BC")
  4707. IWMWriterFileSink2 : public IWMWriterFileSink
  4708. {
  4709. public:
  4710. virtual HRESULT STDMETHODCALLTYPE Start(
  4711. /* [in] */ QWORD cnsStartTime) = 0;
  4712. virtual HRESULT STDMETHODCALLTYPE Stop(
  4713. /* [in] */ QWORD cnsStopTime) = 0;
  4714. virtual HRESULT STDMETHODCALLTYPE IsStopped(
  4715. /* [out] */ BOOL __RPC_FAR *pfStopped) = 0;
  4716. virtual HRESULT STDMETHODCALLTYPE GetFileDuration(
  4717. /* [out] */ QWORD __RPC_FAR *pcnsDuration) = 0;
  4718. virtual HRESULT STDMETHODCALLTYPE GetFileSize(
  4719. /* [out] */ QWORD __RPC_FAR *pcbFile) = 0;
  4720. virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
  4721. virtual HRESULT STDMETHODCALLTYPE IsClosed(
  4722. /* [out] */ BOOL __RPC_FAR *pfClosed) = 0;
  4723. };
  4724. #else /* C style interface */
  4725. typedef struct IWMWriterFileSink2Vtbl
  4726. {
  4727. BEGIN_INTERFACE
  4728. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  4729. IWMWriterFileSink2 __RPC_FAR * This,
  4730. /* [in] */ REFIID riid,
  4731. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4732. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  4733. IWMWriterFileSink2 __RPC_FAR * This);
  4734. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  4735. IWMWriterFileSink2 __RPC_FAR * This);
  4736. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnHeader )(
  4737. IWMWriterFileSink2 __RPC_FAR * This,
  4738. /* [in] */ INSSBuffer __RPC_FAR *pHeader);
  4739. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsRealTime )(
  4740. IWMWriterFileSink2 __RPC_FAR * This,
  4741. /* [out] */ BOOL __RPC_FAR *pfRealTime);
  4742. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateDataUnit )(
  4743. IWMWriterFileSink2 __RPC_FAR * This,
  4744. /* [in] */ DWORD cbDataUnit,
  4745. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppDataUnit);
  4746. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnDataUnit )(
  4747. IWMWriterFileSink2 __RPC_FAR * This,
  4748. /* [in] */ INSSBuffer __RPC_FAR *pDataUnit);
  4749. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnEndWriting )(
  4750. IWMWriterFileSink2 __RPC_FAR * This);
  4751. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )(
  4752. IWMWriterFileSink2 __RPC_FAR * This,
  4753. /* [in] */ const WCHAR __RPC_FAR *pwszFilename);
  4754. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Start )(
  4755. IWMWriterFileSink2 __RPC_FAR * This,
  4756. /* [in] */ QWORD cnsStartTime);
  4757. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )(
  4758. IWMWriterFileSink2 __RPC_FAR * This,
  4759. /* [in] */ QWORD cnsStopTime);
  4760. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsStopped )(
  4761. IWMWriterFileSink2 __RPC_FAR * This,
  4762. /* [out] */ BOOL __RPC_FAR *pfStopped);
  4763. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFileDuration )(
  4764. IWMWriterFileSink2 __RPC_FAR * This,
  4765. /* [out] */ QWORD __RPC_FAR *pcnsDuration);
  4766. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFileSize )(
  4767. IWMWriterFileSink2 __RPC_FAR * This,
  4768. /* [out] */ QWORD __RPC_FAR *pcbFile);
  4769. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )(
  4770. IWMWriterFileSink2 __RPC_FAR * This);
  4771. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsClosed )(
  4772. IWMWriterFileSink2 __RPC_FAR * This,
  4773. /* [out] */ BOOL __RPC_FAR *pfClosed);
  4774. END_INTERFACE
  4775. } IWMWriterFileSink2Vtbl;
  4776. interface IWMWriterFileSink2
  4777. {
  4778. CONST_VTBL struct IWMWriterFileSink2Vtbl __RPC_FAR *lpVtbl;
  4779. };
  4780. #ifdef COBJMACROS
  4781. #define IWMWriterFileSink2_QueryInterface(This,riid,ppvObject) \
  4782. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4783. #define IWMWriterFileSink2_AddRef(This) \
  4784. (This)->lpVtbl -> AddRef(This)
  4785. #define IWMWriterFileSink2_Release(This) \
  4786. (This)->lpVtbl -> Release(This)
  4787. #define IWMWriterFileSink2_OnHeader(This,pHeader) \
  4788. (This)->lpVtbl -> OnHeader(This,pHeader)
  4789. #define IWMWriterFileSink2_IsRealTime(This,pfRealTime) \
  4790. (This)->lpVtbl -> IsRealTime(This,pfRealTime)
  4791. #define IWMWriterFileSink2_AllocateDataUnit(This,cbDataUnit,ppDataUnit) \
  4792. (This)->lpVtbl -> AllocateDataUnit(This,cbDataUnit,ppDataUnit)
  4793. #define IWMWriterFileSink2_OnDataUnit(This,pDataUnit) \
  4794. (This)->lpVtbl -> OnDataUnit(This,pDataUnit)
  4795. #define IWMWriterFileSink2_OnEndWriting(This) \
  4796. (This)->lpVtbl -> OnEndWriting(This)
  4797. #define IWMWriterFileSink2_Open(This,pwszFilename) \
  4798. (This)->lpVtbl -> Open(This,pwszFilename)
  4799. #define IWMWriterFileSink2_Start(This,cnsStartTime) \
  4800. (This)->lpVtbl -> Start(This,cnsStartTime)
  4801. #define IWMWriterFileSink2_Stop(This,cnsStopTime) \
  4802. (This)->lpVtbl -> Stop(This,cnsStopTime)
  4803. #define IWMWriterFileSink2_IsStopped(This,pfStopped) \
  4804. (This)->lpVtbl -> IsStopped(This,pfStopped)
  4805. #define IWMWriterFileSink2_GetFileDuration(This,pcnsDuration) \
  4806. (This)->lpVtbl -> GetFileDuration(This,pcnsDuration)
  4807. #define IWMWriterFileSink2_GetFileSize(This,pcbFile) \
  4808. (This)->lpVtbl -> GetFileSize(This,pcbFile)
  4809. #define IWMWriterFileSink2_Close(This) \
  4810. (This)->lpVtbl -> Close(This)
  4811. #define IWMWriterFileSink2_IsClosed(This,pfClosed) \
  4812. (This)->lpVtbl -> IsClosed(This,pfClosed)
  4813. #endif /* COBJMACROS */
  4814. #endif /* C style interface */
  4815. HRESULT STDMETHODCALLTYPE IWMWriterFileSink2_Start_Proxy(
  4816. IWMWriterFileSink2 __RPC_FAR * This,
  4817. /* [in] */ QWORD cnsStartTime);
  4818. void __RPC_STUB IWMWriterFileSink2_Start_Stub(
  4819. IRpcStubBuffer *This,
  4820. IRpcChannelBuffer *_pRpcChannelBuffer,
  4821. PRPC_MESSAGE _pRpcMessage,
  4822. DWORD *_pdwStubPhase);
  4823. HRESULT STDMETHODCALLTYPE IWMWriterFileSink2_Stop_Proxy(
  4824. IWMWriterFileSink2 __RPC_FAR * This,
  4825. /* [in] */ QWORD cnsStopTime);
  4826. void __RPC_STUB IWMWriterFileSink2_Stop_Stub(
  4827. IRpcStubBuffer *This,
  4828. IRpcChannelBuffer *_pRpcChannelBuffer,
  4829. PRPC_MESSAGE _pRpcMessage,
  4830. DWORD *_pdwStubPhase);
  4831. HRESULT STDMETHODCALLTYPE IWMWriterFileSink2_IsStopped_Proxy(
  4832. IWMWriterFileSink2 __RPC_FAR * This,
  4833. /* [out] */ BOOL __RPC_FAR *pfStopped);
  4834. void __RPC_STUB IWMWriterFileSink2_IsStopped_Stub(
  4835. IRpcStubBuffer *This,
  4836. IRpcChannelBuffer *_pRpcChannelBuffer,
  4837. PRPC_MESSAGE _pRpcMessage,
  4838. DWORD *_pdwStubPhase);
  4839. HRESULT STDMETHODCALLTYPE IWMWriterFileSink2_GetFileDuration_Proxy(
  4840. IWMWriterFileSink2 __RPC_FAR * This,
  4841. /* [out] */ QWORD __RPC_FAR *pcnsDuration);
  4842. void __RPC_STUB IWMWriterFileSink2_GetFileDuration_Stub(
  4843. IRpcStubBuffer *This,
  4844. IRpcChannelBuffer *_pRpcChannelBuffer,
  4845. PRPC_MESSAGE _pRpcMessage,
  4846. DWORD *_pdwStubPhase);
  4847. HRESULT STDMETHODCALLTYPE IWMWriterFileSink2_GetFileSize_Proxy(
  4848. IWMWriterFileSink2 __RPC_FAR * This,
  4849. /* [out] */ QWORD __RPC_FAR *pcbFile);
  4850. void __RPC_STUB IWMWriterFileSink2_GetFileSize_Stub(
  4851. IRpcStubBuffer *This,
  4852. IRpcChannelBuffer *_pRpcChannelBuffer,
  4853. PRPC_MESSAGE _pRpcMessage,
  4854. DWORD *_pdwStubPhase);
  4855. HRESULT STDMETHODCALLTYPE IWMWriterFileSink2_Close_Proxy(
  4856. IWMWriterFileSink2 __RPC_FAR * This);
  4857. void __RPC_STUB IWMWriterFileSink2_Close_Stub(
  4858. IRpcStubBuffer *This,
  4859. IRpcChannelBuffer *_pRpcChannelBuffer,
  4860. PRPC_MESSAGE _pRpcMessage,
  4861. DWORD *_pdwStubPhase);
  4862. HRESULT STDMETHODCALLTYPE IWMWriterFileSink2_IsClosed_Proxy(
  4863. IWMWriterFileSink2 __RPC_FAR * This,
  4864. /* [out] */ BOOL __RPC_FAR *pfClosed);
  4865. void __RPC_STUB IWMWriterFileSink2_IsClosed_Stub(
  4866. IRpcStubBuffer *This,
  4867. IRpcChannelBuffer *_pRpcChannelBuffer,
  4868. PRPC_MESSAGE _pRpcMessage,
  4869. DWORD *_pdwStubPhase);
  4870. #endif /* __IWMWriterFileSink2_INTERFACE_DEFINED__ */
  4871. #ifndef __IWMWriterNetworkSink_INTERFACE_DEFINED__
  4872. #define __IWMWriterNetworkSink_INTERFACE_DEFINED__
  4873. /* interface IWMWriterNetworkSink */
  4874. /* [local][unique][helpstring][uuid][object] */
  4875. EXTERN_C const IID IID_IWMWriterNetworkSink;
  4876. #if defined(__cplusplus) && !defined(CINTERFACE)
  4877. MIDL_INTERFACE("96406BE7-2B2B-11d3-B36B-00C04F6108FF")
  4878. IWMWriterNetworkSink : public IWMWriterSink
  4879. {
  4880. public:
  4881. virtual HRESULT STDMETHODCALLTYPE SetMaximumClients(
  4882. /* [in] */ DWORD dwMaxClients) = 0;
  4883. virtual HRESULT STDMETHODCALLTYPE GetMaximumClients(
  4884. /* [out] */ DWORD __RPC_FAR *pdwMaxClients) = 0;
  4885. virtual HRESULT STDMETHODCALLTYPE SetNetworkProtocol(
  4886. /* [in] */ WMT_NET_PROTOCOL protocol) = 0;
  4887. virtual HRESULT STDMETHODCALLTYPE GetNetworkProtocol(
  4888. /* [out] */ WMT_NET_PROTOCOL __RPC_FAR *pProtocol) = 0;
  4889. virtual HRESULT STDMETHODCALLTYPE GetHostURL(
  4890. /* [out] */ WCHAR __RPC_FAR *pwszURL,
  4891. /* [out][in] */ DWORD __RPC_FAR *pcchURL) = 0;
  4892. virtual HRESULT STDMETHODCALLTYPE Open(
  4893. /* [out][in] */ DWORD __RPC_FAR *pdwPortNum) = 0;
  4894. virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
  4895. virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
  4896. };
  4897. #else /* C style interface */
  4898. typedef struct IWMWriterNetworkSinkVtbl
  4899. {
  4900. BEGIN_INTERFACE
  4901. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  4902. IWMWriterNetworkSink __RPC_FAR * This,
  4903. /* [in] */ REFIID riid,
  4904. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4905. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  4906. IWMWriterNetworkSink __RPC_FAR * This);
  4907. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  4908. IWMWriterNetworkSink __RPC_FAR * This);
  4909. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnHeader )(
  4910. IWMWriterNetworkSink __RPC_FAR * This,
  4911. /* [in] */ INSSBuffer __RPC_FAR *pHeader);
  4912. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsRealTime )(
  4913. IWMWriterNetworkSink __RPC_FAR * This,
  4914. /* [out] */ BOOL __RPC_FAR *pfRealTime);
  4915. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateDataUnit )(
  4916. IWMWriterNetworkSink __RPC_FAR * This,
  4917. /* [in] */ DWORD cbDataUnit,
  4918. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppDataUnit);
  4919. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnDataUnit )(
  4920. IWMWriterNetworkSink __RPC_FAR * This,
  4921. /* [in] */ INSSBuffer __RPC_FAR *pDataUnit);
  4922. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnEndWriting )(
  4923. IWMWriterNetworkSink __RPC_FAR * This);
  4924. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMaximumClients )(
  4925. IWMWriterNetworkSink __RPC_FAR * This,
  4926. /* [in] */ DWORD dwMaxClients);
  4927. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMaximumClients )(
  4928. IWMWriterNetworkSink __RPC_FAR * This,
  4929. /* [out] */ DWORD __RPC_FAR *pdwMaxClients);
  4930. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetNetworkProtocol )(
  4931. IWMWriterNetworkSink __RPC_FAR * This,
  4932. /* [in] */ WMT_NET_PROTOCOL protocol);
  4933. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNetworkProtocol )(
  4934. IWMWriterNetworkSink __RPC_FAR * This,
  4935. /* [out] */ WMT_NET_PROTOCOL __RPC_FAR *pProtocol);
  4936. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetHostURL )(
  4937. IWMWriterNetworkSink __RPC_FAR * This,
  4938. /* [out] */ WCHAR __RPC_FAR *pwszURL,
  4939. /* [out][in] */ DWORD __RPC_FAR *pcchURL);
  4940. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )(
  4941. IWMWriterNetworkSink __RPC_FAR * This,
  4942. /* [out][in] */ DWORD __RPC_FAR *pdwPortNum);
  4943. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Disconnect )(
  4944. IWMWriterNetworkSink __RPC_FAR * This);
  4945. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )(
  4946. IWMWriterNetworkSink __RPC_FAR * This);
  4947. END_INTERFACE
  4948. } IWMWriterNetworkSinkVtbl;
  4949. interface IWMWriterNetworkSink
  4950. {
  4951. CONST_VTBL struct IWMWriterNetworkSinkVtbl __RPC_FAR *lpVtbl;
  4952. };
  4953. #ifdef COBJMACROS
  4954. #define IWMWriterNetworkSink_QueryInterface(This,riid,ppvObject) \
  4955. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4956. #define IWMWriterNetworkSink_AddRef(This) \
  4957. (This)->lpVtbl -> AddRef(This)
  4958. #define IWMWriterNetworkSink_Release(This) \
  4959. (This)->lpVtbl -> Release(This)
  4960. #define IWMWriterNetworkSink_OnHeader(This,pHeader) \
  4961. (This)->lpVtbl -> OnHeader(This,pHeader)
  4962. #define IWMWriterNetworkSink_IsRealTime(This,pfRealTime) \
  4963. (This)->lpVtbl -> IsRealTime(This,pfRealTime)
  4964. #define IWMWriterNetworkSink_AllocateDataUnit(This,cbDataUnit,ppDataUnit) \
  4965. (This)->lpVtbl -> AllocateDataUnit(This,cbDataUnit,ppDataUnit)
  4966. #define IWMWriterNetworkSink_OnDataUnit(This,pDataUnit) \
  4967. (This)->lpVtbl -> OnDataUnit(This,pDataUnit)
  4968. #define IWMWriterNetworkSink_OnEndWriting(This) \
  4969. (This)->lpVtbl -> OnEndWriting(This)
  4970. #define IWMWriterNetworkSink_SetMaximumClients(This,dwMaxClients) \
  4971. (This)->lpVtbl -> SetMaximumClients(This,dwMaxClients)
  4972. #define IWMWriterNetworkSink_GetMaximumClients(This,pdwMaxClients) \
  4973. (This)->lpVtbl -> GetMaximumClients(This,pdwMaxClients)
  4974. #define IWMWriterNetworkSink_SetNetworkProtocol(This,protocol) \
  4975. (This)->lpVtbl -> SetNetworkProtocol(This,protocol)
  4976. #define IWMWriterNetworkSink_GetNetworkProtocol(This,pProtocol) \
  4977. (This)->lpVtbl -> GetNetworkProtocol(This,pProtocol)
  4978. #define IWMWriterNetworkSink_GetHostURL(This,pwszURL,pcchURL) \
  4979. (This)->lpVtbl -> GetHostURL(This,pwszURL,pcchURL)
  4980. #define IWMWriterNetworkSink_Open(This,pdwPortNum) \
  4981. (This)->lpVtbl -> Open(This,pdwPortNum)
  4982. #define IWMWriterNetworkSink_Disconnect(This) \
  4983. (This)->lpVtbl -> Disconnect(This)
  4984. #define IWMWriterNetworkSink_Close(This) \
  4985. (This)->lpVtbl -> Close(This)
  4986. #endif /* COBJMACROS */
  4987. #endif /* C style interface */
  4988. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_SetMaximumClients_Proxy(
  4989. IWMWriterNetworkSink __RPC_FAR * This,
  4990. /* [in] */ DWORD dwMaxClients);
  4991. void __RPC_STUB IWMWriterNetworkSink_SetMaximumClients_Stub(
  4992. IRpcStubBuffer *This,
  4993. IRpcChannelBuffer *_pRpcChannelBuffer,
  4994. PRPC_MESSAGE _pRpcMessage,
  4995. DWORD *_pdwStubPhase);
  4996. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_GetMaximumClients_Proxy(
  4997. IWMWriterNetworkSink __RPC_FAR * This,
  4998. /* [out] */ DWORD __RPC_FAR *pdwMaxClients);
  4999. void __RPC_STUB IWMWriterNetworkSink_GetMaximumClients_Stub(
  5000. IRpcStubBuffer *This,
  5001. IRpcChannelBuffer *_pRpcChannelBuffer,
  5002. PRPC_MESSAGE _pRpcMessage,
  5003. DWORD *_pdwStubPhase);
  5004. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_SetNetworkProtocol_Proxy(
  5005. IWMWriterNetworkSink __RPC_FAR * This,
  5006. /* [in] */ WMT_NET_PROTOCOL protocol);
  5007. void __RPC_STUB IWMWriterNetworkSink_SetNetworkProtocol_Stub(
  5008. IRpcStubBuffer *This,
  5009. IRpcChannelBuffer *_pRpcChannelBuffer,
  5010. PRPC_MESSAGE _pRpcMessage,
  5011. DWORD *_pdwStubPhase);
  5012. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_GetNetworkProtocol_Proxy(
  5013. IWMWriterNetworkSink __RPC_FAR * This,
  5014. /* [out] */ WMT_NET_PROTOCOL __RPC_FAR *pProtocol);
  5015. void __RPC_STUB IWMWriterNetworkSink_GetNetworkProtocol_Stub(
  5016. IRpcStubBuffer *This,
  5017. IRpcChannelBuffer *_pRpcChannelBuffer,
  5018. PRPC_MESSAGE _pRpcMessage,
  5019. DWORD *_pdwStubPhase);
  5020. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_GetHostURL_Proxy(
  5021. IWMWriterNetworkSink __RPC_FAR * This,
  5022. /* [out] */ WCHAR __RPC_FAR *pwszURL,
  5023. /* [out][in] */ DWORD __RPC_FAR *pcchURL);
  5024. void __RPC_STUB IWMWriterNetworkSink_GetHostURL_Stub(
  5025. IRpcStubBuffer *This,
  5026. IRpcChannelBuffer *_pRpcChannelBuffer,
  5027. PRPC_MESSAGE _pRpcMessage,
  5028. DWORD *_pdwStubPhase);
  5029. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_Open_Proxy(
  5030. IWMWriterNetworkSink __RPC_FAR * This,
  5031. /* [out][in] */ DWORD __RPC_FAR *pdwPortNum);
  5032. void __RPC_STUB IWMWriterNetworkSink_Open_Stub(
  5033. IRpcStubBuffer *This,
  5034. IRpcChannelBuffer *_pRpcChannelBuffer,
  5035. PRPC_MESSAGE _pRpcMessage,
  5036. DWORD *_pdwStubPhase);
  5037. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_Disconnect_Proxy(
  5038. IWMWriterNetworkSink __RPC_FAR * This);
  5039. void __RPC_STUB IWMWriterNetworkSink_Disconnect_Stub(
  5040. IRpcStubBuffer *This,
  5041. IRpcChannelBuffer *_pRpcChannelBuffer,
  5042. PRPC_MESSAGE _pRpcMessage,
  5043. DWORD *_pdwStubPhase);
  5044. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_Close_Proxy(
  5045. IWMWriterNetworkSink __RPC_FAR * This);
  5046. void __RPC_STUB IWMWriterNetworkSink_Close_Stub(
  5047. IRpcStubBuffer *This,
  5048. IRpcChannelBuffer *_pRpcChannelBuffer,
  5049. PRPC_MESSAGE _pRpcMessage,
  5050. DWORD *_pdwStubPhase);
  5051. #endif /* __IWMWriterNetworkSink_INTERFACE_DEFINED__ */
  5052. #ifndef __IWMClientConnections_INTERFACE_DEFINED__
  5053. #define __IWMClientConnections_INTERFACE_DEFINED__
  5054. /* interface IWMClientConnections */
  5055. /* [local][unique][helpstring][uuid][object] */
  5056. EXTERN_C const IID IID_IWMClientConnections;
  5057. #if defined(__cplusplus) && !defined(CINTERFACE)
  5058. MIDL_INTERFACE("73C66010-A299-41df-B1F0-CCF03B09C1C6")
  5059. IWMClientConnections : public IUnknown
  5060. {
  5061. public:
  5062. virtual HRESULT STDMETHODCALLTYPE GetClientCount(
  5063. /* [out] */ DWORD __RPC_FAR *pcClients) = 0;
  5064. virtual HRESULT STDMETHODCALLTYPE GetClientProperties(
  5065. /* [in] */ DWORD dwClientNum,
  5066. /* [out] */ WM_CLIENT_PROPERTIES __RPC_FAR *pClientProperties) = 0;
  5067. };
  5068. #else /* C style interface */
  5069. typedef struct IWMClientConnectionsVtbl
  5070. {
  5071. BEGIN_INTERFACE
  5072. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  5073. IWMClientConnections __RPC_FAR * This,
  5074. /* [in] */ REFIID riid,
  5075. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5076. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  5077. IWMClientConnections __RPC_FAR * This);
  5078. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  5079. IWMClientConnections __RPC_FAR * This);
  5080. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClientCount )(
  5081. IWMClientConnections __RPC_FAR * This,
  5082. /* [out] */ DWORD __RPC_FAR *pcClients);
  5083. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClientProperties )(
  5084. IWMClientConnections __RPC_FAR * This,
  5085. /* [in] */ DWORD dwClientNum,
  5086. /* [out] */ WM_CLIENT_PROPERTIES __RPC_FAR *pClientProperties);
  5087. END_INTERFACE
  5088. } IWMClientConnectionsVtbl;
  5089. interface IWMClientConnections
  5090. {
  5091. CONST_VTBL struct IWMClientConnectionsVtbl __RPC_FAR *lpVtbl;
  5092. };
  5093. #ifdef COBJMACROS
  5094. #define IWMClientConnections_QueryInterface(This,riid,ppvObject) \
  5095. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5096. #define IWMClientConnections_AddRef(This) \
  5097. (This)->lpVtbl -> AddRef(This)
  5098. #define IWMClientConnections_Release(This) \
  5099. (This)->lpVtbl -> Release(This)
  5100. #define IWMClientConnections_GetClientCount(This,pcClients) \
  5101. (This)->lpVtbl -> GetClientCount(This,pcClients)
  5102. #define IWMClientConnections_GetClientProperties(This,dwClientNum,pClientProperties) \
  5103. (This)->lpVtbl -> GetClientProperties(This,dwClientNum,pClientProperties)
  5104. #endif /* COBJMACROS */
  5105. #endif /* C style interface */
  5106. HRESULT STDMETHODCALLTYPE IWMClientConnections_GetClientCount_Proxy(
  5107. IWMClientConnections __RPC_FAR * This,
  5108. /* [out] */ DWORD __RPC_FAR *pcClients);
  5109. void __RPC_STUB IWMClientConnections_GetClientCount_Stub(
  5110. IRpcStubBuffer *This,
  5111. IRpcChannelBuffer *_pRpcChannelBuffer,
  5112. PRPC_MESSAGE _pRpcMessage,
  5113. DWORD *_pdwStubPhase);
  5114. HRESULT STDMETHODCALLTYPE IWMClientConnections_GetClientProperties_Proxy(
  5115. IWMClientConnections __RPC_FAR * This,
  5116. /* [in] */ DWORD dwClientNum,
  5117. /* [out] */ WM_CLIENT_PROPERTIES __RPC_FAR *pClientProperties);
  5118. void __RPC_STUB IWMClientConnections_GetClientProperties_Stub(
  5119. IRpcStubBuffer *This,
  5120. IRpcChannelBuffer *_pRpcChannelBuffer,
  5121. PRPC_MESSAGE _pRpcMessage,
  5122. DWORD *_pdwStubPhase);
  5123. #endif /* __IWMClientConnections_INTERFACE_DEFINED__ */
  5124. #ifndef __IWMReaderAdvanced_INTERFACE_DEFINED__
  5125. #define __IWMReaderAdvanced_INTERFACE_DEFINED__
  5126. /* interface IWMReaderAdvanced */
  5127. /* [local][unique][helpstring][uuid][object] */
  5128. EXTERN_C const IID IID_IWMReaderAdvanced;
  5129. #if defined(__cplusplus) && !defined(CINTERFACE)
  5130. MIDL_INTERFACE("96406BEA-2B2B-11d3-B36B-00C04F6108FF")
  5131. IWMReaderAdvanced : public IUnknown
  5132. {
  5133. public:
  5134. virtual HRESULT STDMETHODCALLTYPE SetUserProvidedClock(
  5135. /* [in] */ BOOL fUserClock) = 0;
  5136. virtual HRESULT STDMETHODCALLTYPE GetUserProvidedClock(
  5137. /* [out] */ BOOL __RPC_FAR *pfUserClock) = 0;
  5138. virtual HRESULT STDMETHODCALLTYPE DeliverTime(
  5139. /* [in] */ QWORD cnsTime) = 0;
  5140. virtual HRESULT STDMETHODCALLTYPE SetManualStreamSelection(
  5141. /* [in] */ BOOL fSelection) = 0;
  5142. virtual HRESULT STDMETHODCALLTYPE GetManualStreamSelection(
  5143. /* [out] */ BOOL __RPC_FAR *pfSelection) = 0;
  5144. virtual HRESULT STDMETHODCALLTYPE SetStreamsSelected(
  5145. /* [in] */ WORD cStreamCount,
  5146. /* [in] */ WORD __RPC_FAR *pwStreamNumbers,
  5147. /* [in] */ WMT_STREAM_SELECTION __RPC_FAR *pSelections) = 0;
  5148. virtual HRESULT STDMETHODCALLTYPE GetStreamSelected(
  5149. /* [in] */ WORD wStreamNum,
  5150. /* [out] */ WMT_STREAM_SELECTION __RPC_FAR *pSelection) = 0;
  5151. virtual HRESULT STDMETHODCALLTYPE SetReceiveSelectionCallbacks(
  5152. /* [in] */ BOOL fGetCallbacks) = 0;
  5153. virtual HRESULT STDMETHODCALLTYPE GetReceiveSelectionCallbacks(
  5154. /* [in] */ BOOL __RPC_FAR *pfGetCallbacks) = 0;
  5155. virtual HRESULT STDMETHODCALLTYPE SetReceiveStreamSamples(
  5156. /* [in] */ WORD wStreamNum,
  5157. /* [in] */ BOOL fReceiveStreamSamples) = 0;
  5158. virtual HRESULT STDMETHODCALLTYPE GetReceiveStreamSamples(
  5159. /* [in] */ WORD wStreamNum,
  5160. /* [out] */ BOOL __RPC_FAR *pfReceiveStreamSamples) = 0;
  5161. virtual HRESULT STDMETHODCALLTYPE SetAllocateForOutput(
  5162. /* [in] */ DWORD dwOutputNum,
  5163. /* [in] */ BOOL fAllocate) = 0;
  5164. virtual HRESULT STDMETHODCALLTYPE GetAllocateForOutput(
  5165. /* [in] */ DWORD dwOutputNum,
  5166. /* [out] */ BOOL __RPC_FAR *pfAllocate) = 0;
  5167. virtual HRESULT STDMETHODCALLTYPE SetAllocateForStream(
  5168. /* [in] */ WORD dwStreamNum,
  5169. /* [in] */ BOOL fAllocate) = 0;
  5170. virtual HRESULT STDMETHODCALLTYPE GetAllocateForStream(
  5171. /* [in] */ WORD dwSreamNum,
  5172. /* [out] */ BOOL __RPC_FAR *pfAllocate) = 0;
  5173. virtual HRESULT STDMETHODCALLTYPE GetStatistics(
  5174. /* [in] */ WM_READER_STATISTICS __RPC_FAR *pStatistics) = 0;
  5175. virtual HRESULT STDMETHODCALLTYPE SetClientInfo(
  5176. /* [in] */ WM_READER_CLIENTINFO __RPC_FAR *pClientInfo) = 0;
  5177. virtual HRESULT STDMETHODCALLTYPE GetMaxOutputSampleSize(
  5178. /* [in] */ DWORD dwOutput,
  5179. /* [out] */ DWORD __RPC_FAR *pcbMax) = 0;
  5180. virtual HRESULT STDMETHODCALLTYPE GetMaxStreamSampleSize(
  5181. /* [in] */ WORD wStream,
  5182. /* [out] */ DWORD __RPC_FAR *pcbMax) = 0;
  5183. virtual HRESULT STDMETHODCALLTYPE NotifyLateDelivery(
  5184. QWORD cnsLateness) = 0;
  5185. };
  5186. #else /* C style interface */
  5187. typedef struct IWMReaderAdvancedVtbl
  5188. {
  5189. BEGIN_INTERFACE
  5190. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  5191. IWMReaderAdvanced __RPC_FAR * This,
  5192. /* [in] */ REFIID riid,
  5193. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5194. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  5195. IWMReaderAdvanced __RPC_FAR * This);
  5196. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  5197. IWMReaderAdvanced __RPC_FAR * This);
  5198. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUserProvidedClock )(
  5199. IWMReaderAdvanced __RPC_FAR * This,
  5200. /* [in] */ BOOL fUserClock);
  5201. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetUserProvidedClock )(
  5202. IWMReaderAdvanced __RPC_FAR * This,
  5203. /* [out] */ BOOL __RPC_FAR *pfUserClock);
  5204. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeliverTime )(
  5205. IWMReaderAdvanced __RPC_FAR * This,
  5206. /* [in] */ QWORD cnsTime);
  5207. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetManualStreamSelection )(
  5208. IWMReaderAdvanced __RPC_FAR * This,
  5209. /* [in] */ BOOL fSelection);
  5210. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetManualStreamSelection )(
  5211. IWMReaderAdvanced __RPC_FAR * This,
  5212. /* [out] */ BOOL __RPC_FAR *pfSelection);
  5213. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetStreamsSelected )(
  5214. IWMReaderAdvanced __RPC_FAR * This,
  5215. /* [in] */ WORD cStreamCount,
  5216. /* [in] */ WORD __RPC_FAR *pwStreamNumbers,
  5217. /* [in] */ WMT_STREAM_SELECTION __RPC_FAR *pSelections);
  5218. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamSelected )(
  5219. IWMReaderAdvanced __RPC_FAR * This,
  5220. /* [in] */ WORD wStreamNum,
  5221. /* [out] */ WMT_STREAM_SELECTION __RPC_FAR *pSelection);
  5222. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetReceiveSelectionCallbacks )(
  5223. IWMReaderAdvanced __RPC_FAR * This,
  5224. /* [in] */ BOOL fGetCallbacks);
  5225. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetReceiveSelectionCallbacks )(
  5226. IWMReaderAdvanced __RPC_FAR * This,
  5227. /* [in] */ BOOL __RPC_FAR *pfGetCallbacks);
  5228. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetReceiveStreamSamples )(
  5229. IWMReaderAdvanced __RPC_FAR * This,
  5230. /* [in] */ WORD wStreamNum,
  5231. /* [in] */ BOOL fReceiveStreamSamples);
  5232. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetReceiveStreamSamples )(
  5233. IWMReaderAdvanced __RPC_FAR * This,
  5234. /* [in] */ WORD wStreamNum,
  5235. /* [out] */ BOOL __RPC_FAR *pfReceiveStreamSamples);
  5236. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAllocateForOutput )(
  5237. IWMReaderAdvanced __RPC_FAR * This,
  5238. /* [in] */ DWORD dwOutputNum,
  5239. /* [in] */ BOOL fAllocate);
  5240. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllocateForOutput )(
  5241. IWMReaderAdvanced __RPC_FAR * This,
  5242. /* [in] */ DWORD dwOutputNum,
  5243. /* [out] */ BOOL __RPC_FAR *pfAllocate);
  5244. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAllocateForStream )(
  5245. IWMReaderAdvanced __RPC_FAR * This,
  5246. /* [in] */ WORD dwStreamNum,
  5247. /* [in] */ BOOL fAllocate);
  5248. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllocateForStream )(
  5249. IWMReaderAdvanced __RPC_FAR * This,
  5250. /* [in] */ WORD dwSreamNum,
  5251. /* [out] */ BOOL __RPC_FAR *pfAllocate);
  5252. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatistics )(
  5253. IWMReaderAdvanced __RPC_FAR * This,
  5254. /* [in] */ WM_READER_STATISTICS __RPC_FAR *pStatistics);
  5255. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetClientInfo )(
  5256. IWMReaderAdvanced __RPC_FAR * This,
  5257. /* [in] */ WM_READER_CLIENTINFO __RPC_FAR *pClientInfo);
  5258. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMaxOutputSampleSize )(
  5259. IWMReaderAdvanced __RPC_FAR * This,
  5260. /* [in] */ DWORD dwOutput,
  5261. /* [out] */ DWORD __RPC_FAR *pcbMax);
  5262. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMaxStreamSampleSize )(
  5263. IWMReaderAdvanced __RPC_FAR * This,
  5264. /* [in] */ WORD wStream,
  5265. /* [out] */ DWORD __RPC_FAR *pcbMax);
  5266. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NotifyLateDelivery )(
  5267. IWMReaderAdvanced __RPC_FAR * This,
  5268. QWORD cnsLateness);
  5269. END_INTERFACE
  5270. } IWMReaderAdvancedVtbl;
  5271. interface IWMReaderAdvanced
  5272. {
  5273. CONST_VTBL struct IWMReaderAdvancedVtbl __RPC_FAR *lpVtbl;
  5274. };
  5275. #ifdef COBJMACROS
  5276. #define IWMReaderAdvanced_QueryInterface(This,riid,ppvObject) \
  5277. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5278. #define IWMReaderAdvanced_AddRef(This) \
  5279. (This)->lpVtbl -> AddRef(This)
  5280. #define IWMReaderAdvanced_Release(This) \
  5281. (This)->lpVtbl -> Release(This)
  5282. #define IWMReaderAdvanced_SetUserProvidedClock(This,fUserClock) \
  5283. (This)->lpVtbl -> SetUserProvidedClock(This,fUserClock)
  5284. #define IWMReaderAdvanced_GetUserProvidedClock(This,pfUserClock) \
  5285. (This)->lpVtbl -> GetUserProvidedClock(This,pfUserClock)
  5286. #define IWMReaderAdvanced_DeliverTime(This,cnsTime) \
  5287. (This)->lpVtbl -> DeliverTime(This,cnsTime)
  5288. #define IWMReaderAdvanced_SetManualStreamSelection(This,fSelection) \
  5289. (This)->lpVtbl -> SetManualStreamSelection(This,fSelection)
  5290. #define IWMReaderAdvanced_GetManualStreamSelection(This,pfSelection) \
  5291. (This)->lpVtbl -> GetManualStreamSelection(This,pfSelection)
  5292. #define IWMReaderAdvanced_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) \
  5293. (This)->lpVtbl -> SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
  5294. #define IWMReaderAdvanced_GetStreamSelected(This,wStreamNum,pSelection) \
  5295. (This)->lpVtbl -> GetStreamSelected(This,wStreamNum,pSelection)
  5296. #define IWMReaderAdvanced_SetReceiveSelectionCallbacks(This,fGetCallbacks) \
  5297. (This)->lpVtbl -> SetReceiveSelectionCallbacks(This,fGetCallbacks)
  5298. #define IWMReaderAdvanced_GetReceiveSelectionCallbacks(This,pfGetCallbacks) \
  5299. (This)->lpVtbl -> GetReceiveSelectionCallbacks(This,pfGetCallbacks)
  5300. #define IWMReaderAdvanced_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) \
  5301. (This)->lpVtbl -> SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
  5302. #define IWMReaderAdvanced_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) \
  5303. (This)->lpVtbl -> GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
  5304. #define IWMReaderAdvanced_SetAllocateForOutput(This,dwOutputNum,fAllocate) \
  5305. (This)->lpVtbl -> SetAllocateForOutput(This,dwOutputNum,fAllocate)
  5306. #define IWMReaderAdvanced_GetAllocateForOutput(This,dwOutputNum,pfAllocate) \
  5307. (This)->lpVtbl -> GetAllocateForOutput(This,dwOutputNum,pfAllocate)
  5308. #define IWMReaderAdvanced_SetAllocateForStream(This,dwStreamNum,fAllocate) \
  5309. (This)->lpVtbl -> SetAllocateForStream(This,dwStreamNum,fAllocate)
  5310. #define IWMReaderAdvanced_GetAllocateForStream(This,dwSreamNum,pfAllocate) \
  5311. (This)->lpVtbl -> GetAllocateForStream(This,dwSreamNum,pfAllocate)
  5312. #define IWMReaderAdvanced_GetStatistics(This,pStatistics) \
  5313. (This)->lpVtbl -> GetStatistics(This,pStatistics)
  5314. #define IWMReaderAdvanced_SetClientInfo(This,pClientInfo) \
  5315. (This)->lpVtbl -> SetClientInfo(This,pClientInfo)
  5316. #define IWMReaderAdvanced_GetMaxOutputSampleSize(This,dwOutput,pcbMax) \
  5317. (This)->lpVtbl -> GetMaxOutputSampleSize(This,dwOutput,pcbMax)
  5318. #define IWMReaderAdvanced_GetMaxStreamSampleSize(This,wStream,pcbMax) \
  5319. (This)->lpVtbl -> GetMaxStreamSampleSize(This,wStream,pcbMax)
  5320. #define IWMReaderAdvanced_NotifyLateDelivery(This,cnsLateness) \
  5321. (This)->lpVtbl -> NotifyLateDelivery(This,cnsLateness)
  5322. #endif /* COBJMACROS */
  5323. #endif /* C style interface */
  5324. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetUserProvidedClock_Proxy(
  5325. IWMReaderAdvanced __RPC_FAR * This,
  5326. /* [in] */ BOOL fUserClock);
  5327. void __RPC_STUB IWMReaderAdvanced_SetUserProvidedClock_Stub(
  5328. IRpcStubBuffer *This,
  5329. IRpcChannelBuffer *_pRpcChannelBuffer,
  5330. PRPC_MESSAGE _pRpcMessage,
  5331. DWORD *_pdwStubPhase);
  5332. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetUserProvidedClock_Proxy(
  5333. IWMReaderAdvanced __RPC_FAR * This,
  5334. /* [out] */ BOOL __RPC_FAR *pfUserClock);
  5335. void __RPC_STUB IWMReaderAdvanced_GetUserProvidedClock_Stub(
  5336. IRpcStubBuffer *This,
  5337. IRpcChannelBuffer *_pRpcChannelBuffer,
  5338. PRPC_MESSAGE _pRpcMessage,
  5339. DWORD *_pdwStubPhase);
  5340. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_DeliverTime_Proxy(
  5341. IWMReaderAdvanced __RPC_FAR * This,
  5342. /* [in] */ QWORD cnsTime);
  5343. void __RPC_STUB IWMReaderAdvanced_DeliverTime_Stub(
  5344. IRpcStubBuffer *This,
  5345. IRpcChannelBuffer *_pRpcChannelBuffer,
  5346. PRPC_MESSAGE _pRpcMessage,
  5347. DWORD *_pdwStubPhase);
  5348. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetManualStreamSelection_Proxy(
  5349. IWMReaderAdvanced __RPC_FAR * This,
  5350. /* [in] */ BOOL fSelection);
  5351. void __RPC_STUB IWMReaderAdvanced_SetManualStreamSelection_Stub(
  5352. IRpcStubBuffer *This,
  5353. IRpcChannelBuffer *_pRpcChannelBuffer,
  5354. PRPC_MESSAGE _pRpcMessage,
  5355. DWORD *_pdwStubPhase);
  5356. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetManualStreamSelection_Proxy(
  5357. IWMReaderAdvanced __RPC_FAR * This,
  5358. /* [out] */ BOOL __RPC_FAR *pfSelection);
  5359. void __RPC_STUB IWMReaderAdvanced_GetManualStreamSelection_Stub(
  5360. IRpcStubBuffer *This,
  5361. IRpcChannelBuffer *_pRpcChannelBuffer,
  5362. PRPC_MESSAGE _pRpcMessage,
  5363. DWORD *_pdwStubPhase);
  5364. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetStreamsSelected_Proxy(
  5365. IWMReaderAdvanced __RPC_FAR * This,
  5366. /* [in] */ WORD cStreamCount,
  5367. /* [in] */ WORD __RPC_FAR *pwStreamNumbers,
  5368. /* [in] */ WMT_STREAM_SELECTION __RPC_FAR *pSelections);
  5369. void __RPC_STUB IWMReaderAdvanced_SetStreamsSelected_Stub(
  5370. IRpcStubBuffer *This,
  5371. IRpcChannelBuffer *_pRpcChannelBuffer,
  5372. PRPC_MESSAGE _pRpcMessage,
  5373. DWORD *_pdwStubPhase);
  5374. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetStreamSelected_Proxy(
  5375. IWMReaderAdvanced __RPC_FAR * This,
  5376. /* [in] */ WORD wStreamNum,
  5377. /* [out] */ WMT_STREAM_SELECTION __RPC_FAR *pSelection);
  5378. void __RPC_STUB IWMReaderAdvanced_GetStreamSelected_Stub(
  5379. IRpcStubBuffer *This,
  5380. IRpcChannelBuffer *_pRpcChannelBuffer,
  5381. PRPC_MESSAGE _pRpcMessage,
  5382. DWORD *_pdwStubPhase);
  5383. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetReceiveSelectionCallbacks_Proxy(
  5384. IWMReaderAdvanced __RPC_FAR * This,
  5385. /* [in] */ BOOL fGetCallbacks);
  5386. void __RPC_STUB IWMReaderAdvanced_SetReceiveSelectionCallbacks_Stub(
  5387. IRpcStubBuffer *This,
  5388. IRpcChannelBuffer *_pRpcChannelBuffer,
  5389. PRPC_MESSAGE _pRpcMessage,
  5390. DWORD *_pdwStubPhase);
  5391. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetReceiveSelectionCallbacks_Proxy(
  5392. IWMReaderAdvanced __RPC_FAR * This,
  5393. /* [in] */ BOOL __RPC_FAR *pfGetCallbacks);
  5394. void __RPC_STUB IWMReaderAdvanced_GetReceiveSelectionCallbacks_Stub(
  5395. IRpcStubBuffer *This,
  5396. IRpcChannelBuffer *_pRpcChannelBuffer,
  5397. PRPC_MESSAGE _pRpcMessage,
  5398. DWORD *_pdwStubPhase);
  5399. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetReceiveStreamSamples_Proxy(
  5400. IWMReaderAdvanced __RPC_FAR * This,
  5401. /* [in] */ WORD wStreamNum,
  5402. /* [in] */ BOOL fReceiveStreamSamples);
  5403. void __RPC_STUB IWMReaderAdvanced_SetReceiveStreamSamples_Stub(
  5404. IRpcStubBuffer *This,
  5405. IRpcChannelBuffer *_pRpcChannelBuffer,
  5406. PRPC_MESSAGE _pRpcMessage,
  5407. DWORD *_pdwStubPhase);
  5408. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetReceiveStreamSamples_Proxy(
  5409. IWMReaderAdvanced __RPC_FAR * This,
  5410. /* [in] */ WORD wStreamNum,
  5411. /* [out] */ BOOL __RPC_FAR *pfReceiveStreamSamples);
  5412. void __RPC_STUB IWMReaderAdvanced_GetReceiveStreamSamples_Stub(
  5413. IRpcStubBuffer *This,
  5414. IRpcChannelBuffer *_pRpcChannelBuffer,
  5415. PRPC_MESSAGE _pRpcMessage,
  5416. DWORD *_pdwStubPhase);
  5417. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetAllocateForOutput_Proxy(
  5418. IWMReaderAdvanced __RPC_FAR * This,
  5419. /* [in] */ DWORD dwOutputNum,
  5420. /* [in] */ BOOL fAllocate);
  5421. void __RPC_STUB IWMReaderAdvanced_SetAllocateForOutput_Stub(
  5422. IRpcStubBuffer *This,
  5423. IRpcChannelBuffer *_pRpcChannelBuffer,
  5424. PRPC_MESSAGE _pRpcMessage,
  5425. DWORD *_pdwStubPhase);
  5426. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetAllocateForOutput_Proxy(
  5427. IWMReaderAdvanced __RPC_FAR * This,
  5428. /* [in] */ DWORD dwOutputNum,
  5429. /* [out] */ BOOL __RPC_FAR *pfAllocate);
  5430. void __RPC_STUB IWMReaderAdvanced_GetAllocateForOutput_Stub(
  5431. IRpcStubBuffer *This,
  5432. IRpcChannelBuffer *_pRpcChannelBuffer,
  5433. PRPC_MESSAGE _pRpcMessage,
  5434. DWORD *_pdwStubPhase);
  5435. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetAllocateForStream_Proxy(
  5436. IWMReaderAdvanced __RPC_FAR * This,
  5437. /* [in] */ WORD dwStreamNum,
  5438. /* [in] */ BOOL fAllocate);
  5439. void __RPC_STUB IWMReaderAdvanced_SetAllocateForStream_Stub(
  5440. IRpcStubBuffer *This,
  5441. IRpcChannelBuffer *_pRpcChannelBuffer,
  5442. PRPC_MESSAGE _pRpcMessage,
  5443. DWORD *_pdwStubPhase);
  5444. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetAllocateForStream_Proxy(
  5445. IWMReaderAdvanced __RPC_FAR * This,
  5446. /* [in] */ WORD dwSreamNum,
  5447. /* [out] */ BOOL __RPC_FAR *pfAllocate);
  5448. void __RPC_STUB IWMReaderAdvanced_GetAllocateForStream_Stub(
  5449. IRpcStubBuffer *This,
  5450. IRpcChannelBuffer *_pRpcChannelBuffer,
  5451. PRPC_MESSAGE _pRpcMessage,
  5452. DWORD *_pdwStubPhase);
  5453. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetStatistics_Proxy(
  5454. IWMReaderAdvanced __RPC_FAR * This,
  5455. /* [in] */ WM_READER_STATISTICS __RPC_FAR *pStatistics);
  5456. void __RPC_STUB IWMReaderAdvanced_GetStatistics_Stub(
  5457. IRpcStubBuffer *This,
  5458. IRpcChannelBuffer *_pRpcChannelBuffer,
  5459. PRPC_MESSAGE _pRpcMessage,
  5460. DWORD *_pdwStubPhase);
  5461. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetClientInfo_Proxy(
  5462. IWMReaderAdvanced __RPC_FAR * This,
  5463. /* [in] */ WM_READER_CLIENTINFO __RPC_FAR *pClientInfo);
  5464. void __RPC_STUB IWMReaderAdvanced_SetClientInfo_Stub(
  5465. IRpcStubBuffer *This,
  5466. IRpcChannelBuffer *_pRpcChannelBuffer,
  5467. PRPC_MESSAGE _pRpcMessage,
  5468. DWORD *_pdwStubPhase);
  5469. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetMaxOutputSampleSize_Proxy(
  5470. IWMReaderAdvanced __RPC_FAR * This,
  5471. /* [in] */ DWORD dwOutput,
  5472. /* [out] */ DWORD __RPC_FAR *pcbMax);
  5473. void __RPC_STUB IWMReaderAdvanced_GetMaxOutputSampleSize_Stub(
  5474. IRpcStubBuffer *This,
  5475. IRpcChannelBuffer *_pRpcChannelBuffer,
  5476. PRPC_MESSAGE _pRpcMessage,
  5477. DWORD *_pdwStubPhase);
  5478. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetMaxStreamSampleSize_Proxy(
  5479. IWMReaderAdvanced __RPC_FAR * This,
  5480. /* [in] */ WORD wStream,
  5481. /* [out] */ DWORD __RPC_FAR *pcbMax);
  5482. void __RPC_STUB IWMReaderAdvanced_GetMaxStreamSampleSize_Stub(
  5483. IRpcStubBuffer *This,
  5484. IRpcChannelBuffer *_pRpcChannelBuffer,
  5485. PRPC_MESSAGE _pRpcMessage,
  5486. DWORD *_pdwStubPhase);
  5487. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_NotifyLateDelivery_Proxy(
  5488. IWMReaderAdvanced __RPC_FAR * This,
  5489. QWORD cnsLateness);
  5490. void __RPC_STUB IWMReaderAdvanced_NotifyLateDelivery_Stub(
  5491. IRpcStubBuffer *This,
  5492. IRpcChannelBuffer *_pRpcChannelBuffer,
  5493. PRPC_MESSAGE _pRpcMessage,
  5494. DWORD *_pdwStubPhase);
  5495. #endif /* __IWMReaderAdvanced_INTERFACE_DEFINED__ */
  5496. #ifndef __IWMReaderAdvanced2_INTERFACE_DEFINED__
  5497. #define __IWMReaderAdvanced2_INTERFACE_DEFINED__
  5498. /* interface IWMReaderAdvanced2 */
  5499. /* [local][unique][helpstring][uuid][object] */
  5500. EXTERN_C const IID IID_IWMReaderAdvanced2;
  5501. #if defined(__cplusplus) && !defined(CINTERFACE)
  5502. MIDL_INTERFACE("ae14a945-b90c-4d0d-9127-80d665f7d73e")
  5503. IWMReaderAdvanced2 : public IWMReaderAdvanced
  5504. {
  5505. public:
  5506. virtual HRESULT STDMETHODCALLTYPE SetPlayMode(
  5507. /* [in] */ WMT_PLAY_MODE Mode) = 0;
  5508. virtual HRESULT STDMETHODCALLTYPE GetPlayMode(
  5509. /* [out] */ WMT_PLAY_MODE __RPC_FAR *pMode) = 0;
  5510. virtual HRESULT STDMETHODCALLTYPE GetBufferProgress(
  5511. /* [out] */ DWORD __RPC_FAR *pdwPercent,
  5512. /* [out] */ QWORD __RPC_FAR *pcnsBuffering) = 0;
  5513. virtual HRESULT STDMETHODCALLTYPE GetDownloadProgress(
  5514. /* [out] */ DWORD __RPC_FAR *pdwPercent,
  5515. /* [out] */ QWORD __RPC_FAR *pqwBytesDownloaded,
  5516. /* [out] */ QWORD __RPC_FAR *pcnsDownload) = 0;
  5517. virtual HRESULT STDMETHODCALLTYPE GetSaveAsProgress(
  5518. /* [out] */ DWORD __RPC_FAR *pdwPercent) = 0;
  5519. virtual HRESULT STDMETHODCALLTYPE SaveFileAs(
  5520. /* [in] */ const WCHAR __RPC_FAR *pwszFilename) = 0;
  5521. virtual HRESULT STDMETHODCALLTYPE GetProtocolName(
  5522. /* [out] */ WCHAR __RPC_FAR *pwszProtocol,
  5523. /* [out][in] */ DWORD __RPC_FAR *pcchProtocol) = 0;
  5524. virtual HRESULT STDMETHODCALLTYPE StartAtMarker(
  5525. /* [in] */ WORD wMarkerIndex,
  5526. /* [in] */ QWORD cnsDuration,
  5527. /* [in] */ float fRate,
  5528. /* [in] */ void __RPC_FAR *pvContext) = 0;
  5529. virtual HRESULT STDMETHODCALLTYPE GetOutputSetting(
  5530. /* [in] */ DWORD dwOutputNum,
  5531. /* [in] */ LPCWSTR pszName,
  5532. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  5533. /* [out] */ BYTE __RPC_FAR *pValue,
  5534. /* [out][in] */ WORD __RPC_FAR *pcbLength) = 0;
  5535. virtual HRESULT STDMETHODCALLTYPE SetOutputSetting(
  5536. /* [in] */ DWORD dwOutputNum,
  5537. /* [in] */ LPCWSTR pszName,
  5538. /* [in] */ WMT_ATTR_DATATYPE Type,
  5539. /* [in] */ const BYTE __RPC_FAR *pValue,
  5540. /* [in] */ WORD cbLength) = 0;
  5541. virtual HRESULT STDMETHODCALLTYPE Preroll(
  5542. /* [in] */ QWORD cnsStart,
  5543. /* [in] */ QWORD cnsDuration,
  5544. /* [in] */ float fRate) = 0;
  5545. virtual HRESULT STDMETHODCALLTYPE SetLogClientID(
  5546. /* [in] */ BOOL fLogClientID) = 0;
  5547. virtual HRESULT STDMETHODCALLTYPE GetLogClientID(
  5548. /* [out] */ BOOL __RPC_FAR *pfLogClientID) = 0;
  5549. virtual HRESULT STDMETHODCALLTYPE StopBuffering( void) = 0;
  5550. virtual HRESULT STDMETHODCALLTYPE OpenStream(
  5551. /* [in] */ IStream __RPC_FAR *pStream,
  5552. /* [in] */ IWMReaderCallback __RPC_FAR *pCallback,
  5553. /* [in] */ void __RPC_FAR *pvContext) = 0;
  5554. };
  5555. #else /* C style interface */
  5556. typedef struct IWMReaderAdvanced2Vtbl
  5557. {
  5558. BEGIN_INTERFACE
  5559. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  5560. IWMReaderAdvanced2 __RPC_FAR * This,
  5561. /* [in] */ REFIID riid,
  5562. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5563. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  5564. IWMReaderAdvanced2 __RPC_FAR * This);
  5565. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  5566. IWMReaderAdvanced2 __RPC_FAR * This);
  5567. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUserProvidedClock )(
  5568. IWMReaderAdvanced2 __RPC_FAR * This,
  5569. /* [in] */ BOOL fUserClock);
  5570. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetUserProvidedClock )(
  5571. IWMReaderAdvanced2 __RPC_FAR * This,
  5572. /* [out] */ BOOL __RPC_FAR *pfUserClock);
  5573. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeliverTime )(
  5574. IWMReaderAdvanced2 __RPC_FAR * This,
  5575. /* [in] */ QWORD cnsTime);
  5576. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetManualStreamSelection )(
  5577. IWMReaderAdvanced2 __RPC_FAR * This,
  5578. /* [in] */ BOOL fSelection);
  5579. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetManualStreamSelection )(
  5580. IWMReaderAdvanced2 __RPC_FAR * This,
  5581. /* [out] */ BOOL __RPC_FAR *pfSelection);
  5582. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetStreamsSelected )(
  5583. IWMReaderAdvanced2 __RPC_FAR * This,
  5584. /* [in] */ WORD cStreamCount,
  5585. /* [in] */ WORD __RPC_FAR *pwStreamNumbers,
  5586. /* [in] */ WMT_STREAM_SELECTION __RPC_FAR *pSelections);
  5587. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamSelected )(
  5588. IWMReaderAdvanced2 __RPC_FAR * This,
  5589. /* [in] */ WORD wStreamNum,
  5590. /* [out] */ WMT_STREAM_SELECTION __RPC_FAR *pSelection);
  5591. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetReceiveSelectionCallbacks )(
  5592. IWMReaderAdvanced2 __RPC_FAR * This,
  5593. /* [in] */ BOOL fGetCallbacks);
  5594. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetReceiveSelectionCallbacks )(
  5595. IWMReaderAdvanced2 __RPC_FAR * This,
  5596. /* [in] */ BOOL __RPC_FAR *pfGetCallbacks);
  5597. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetReceiveStreamSamples )(
  5598. IWMReaderAdvanced2 __RPC_FAR * This,
  5599. /* [in] */ WORD wStreamNum,
  5600. /* [in] */ BOOL fReceiveStreamSamples);
  5601. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetReceiveStreamSamples )(
  5602. IWMReaderAdvanced2 __RPC_FAR * This,
  5603. /* [in] */ WORD wStreamNum,
  5604. /* [out] */ BOOL __RPC_FAR *pfReceiveStreamSamples);
  5605. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAllocateForOutput )(
  5606. IWMReaderAdvanced2 __RPC_FAR * This,
  5607. /* [in] */ DWORD dwOutputNum,
  5608. /* [in] */ BOOL fAllocate);
  5609. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllocateForOutput )(
  5610. IWMReaderAdvanced2 __RPC_FAR * This,
  5611. /* [in] */ DWORD dwOutputNum,
  5612. /* [out] */ BOOL __RPC_FAR *pfAllocate);
  5613. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAllocateForStream )(
  5614. IWMReaderAdvanced2 __RPC_FAR * This,
  5615. /* [in] */ WORD dwStreamNum,
  5616. /* [in] */ BOOL fAllocate);
  5617. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllocateForStream )(
  5618. IWMReaderAdvanced2 __RPC_FAR * This,
  5619. /* [in] */ WORD dwSreamNum,
  5620. /* [out] */ BOOL __RPC_FAR *pfAllocate);
  5621. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatistics )(
  5622. IWMReaderAdvanced2 __RPC_FAR * This,
  5623. /* [in] */ WM_READER_STATISTICS __RPC_FAR *pStatistics);
  5624. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetClientInfo )(
  5625. IWMReaderAdvanced2 __RPC_FAR * This,
  5626. /* [in] */ WM_READER_CLIENTINFO __RPC_FAR *pClientInfo);
  5627. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMaxOutputSampleSize )(
  5628. IWMReaderAdvanced2 __RPC_FAR * This,
  5629. /* [in] */ DWORD dwOutput,
  5630. /* [out] */ DWORD __RPC_FAR *pcbMax);
  5631. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMaxStreamSampleSize )(
  5632. IWMReaderAdvanced2 __RPC_FAR * This,
  5633. /* [in] */ WORD wStream,
  5634. /* [out] */ DWORD __RPC_FAR *pcbMax);
  5635. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NotifyLateDelivery )(
  5636. IWMReaderAdvanced2 __RPC_FAR * This,
  5637. QWORD cnsLateness);
  5638. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPlayMode )(
  5639. IWMReaderAdvanced2 __RPC_FAR * This,
  5640. /* [in] */ WMT_PLAY_MODE Mode);
  5641. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPlayMode )(
  5642. IWMReaderAdvanced2 __RPC_FAR * This,
  5643. /* [out] */ WMT_PLAY_MODE __RPC_FAR *pMode);
  5644. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBufferProgress )(
  5645. IWMReaderAdvanced2 __RPC_FAR * This,
  5646. /* [out] */ DWORD __RPC_FAR *pdwPercent,
  5647. /* [out] */ QWORD __RPC_FAR *pcnsBuffering);
  5648. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDownloadProgress )(
  5649. IWMReaderAdvanced2 __RPC_FAR * This,
  5650. /* [out] */ DWORD __RPC_FAR *pdwPercent,
  5651. /* [out] */ QWORD __RPC_FAR *pqwBytesDownloaded,
  5652. /* [out] */ QWORD __RPC_FAR *pcnsDownload);
  5653. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSaveAsProgress )(
  5654. IWMReaderAdvanced2 __RPC_FAR * This,
  5655. /* [out] */ DWORD __RPC_FAR *pdwPercent);
  5656. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveFileAs )(
  5657. IWMReaderAdvanced2 __RPC_FAR * This,
  5658. /* [in] */ const WCHAR __RPC_FAR *pwszFilename);
  5659. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProtocolName )(
  5660. IWMReaderAdvanced2 __RPC_FAR * This,
  5661. /* [out] */ WCHAR __RPC_FAR *pwszProtocol,
  5662. /* [out][in] */ DWORD __RPC_FAR *pcchProtocol);
  5663. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StartAtMarker )(
  5664. IWMReaderAdvanced2 __RPC_FAR * This,
  5665. /* [in] */ WORD wMarkerIndex,
  5666. /* [in] */ QWORD cnsDuration,
  5667. /* [in] */ float fRate,
  5668. /* [in] */ void __RPC_FAR *pvContext);
  5669. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOutputSetting )(
  5670. IWMReaderAdvanced2 __RPC_FAR * This,
  5671. /* [in] */ DWORD dwOutputNum,
  5672. /* [in] */ LPCWSTR pszName,
  5673. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  5674. /* [out] */ BYTE __RPC_FAR *pValue,
  5675. /* [out][in] */ WORD __RPC_FAR *pcbLength);
  5676. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOutputSetting )(
  5677. IWMReaderAdvanced2 __RPC_FAR * This,
  5678. /* [in] */ DWORD dwOutputNum,
  5679. /* [in] */ LPCWSTR pszName,
  5680. /* [in] */ WMT_ATTR_DATATYPE Type,
  5681. /* [in] */ const BYTE __RPC_FAR *pValue,
  5682. /* [in] */ WORD cbLength);
  5683. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Preroll )(
  5684. IWMReaderAdvanced2 __RPC_FAR * This,
  5685. /* [in] */ QWORD cnsStart,
  5686. /* [in] */ QWORD cnsDuration,
  5687. /* [in] */ float fRate);
  5688. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLogClientID )(
  5689. IWMReaderAdvanced2 __RPC_FAR * This,
  5690. /* [in] */ BOOL fLogClientID);
  5691. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLogClientID )(
  5692. IWMReaderAdvanced2 __RPC_FAR * This,
  5693. /* [out] */ BOOL __RPC_FAR *pfLogClientID);
  5694. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StopBuffering )(
  5695. IWMReaderAdvanced2 __RPC_FAR * This);
  5696. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenStream )(
  5697. IWMReaderAdvanced2 __RPC_FAR * This,
  5698. /* [in] */ IStream __RPC_FAR *pStream,
  5699. /* [in] */ IWMReaderCallback __RPC_FAR *pCallback,
  5700. /* [in] */ void __RPC_FAR *pvContext);
  5701. END_INTERFACE
  5702. } IWMReaderAdvanced2Vtbl;
  5703. interface IWMReaderAdvanced2
  5704. {
  5705. CONST_VTBL struct IWMReaderAdvanced2Vtbl __RPC_FAR *lpVtbl;
  5706. };
  5707. #ifdef COBJMACROS
  5708. #define IWMReaderAdvanced2_QueryInterface(This,riid,ppvObject) \
  5709. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5710. #define IWMReaderAdvanced2_AddRef(This) \
  5711. (This)->lpVtbl -> AddRef(This)
  5712. #define IWMReaderAdvanced2_Release(This) \
  5713. (This)->lpVtbl -> Release(This)
  5714. #define IWMReaderAdvanced2_SetUserProvidedClock(This,fUserClock) \
  5715. (This)->lpVtbl -> SetUserProvidedClock(This,fUserClock)
  5716. #define IWMReaderAdvanced2_GetUserProvidedClock(This,pfUserClock) \
  5717. (This)->lpVtbl -> GetUserProvidedClock(This,pfUserClock)
  5718. #define IWMReaderAdvanced2_DeliverTime(This,cnsTime) \
  5719. (This)->lpVtbl -> DeliverTime(This,cnsTime)
  5720. #define IWMReaderAdvanced2_SetManualStreamSelection(This,fSelection) \
  5721. (This)->lpVtbl -> SetManualStreamSelection(This,fSelection)
  5722. #define IWMReaderAdvanced2_GetManualStreamSelection(This,pfSelection) \
  5723. (This)->lpVtbl -> GetManualStreamSelection(This,pfSelection)
  5724. #define IWMReaderAdvanced2_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) \
  5725. (This)->lpVtbl -> SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
  5726. #define IWMReaderAdvanced2_GetStreamSelected(This,wStreamNum,pSelection) \
  5727. (This)->lpVtbl -> GetStreamSelected(This,wStreamNum,pSelection)
  5728. #define IWMReaderAdvanced2_SetReceiveSelectionCallbacks(This,fGetCallbacks) \
  5729. (This)->lpVtbl -> SetReceiveSelectionCallbacks(This,fGetCallbacks)
  5730. #define IWMReaderAdvanced2_GetReceiveSelectionCallbacks(This,pfGetCallbacks) \
  5731. (This)->lpVtbl -> GetReceiveSelectionCallbacks(This,pfGetCallbacks)
  5732. #define IWMReaderAdvanced2_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) \
  5733. (This)->lpVtbl -> SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
  5734. #define IWMReaderAdvanced2_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) \
  5735. (This)->lpVtbl -> GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
  5736. #define IWMReaderAdvanced2_SetAllocateForOutput(This,dwOutputNum,fAllocate) \
  5737. (This)->lpVtbl -> SetAllocateForOutput(This,dwOutputNum,fAllocate)
  5738. #define IWMReaderAdvanced2_GetAllocateForOutput(This,dwOutputNum,pfAllocate) \
  5739. (This)->lpVtbl -> GetAllocateForOutput(This,dwOutputNum,pfAllocate)
  5740. #define IWMReaderAdvanced2_SetAllocateForStream(This,dwStreamNum,fAllocate) \
  5741. (This)->lpVtbl -> SetAllocateForStream(This,dwStreamNum,fAllocate)
  5742. #define IWMReaderAdvanced2_GetAllocateForStream(This,dwSreamNum,pfAllocate) \
  5743. (This)->lpVtbl -> GetAllocateForStream(This,dwSreamNum,pfAllocate)
  5744. #define IWMReaderAdvanced2_GetStatistics(This,pStatistics) \
  5745. (This)->lpVtbl -> GetStatistics(This,pStatistics)
  5746. #define IWMReaderAdvanced2_SetClientInfo(This,pClientInfo) \
  5747. (This)->lpVtbl -> SetClientInfo(This,pClientInfo)
  5748. #define IWMReaderAdvanced2_GetMaxOutputSampleSize(This,dwOutput,pcbMax) \
  5749. (This)->lpVtbl -> GetMaxOutputSampleSize(This,dwOutput,pcbMax)
  5750. #define IWMReaderAdvanced2_GetMaxStreamSampleSize(This,wStream,pcbMax) \
  5751. (This)->lpVtbl -> GetMaxStreamSampleSize(This,wStream,pcbMax)
  5752. #define IWMReaderAdvanced2_NotifyLateDelivery(This,cnsLateness) \
  5753. (This)->lpVtbl -> NotifyLateDelivery(This,cnsLateness)
  5754. #define IWMReaderAdvanced2_SetPlayMode(This,Mode) \
  5755. (This)->lpVtbl -> SetPlayMode(This,Mode)
  5756. #define IWMReaderAdvanced2_GetPlayMode(This,pMode) \
  5757. (This)->lpVtbl -> GetPlayMode(This,pMode)
  5758. #define IWMReaderAdvanced2_GetBufferProgress(This,pdwPercent,pcnsBuffering) \
  5759. (This)->lpVtbl -> GetBufferProgress(This,pdwPercent,pcnsBuffering)
  5760. #define IWMReaderAdvanced2_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) \
  5761. (This)->lpVtbl -> GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload)
  5762. #define IWMReaderAdvanced2_GetSaveAsProgress(This,pdwPercent) \
  5763. (This)->lpVtbl -> GetSaveAsProgress(This,pdwPercent)
  5764. #define IWMReaderAdvanced2_SaveFileAs(This,pwszFilename) \
  5765. (This)->lpVtbl -> SaveFileAs(This,pwszFilename)
  5766. #define IWMReaderAdvanced2_GetProtocolName(This,pwszProtocol,pcchProtocol) \
  5767. (This)->lpVtbl -> GetProtocolName(This,pwszProtocol,pcchProtocol)
  5768. #define IWMReaderAdvanced2_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) \
  5769. (This)->lpVtbl -> StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext)
  5770. #define IWMReaderAdvanced2_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) \
  5771. (This)->lpVtbl -> GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength)
  5772. #define IWMReaderAdvanced2_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) \
  5773. (This)->lpVtbl -> SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength)
  5774. #define IWMReaderAdvanced2_Preroll(This,cnsStart,cnsDuration,fRate) \
  5775. (This)->lpVtbl -> Preroll(This,cnsStart,cnsDuration,fRate)
  5776. #define IWMReaderAdvanced2_SetLogClientID(This,fLogClientID) \
  5777. (This)->lpVtbl -> SetLogClientID(This,fLogClientID)
  5778. #define IWMReaderAdvanced2_GetLogClientID(This,pfLogClientID) \
  5779. (This)->lpVtbl -> GetLogClientID(This,pfLogClientID)
  5780. #define IWMReaderAdvanced2_StopBuffering(This) \
  5781. (This)->lpVtbl -> StopBuffering(This)
  5782. #define IWMReaderAdvanced2_OpenStream(This,pStream,pCallback,pvContext) \
  5783. (This)->lpVtbl -> OpenStream(This,pStream,pCallback,pvContext)
  5784. #endif /* COBJMACROS */
  5785. #endif /* C style interface */
  5786. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_SetPlayMode_Proxy(
  5787. IWMReaderAdvanced2 __RPC_FAR * This,
  5788. /* [in] */ WMT_PLAY_MODE Mode);
  5789. void __RPC_STUB IWMReaderAdvanced2_SetPlayMode_Stub(
  5790. IRpcStubBuffer *This,
  5791. IRpcChannelBuffer *_pRpcChannelBuffer,
  5792. PRPC_MESSAGE _pRpcMessage,
  5793. DWORD *_pdwStubPhase);
  5794. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetPlayMode_Proxy(
  5795. IWMReaderAdvanced2 __RPC_FAR * This,
  5796. /* [out] */ WMT_PLAY_MODE __RPC_FAR *pMode);
  5797. void __RPC_STUB IWMReaderAdvanced2_GetPlayMode_Stub(
  5798. IRpcStubBuffer *This,
  5799. IRpcChannelBuffer *_pRpcChannelBuffer,
  5800. PRPC_MESSAGE _pRpcMessage,
  5801. DWORD *_pdwStubPhase);
  5802. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetBufferProgress_Proxy(
  5803. IWMReaderAdvanced2 __RPC_FAR * This,
  5804. /* [out] */ DWORD __RPC_FAR *pdwPercent,
  5805. /* [out] */ QWORD __RPC_FAR *pcnsBuffering);
  5806. void __RPC_STUB IWMReaderAdvanced2_GetBufferProgress_Stub(
  5807. IRpcStubBuffer *This,
  5808. IRpcChannelBuffer *_pRpcChannelBuffer,
  5809. PRPC_MESSAGE _pRpcMessage,
  5810. DWORD *_pdwStubPhase);
  5811. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetDownloadProgress_Proxy(
  5812. IWMReaderAdvanced2 __RPC_FAR * This,
  5813. /* [out] */ DWORD __RPC_FAR *pdwPercent,
  5814. /* [out] */ QWORD __RPC_FAR *pqwBytesDownloaded,
  5815. /* [out] */ QWORD __RPC_FAR *pcnsDownload);
  5816. void __RPC_STUB IWMReaderAdvanced2_GetDownloadProgress_Stub(
  5817. IRpcStubBuffer *This,
  5818. IRpcChannelBuffer *_pRpcChannelBuffer,
  5819. PRPC_MESSAGE _pRpcMessage,
  5820. DWORD *_pdwStubPhase);
  5821. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetSaveAsProgress_Proxy(
  5822. IWMReaderAdvanced2 __RPC_FAR * This,
  5823. /* [out] */ DWORD __RPC_FAR *pdwPercent);
  5824. void __RPC_STUB IWMReaderAdvanced2_GetSaveAsProgress_Stub(
  5825. IRpcStubBuffer *This,
  5826. IRpcChannelBuffer *_pRpcChannelBuffer,
  5827. PRPC_MESSAGE _pRpcMessage,
  5828. DWORD *_pdwStubPhase);
  5829. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_SaveFileAs_Proxy(
  5830. IWMReaderAdvanced2 __RPC_FAR * This,
  5831. /* [in] */ const WCHAR __RPC_FAR *pwszFilename);
  5832. void __RPC_STUB IWMReaderAdvanced2_SaveFileAs_Stub(
  5833. IRpcStubBuffer *This,
  5834. IRpcChannelBuffer *_pRpcChannelBuffer,
  5835. PRPC_MESSAGE _pRpcMessage,
  5836. DWORD *_pdwStubPhase);
  5837. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetProtocolName_Proxy(
  5838. IWMReaderAdvanced2 __RPC_FAR * This,
  5839. /* [out] */ WCHAR __RPC_FAR *pwszProtocol,
  5840. /* [out][in] */ DWORD __RPC_FAR *pcchProtocol);
  5841. void __RPC_STUB IWMReaderAdvanced2_GetProtocolName_Stub(
  5842. IRpcStubBuffer *This,
  5843. IRpcChannelBuffer *_pRpcChannelBuffer,
  5844. PRPC_MESSAGE _pRpcMessage,
  5845. DWORD *_pdwStubPhase);
  5846. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_StartAtMarker_Proxy(
  5847. IWMReaderAdvanced2 __RPC_FAR * This,
  5848. /* [in] */ WORD wMarkerIndex,
  5849. /* [in] */ QWORD cnsDuration,
  5850. /* [in] */ float fRate,
  5851. /* [in] */ void __RPC_FAR *pvContext);
  5852. void __RPC_STUB IWMReaderAdvanced2_StartAtMarker_Stub(
  5853. IRpcStubBuffer *This,
  5854. IRpcChannelBuffer *_pRpcChannelBuffer,
  5855. PRPC_MESSAGE _pRpcMessage,
  5856. DWORD *_pdwStubPhase);
  5857. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetOutputSetting_Proxy(
  5858. IWMReaderAdvanced2 __RPC_FAR * This,
  5859. /* [in] */ DWORD dwOutputNum,
  5860. /* [in] */ LPCWSTR pszName,
  5861. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  5862. /* [out] */ BYTE __RPC_FAR *pValue,
  5863. /* [out][in] */ WORD __RPC_FAR *pcbLength);
  5864. void __RPC_STUB IWMReaderAdvanced2_GetOutputSetting_Stub(
  5865. IRpcStubBuffer *This,
  5866. IRpcChannelBuffer *_pRpcChannelBuffer,
  5867. PRPC_MESSAGE _pRpcMessage,
  5868. DWORD *_pdwStubPhase);
  5869. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_SetOutputSetting_Proxy(
  5870. IWMReaderAdvanced2 __RPC_FAR * This,
  5871. /* [in] */ DWORD dwOutputNum,
  5872. /* [in] */ LPCWSTR pszName,
  5873. /* [in] */ WMT_ATTR_DATATYPE Type,
  5874. /* [in] */ const BYTE __RPC_FAR *pValue,
  5875. /* [in] */ WORD cbLength);
  5876. void __RPC_STUB IWMReaderAdvanced2_SetOutputSetting_Stub(
  5877. IRpcStubBuffer *This,
  5878. IRpcChannelBuffer *_pRpcChannelBuffer,
  5879. PRPC_MESSAGE _pRpcMessage,
  5880. DWORD *_pdwStubPhase);
  5881. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_Preroll_Proxy(
  5882. IWMReaderAdvanced2 __RPC_FAR * This,
  5883. /* [in] */ QWORD cnsStart,
  5884. /* [in] */ QWORD cnsDuration,
  5885. /* [in] */ float fRate);
  5886. void __RPC_STUB IWMReaderAdvanced2_Preroll_Stub(
  5887. IRpcStubBuffer *This,
  5888. IRpcChannelBuffer *_pRpcChannelBuffer,
  5889. PRPC_MESSAGE _pRpcMessage,
  5890. DWORD *_pdwStubPhase);
  5891. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_SetLogClientID_Proxy(
  5892. IWMReaderAdvanced2 __RPC_FAR * This,
  5893. /* [in] */ BOOL fLogClientID);
  5894. void __RPC_STUB IWMReaderAdvanced2_SetLogClientID_Stub(
  5895. IRpcStubBuffer *This,
  5896. IRpcChannelBuffer *_pRpcChannelBuffer,
  5897. PRPC_MESSAGE _pRpcMessage,
  5898. DWORD *_pdwStubPhase);
  5899. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetLogClientID_Proxy(
  5900. IWMReaderAdvanced2 __RPC_FAR * This,
  5901. /* [out] */ BOOL __RPC_FAR *pfLogClientID);
  5902. void __RPC_STUB IWMReaderAdvanced2_GetLogClientID_Stub(
  5903. IRpcStubBuffer *This,
  5904. IRpcChannelBuffer *_pRpcChannelBuffer,
  5905. PRPC_MESSAGE _pRpcMessage,
  5906. DWORD *_pdwStubPhase);
  5907. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_StopBuffering_Proxy(
  5908. IWMReaderAdvanced2 __RPC_FAR * This);
  5909. void __RPC_STUB IWMReaderAdvanced2_StopBuffering_Stub(
  5910. IRpcStubBuffer *This,
  5911. IRpcChannelBuffer *_pRpcChannelBuffer,
  5912. PRPC_MESSAGE _pRpcMessage,
  5913. DWORD *_pdwStubPhase);
  5914. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_OpenStream_Proxy(
  5915. IWMReaderAdvanced2 __RPC_FAR * This,
  5916. /* [in] */ IStream __RPC_FAR *pStream,
  5917. /* [in] */ IWMReaderCallback __RPC_FAR *pCallback,
  5918. /* [in] */ void __RPC_FAR *pvContext);
  5919. void __RPC_STUB IWMReaderAdvanced2_OpenStream_Stub(
  5920. IRpcStubBuffer *This,
  5921. IRpcChannelBuffer *_pRpcChannelBuffer,
  5922. PRPC_MESSAGE _pRpcMessage,
  5923. DWORD *_pdwStubPhase);
  5924. #endif /* __IWMReaderAdvanced2_INTERFACE_DEFINED__ */
  5925. #ifndef __IWMReaderAdvanced3_INTERFACE_DEFINED__
  5926. #define __IWMReaderAdvanced3_INTERFACE_DEFINED__
  5927. /* interface IWMReaderAdvanced3 */
  5928. /* [local][unique][helpstring][uuid][object] */
  5929. EXTERN_C const IID IID_IWMReaderAdvanced3;
  5930. #if defined(__cplusplus) && !defined(CINTERFACE)
  5931. MIDL_INTERFACE("5DC0674B-F04B-4a4e-9F2A-B1AFDE2C8100")
  5932. IWMReaderAdvanced3 : public IWMReaderAdvanced2
  5933. {
  5934. public:
  5935. virtual HRESULT STDMETHODCALLTYPE StopNetStreaming( void) = 0;
  5936. virtual HRESULT STDMETHODCALLTYPE StartAtPosition(
  5937. /* [in] */ WORD wStreamNum,
  5938. /* [in] */ void __RPC_FAR *pvOffsetStart,
  5939. /* [in] */ void __RPC_FAR *pvDuration,
  5940. /* [in] */ WMT_OFFSET_FORMAT dwOffsetFormat,
  5941. /* [in] */ float fRate,
  5942. /* [in] */ void __RPC_FAR *pvContext) = 0;
  5943. };
  5944. #else /* C style interface */
  5945. typedef struct IWMReaderAdvanced3Vtbl
  5946. {
  5947. BEGIN_INTERFACE
  5948. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  5949. IWMReaderAdvanced3 __RPC_FAR * This,
  5950. /* [in] */ REFIID riid,
  5951. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5952. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  5953. IWMReaderAdvanced3 __RPC_FAR * This);
  5954. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  5955. IWMReaderAdvanced3 __RPC_FAR * This);
  5956. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUserProvidedClock )(
  5957. IWMReaderAdvanced3 __RPC_FAR * This,
  5958. /* [in] */ BOOL fUserClock);
  5959. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetUserProvidedClock )(
  5960. IWMReaderAdvanced3 __RPC_FAR * This,
  5961. /* [out] */ BOOL __RPC_FAR *pfUserClock);
  5962. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeliverTime )(
  5963. IWMReaderAdvanced3 __RPC_FAR * This,
  5964. /* [in] */ QWORD cnsTime);
  5965. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetManualStreamSelection )(
  5966. IWMReaderAdvanced3 __RPC_FAR * This,
  5967. /* [in] */ BOOL fSelection);
  5968. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetManualStreamSelection )(
  5969. IWMReaderAdvanced3 __RPC_FAR * This,
  5970. /* [out] */ BOOL __RPC_FAR *pfSelection);
  5971. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetStreamsSelected )(
  5972. IWMReaderAdvanced3 __RPC_FAR * This,
  5973. /* [in] */ WORD cStreamCount,
  5974. /* [in] */ WORD __RPC_FAR *pwStreamNumbers,
  5975. /* [in] */ WMT_STREAM_SELECTION __RPC_FAR *pSelections);
  5976. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamSelected )(
  5977. IWMReaderAdvanced3 __RPC_FAR * This,
  5978. /* [in] */ WORD wStreamNum,
  5979. /* [out] */ WMT_STREAM_SELECTION __RPC_FAR *pSelection);
  5980. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetReceiveSelectionCallbacks )(
  5981. IWMReaderAdvanced3 __RPC_FAR * This,
  5982. /* [in] */ BOOL fGetCallbacks);
  5983. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetReceiveSelectionCallbacks )(
  5984. IWMReaderAdvanced3 __RPC_FAR * This,
  5985. /* [in] */ BOOL __RPC_FAR *pfGetCallbacks);
  5986. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetReceiveStreamSamples )(
  5987. IWMReaderAdvanced3 __RPC_FAR * This,
  5988. /* [in] */ WORD wStreamNum,
  5989. /* [in] */ BOOL fReceiveStreamSamples);
  5990. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetReceiveStreamSamples )(
  5991. IWMReaderAdvanced3 __RPC_FAR * This,
  5992. /* [in] */ WORD wStreamNum,
  5993. /* [out] */ BOOL __RPC_FAR *pfReceiveStreamSamples);
  5994. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAllocateForOutput )(
  5995. IWMReaderAdvanced3 __RPC_FAR * This,
  5996. /* [in] */ DWORD dwOutputNum,
  5997. /* [in] */ BOOL fAllocate);
  5998. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllocateForOutput )(
  5999. IWMReaderAdvanced3 __RPC_FAR * This,
  6000. /* [in] */ DWORD dwOutputNum,
  6001. /* [out] */ BOOL __RPC_FAR *pfAllocate);
  6002. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAllocateForStream )(
  6003. IWMReaderAdvanced3 __RPC_FAR * This,
  6004. /* [in] */ WORD dwStreamNum,
  6005. /* [in] */ BOOL fAllocate);
  6006. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllocateForStream )(
  6007. IWMReaderAdvanced3 __RPC_FAR * This,
  6008. /* [in] */ WORD dwSreamNum,
  6009. /* [out] */ BOOL __RPC_FAR *pfAllocate);
  6010. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatistics )(
  6011. IWMReaderAdvanced3 __RPC_FAR * This,
  6012. /* [in] */ WM_READER_STATISTICS __RPC_FAR *pStatistics);
  6013. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetClientInfo )(
  6014. IWMReaderAdvanced3 __RPC_FAR * This,
  6015. /* [in] */ WM_READER_CLIENTINFO __RPC_FAR *pClientInfo);
  6016. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMaxOutputSampleSize )(
  6017. IWMReaderAdvanced3 __RPC_FAR * This,
  6018. /* [in] */ DWORD dwOutput,
  6019. /* [out] */ DWORD __RPC_FAR *pcbMax);
  6020. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMaxStreamSampleSize )(
  6021. IWMReaderAdvanced3 __RPC_FAR * This,
  6022. /* [in] */ WORD wStream,
  6023. /* [out] */ DWORD __RPC_FAR *pcbMax);
  6024. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NotifyLateDelivery )(
  6025. IWMReaderAdvanced3 __RPC_FAR * This,
  6026. QWORD cnsLateness);
  6027. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPlayMode )(
  6028. IWMReaderAdvanced3 __RPC_FAR * This,
  6029. /* [in] */ WMT_PLAY_MODE Mode);
  6030. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPlayMode )(
  6031. IWMReaderAdvanced3 __RPC_FAR * This,
  6032. /* [out] */ WMT_PLAY_MODE __RPC_FAR *pMode);
  6033. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBufferProgress )(
  6034. IWMReaderAdvanced3 __RPC_FAR * This,
  6035. /* [out] */ DWORD __RPC_FAR *pdwPercent,
  6036. /* [out] */ QWORD __RPC_FAR *pcnsBuffering);
  6037. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDownloadProgress )(
  6038. IWMReaderAdvanced3 __RPC_FAR * This,
  6039. /* [out] */ DWORD __RPC_FAR *pdwPercent,
  6040. /* [out] */ QWORD __RPC_FAR *pqwBytesDownloaded,
  6041. /* [out] */ QWORD __RPC_FAR *pcnsDownload);
  6042. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSaveAsProgress )(
  6043. IWMReaderAdvanced3 __RPC_FAR * This,
  6044. /* [out] */ DWORD __RPC_FAR *pdwPercent);
  6045. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveFileAs )(
  6046. IWMReaderAdvanced3 __RPC_FAR * This,
  6047. /* [in] */ const WCHAR __RPC_FAR *pwszFilename);
  6048. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProtocolName )(
  6049. IWMReaderAdvanced3 __RPC_FAR * This,
  6050. /* [out] */ WCHAR __RPC_FAR *pwszProtocol,
  6051. /* [out][in] */ DWORD __RPC_FAR *pcchProtocol);
  6052. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StartAtMarker )(
  6053. IWMReaderAdvanced3 __RPC_FAR * This,
  6054. /* [in] */ WORD wMarkerIndex,
  6055. /* [in] */ QWORD cnsDuration,
  6056. /* [in] */ float fRate,
  6057. /* [in] */ void __RPC_FAR *pvContext);
  6058. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOutputSetting )(
  6059. IWMReaderAdvanced3 __RPC_FAR * This,
  6060. /* [in] */ DWORD dwOutputNum,
  6061. /* [in] */ LPCWSTR pszName,
  6062. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  6063. /* [out] */ BYTE __RPC_FAR *pValue,
  6064. /* [out][in] */ WORD __RPC_FAR *pcbLength);
  6065. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOutputSetting )(
  6066. IWMReaderAdvanced3 __RPC_FAR * This,
  6067. /* [in] */ DWORD dwOutputNum,
  6068. /* [in] */ LPCWSTR pszName,
  6069. /* [in] */ WMT_ATTR_DATATYPE Type,
  6070. /* [in] */ const BYTE __RPC_FAR *pValue,
  6071. /* [in] */ WORD cbLength);
  6072. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Preroll )(
  6073. IWMReaderAdvanced3 __RPC_FAR * This,
  6074. /* [in] */ QWORD cnsStart,
  6075. /* [in] */ QWORD cnsDuration,
  6076. /* [in] */ float fRate);
  6077. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLogClientID )(
  6078. IWMReaderAdvanced3 __RPC_FAR * This,
  6079. /* [in] */ BOOL fLogClientID);
  6080. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLogClientID )(
  6081. IWMReaderAdvanced3 __RPC_FAR * This,
  6082. /* [out] */ BOOL __RPC_FAR *pfLogClientID);
  6083. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StopBuffering )(
  6084. IWMReaderAdvanced3 __RPC_FAR * This);
  6085. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenStream )(
  6086. IWMReaderAdvanced3 __RPC_FAR * This,
  6087. /* [in] */ IStream __RPC_FAR *pStream,
  6088. /* [in] */ IWMReaderCallback __RPC_FAR *pCallback,
  6089. /* [in] */ void __RPC_FAR *pvContext);
  6090. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StopNetStreaming )(
  6091. IWMReaderAdvanced3 __RPC_FAR * This);
  6092. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StartAtPosition )(
  6093. IWMReaderAdvanced3 __RPC_FAR * This,
  6094. /* [in] */ WORD wStreamNum,
  6095. /* [in] */ void __RPC_FAR *pvOffsetStart,
  6096. /* [in] */ void __RPC_FAR *pvDuration,
  6097. /* [in] */ WMT_OFFSET_FORMAT dwOffsetFormat,
  6098. /* [in] */ float fRate,
  6099. /* [in] */ void __RPC_FAR *pvContext);
  6100. END_INTERFACE
  6101. } IWMReaderAdvanced3Vtbl;
  6102. interface IWMReaderAdvanced3
  6103. {
  6104. CONST_VTBL struct IWMReaderAdvanced3Vtbl __RPC_FAR *lpVtbl;
  6105. };
  6106. #ifdef COBJMACROS
  6107. #define IWMReaderAdvanced3_QueryInterface(This,riid,ppvObject) \
  6108. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6109. #define IWMReaderAdvanced3_AddRef(This) \
  6110. (This)->lpVtbl -> AddRef(This)
  6111. #define IWMReaderAdvanced3_Release(This) \
  6112. (This)->lpVtbl -> Release(This)
  6113. #define IWMReaderAdvanced3_SetUserProvidedClock(This,fUserClock) \
  6114. (This)->lpVtbl -> SetUserProvidedClock(This,fUserClock)
  6115. #define IWMReaderAdvanced3_GetUserProvidedClock(This,pfUserClock) \
  6116. (This)->lpVtbl -> GetUserProvidedClock(This,pfUserClock)
  6117. #define IWMReaderAdvanced3_DeliverTime(This,cnsTime) \
  6118. (This)->lpVtbl -> DeliverTime(This,cnsTime)
  6119. #define IWMReaderAdvanced3_SetManualStreamSelection(This,fSelection) \
  6120. (This)->lpVtbl -> SetManualStreamSelection(This,fSelection)
  6121. #define IWMReaderAdvanced3_GetManualStreamSelection(This,pfSelection) \
  6122. (This)->lpVtbl -> GetManualStreamSelection(This,pfSelection)
  6123. #define IWMReaderAdvanced3_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) \
  6124. (This)->lpVtbl -> SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
  6125. #define IWMReaderAdvanced3_GetStreamSelected(This,wStreamNum,pSelection) \
  6126. (This)->lpVtbl -> GetStreamSelected(This,wStreamNum,pSelection)
  6127. #define IWMReaderAdvanced3_SetReceiveSelectionCallbacks(This,fGetCallbacks) \
  6128. (This)->lpVtbl -> SetReceiveSelectionCallbacks(This,fGetCallbacks)
  6129. #define IWMReaderAdvanced3_GetReceiveSelectionCallbacks(This,pfGetCallbacks) \
  6130. (This)->lpVtbl -> GetReceiveSelectionCallbacks(This,pfGetCallbacks)
  6131. #define IWMReaderAdvanced3_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) \
  6132. (This)->lpVtbl -> SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
  6133. #define IWMReaderAdvanced3_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) \
  6134. (This)->lpVtbl -> GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
  6135. #define IWMReaderAdvanced3_SetAllocateForOutput(This,dwOutputNum,fAllocate) \
  6136. (This)->lpVtbl -> SetAllocateForOutput(This,dwOutputNum,fAllocate)
  6137. #define IWMReaderAdvanced3_GetAllocateForOutput(This,dwOutputNum,pfAllocate) \
  6138. (This)->lpVtbl -> GetAllocateForOutput(This,dwOutputNum,pfAllocate)
  6139. #define IWMReaderAdvanced3_SetAllocateForStream(This,dwStreamNum,fAllocate) \
  6140. (This)->lpVtbl -> SetAllocateForStream(This,dwStreamNum,fAllocate)
  6141. #define IWMReaderAdvanced3_GetAllocateForStream(This,dwSreamNum,pfAllocate) \
  6142. (This)->lpVtbl -> GetAllocateForStream(This,dwSreamNum,pfAllocate)
  6143. #define IWMReaderAdvanced3_GetStatistics(This,pStatistics) \
  6144. (This)->lpVtbl -> GetStatistics(This,pStatistics)
  6145. #define IWMReaderAdvanced3_SetClientInfo(This,pClientInfo) \
  6146. (This)->lpVtbl -> SetClientInfo(This,pClientInfo)
  6147. #define IWMReaderAdvanced3_GetMaxOutputSampleSize(This,dwOutput,pcbMax) \
  6148. (This)->lpVtbl -> GetMaxOutputSampleSize(This,dwOutput,pcbMax)
  6149. #define IWMReaderAdvanced3_GetMaxStreamSampleSize(This,wStream,pcbMax) \
  6150. (This)->lpVtbl -> GetMaxStreamSampleSize(This,wStream,pcbMax)
  6151. #define IWMReaderAdvanced3_NotifyLateDelivery(This,cnsLateness) \
  6152. (This)->lpVtbl -> NotifyLateDelivery(This,cnsLateness)
  6153. #define IWMReaderAdvanced3_SetPlayMode(This,Mode) \
  6154. (This)->lpVtbl -> SetPlayMode(This,Mode)
  6155. #define IWMReaderAdvanced3_GetPlayMode(This,pMode) \
  6156. (This)->lpVtbl -> GetPlayMode(This,pMode)
  6157. #define IWMReaderAdvanced3_GetBufferProgress(This,pdwPercent,pcnsBuffering) \
  6158. (This)->lpVtbl -> GetBufferProgress(This,pdwPercent,pcnsBuffering)
  6159. #define IWMReaderAdvanced3_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) \
  6160. (This)->lpVtbl -> GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload)
  6161. #define IWMReaderAdvanced3_GetSaveAsProgress(This,pdwPercent) \
  6162. (This)->lpVtbl -> GetSaveAsProgress(This,pdwPercent)
  6163. #define IWMReaderAdvanced3_SaveFileAs(This,pwszFilename) \
  6164. (This)->lpVtbl -> SaveFileAs(This,pwszFilename)
  6165. #define IWMReaderAdvanced3_GetProtocolName(This,pwszProtocol,pcchProtocol) \
  6166. (This)->lpVtbl -> GetProtocolName(This,pwszProtocol,pcchProtocol)
  6167. #define IWMReaderAdvanced3_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) \
  6168. (This)->lpVtbl -> StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext)
  6169. #define IWMReaderAdvanced3_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) \
  6170. (This)->lpVtbl -> GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength)
  6171. #define IWMReaderAdvanced3_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) \
  6172. (This)->lpVtbl -> SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength)
  6173. #define IWMReaderAdvanced3_Preroll(This,cnsStart,cnsDuration,fRate) \
  6174. (This)->lpVtbl -> Preroll(This,cnsStart,cnsDuration,fRate)
  6175. #define IWMReaderAdvanced3_SetLogClientID(This,fLogClientID) \
  6176. (This)->lpVtbl -> SetLogClientID(This,fLogClientID)
  6177. #define IWMReaderAdvanced3_GetLogClientID(This,pfLogClientID) \
  6178. (This)->lpVtbl -> GetLogClientID(This,pfLogClientID)
  6179. #define IWMReaderAdvanced3_StopBuffering(This) \
  6180. (This)->lpVtbl -> StopBuffering(This)
  6181. #define IWMReaderAdvanced3_OpenStream(This,pStream,pCallback,pvContext) \
  6182. (This)->lpVtbl -> OpenStream(This,pStream,pCallback,pvContext)
  6183. #define IWMReaderAdvanced3_StopNetStreaming(This) \
  6184. (This)->lpVtbl -> StopNetStreaming(This)
  6185. #define IWMReaderAdvanced3_StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) \
  6186. (This)->lpVtbl -> StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext)
  6187. #endif /* COBJMACROS */
  6188. #endif /* C style interface */
  6189. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced3_StopNetStreaming_Proxy(
  6190. IWMReaderAdvanced3 __RPC_FAR * This);
  6191. void __RPC_STUB IWMReaderAdvanced3_StopNetStreaming_Stub(
  6192. IRpcStubBuffer *This,
  6193. IRpcChannelBuffer *_pRpcChannelBuffer,
  6194. PRPC_MESSAGE _pRpcMessage,
  6195. DWORD *_pdwStubPhase);
  6196. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced3_StartAtPosition_Proxy(
  6197. IWMReaderAdvanced3 __RPC_FAR * This,
  6198. /* [in] */ WORD wStreamNum,
  6199. /* [in] */ void __RPC_FAR *pvOffsetStart,
  6200. /* [in] */ void __RPC_FAR *pvDuration,
  6201. /* [in] */ WMT_OFFSET_FORMAT dwOffsetFormat,
  6202. /* [in] */ float fRate,
  6203. /* [in] */ void __RPC_FAR *pvContext);
  6204. void __RPC_STUB IWMReaderAdvanced3_StartAtPosition_Stub(
  6205. IRpcStubBuffer *This,
  6206. IRpcChannelBuffer *_pRpcChannelBuffer,
  6207. PRPC_MESSAGE _pRpcMessage,
  6208. DWORD *_pdwStubPhase);
  6209. #endif /* __IWMReaderAdvanced3_INTERFACE_DEFINED__ */
  6210. #ifndef __IWMReaderAllocatorEx_INTERFACE_DEFINED__
  6211. #define __IWMReaderAllocatorEx_INTERFACE_DEFINED__
  6212. /* interface IWMReaderAllocatorEx */
  6213. /* [local][unique][helpstring][uuid][object] */
  6214. EXTERN_C const IID IID_IWMReaderAllocatorEx;
  6215. #if defined(__cplusplus) && !defined(CINTERFACE)
  6216. MIDL_INTERFACE("9F762FA7-A22E-428d-93C9-AC82F3AAFE5A")
  6217. IWMReaderAllocatorEx : public IUnknown
  6218. {
  6219. public:
  6220. virtual HRESULT STDMETHODCALLTYPE AllocateForStreamEx(
  6221. /* [in] */ WORD wStreamNum,
  6222. /* [in] */ DWORD cbBuffer,
  6223. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  6224. /* [in] */ DWORD dwFlags,
  6225. /* [in] */ QWORD cnsSampleTime,
  6226. /* [in] */ QWORD cnsSampleDuration,
  6227. /* [in] */ void __RPC_FAR *pvContext) = 0;
  6228. virtual HRESULT STDMETHODCALLTYPE AllocateForOutputEx(
  6229. /* [in] */ DWORD dwOutputNum,
  6230. /* [in] */ DWORD cbBuffer,
  6231. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  6232. /* [in] */ DWORD dwFlags,
  6233. /* [in] */ QWORD cnsSampleTime,
  6234. /* [in] */ QWORD cnsSampleDuration,
  6235. /* [in] */ void __RPC_FAR *pvContext) = 0;
  6236. };
  6237. #else /* C style interface */
  6238. typedef struct IWMReaderAllocatorExVtbl
  6239. {
  6240. BEGIN_INTERFACE
  6241. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  6242. IWMReaderAllocatorEx __RPC_FAR * This,
  6243. /* [in] */ REFIID riid,
  6244. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6245. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  6246. IWMReaderAllocatorEx __RPC_FAR * This);
  6247. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  6248. IWMReaderAllocatorEx __RPC_FAR * This);
  6249. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateForStreamEx )(
  6250. IWMReaderAllocatorEx __RPC_FAR * This,
  6251. /* [in] */ WORD wStreamNum,
  6252. /* [in] */ DWORD cbBuffer,
  6253. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  6254. /* [in] */ DWORD dwFlags,
  6255. /* [in] */ QWORD cnsSampleTime,
  6256. /* [in] */ QWORD cnsSampleDuration,
  6257. /* [in] */ void __RPC_FAR *pvContext);
  6258. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateForOutputEx )(
  6259. IWMReaderAllocatorEx __RPC_FAR * This,
  6260. /* [in] */ DWORD dwOutputNum,
  6261. /* [in] */ DWORD cbBuffer,
  6262. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  6263. /* [in] */ DWORD dwFlags,
  6264. /* [in] */ QWORD cnsSampleTime,
  6265. /* [in] */ QWORD cnsSampleDuration,
  6266. /* [in] */ void __RPC_FAR *pvContext);
  6267. END_INTERFACE
  6268. } IWMReaderAllocatorExVtbl;
  6269. interface IWMReaderAllocatorEx
  6270. {
  6271. CONST_VTBL struct IWMReaderAllocatorExVtbl __RPC_FAR *lpVtbl;
  6272. };
  6273. #ifdef COBJMACROS
  6274. #define IWMReaderAllocatorEx_QueryInterface(This,riid,ppvObject) \
  6275. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6276. #define IWMReaderAllocatorEx_AddRef(This) \
  6277. (This)->lpVtbl -> AddRef(This)
  6278. #define IWMReaderAllocatorEx_Release(This) \
  6279. (This)->lpVtbl -> Release(This)
  6280. #define IWMReaderAllocatorEx_AllocateForStreamEx(This,wStreamNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext) \
  6281. (This)->lpVtbl -> AllocateForStreamEx(This,wStreamNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext)
  6282. #define IWMReaderAllocatorEx_AllocateForOutputEx(This,dwOutputNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext) \
  6283. (This)->lpVtbl -> AllocateForOutputEx(This,dwOutputNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext)
  6284. #endif /* COBJMACROS */
  6285. #endif /* C style interface */
  6286. HRESULT STDMETHODCALLTYPE IWMReaderAllocatorEx_AllocateForStreamEx_Proxy(
  6287. IWMReaderAllocatorEx __RPC_FAR * This,
  6288. /* [in] */ WORD wStreamNum,
  6289. /* [in] */ DWORD cbBuffer,
  6290. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  6291. /* [in] */ DWORD dwFlags,
  6292. /* [in] */ QWORD cnsSampleTime,
  6293. /* [in] */ QWORD cnsSampleDuration,
  6294. /* [in] */ void __RPC_FAR *pvContext);
  6295. void __RPC_STUB IWMReaderAllocatorEx_AllocateForStreamEx_Stub(
  6296. IRpcStubBuffer *This,
  6297. IRpcChannelBuffer *_pRpcChannelBuffer,
  6298. PRPC_MESSAGE _pRpcMessage,
  6299. DWORD *_pdwStubPhase);
  6300. HRESULT STDMETHODCALLTYPE IWMReaderAllocatorEx_AllocateForOutputEx_Proxy(
  6301. IWMReaderAllocatorEx __RPC_FAR * This,
  6302. /* [in] */ DWORD dwOutputNum,
  6303. /* [in] */ DWORD cbBuffer,
  6304. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  6305. /* [in] */ DWORD dwFlags,
  6306. /* [in] */ QWORD cnsSampleTime,
  6307. /* [in] */ QWORD cnsSampleDuration,
  6308. /* [in] */ void __RPC_FAR *pvContext);
  6309. void __RPC_STUB IWMReaderAllocatorEx_AllocateForOutputEx_Stub(
  6310. IRpcStubBuffer *This,
  6311. IRpcChannelBuffer *_pRpcChannelBuffer,
  6312. PRPC_MESSAGE _pRpcMessage,
  6313. DWORD *_pdwStubPhase);
  6314. #endif /* __IWMReaderAllocatorEx_INTERFACE_DEFINED__ */
  6315. #ifndef __IWMReaderTypeNegotiation_INTERFACE_DEFINED__
  6316. #define __IWMReaderTypeNegotiation_INTERFACE_DEFINED__
  6317. /* interface IWMReaderTypeNegotiation */
  6318. /* [local][unique][helpstring][uuid][object] */
  6319. EXTERN_C const IID IID_IWMReaderTypeNegotiation;
  6320. #if defined(__cplusplus) && !defined(CINTERFACE)
  6321. MIDL_INTERFACE("FDBE5592-81A1-41ea-93BD-735CAD1ADC05")
  6322. IWMReaderTypeNegotiation : public IUnknown
  6323. {
  6324. public:
  6325. virtual HRESULT STDMETHODCALLTYPE TryOutputProps(
  6326. /* [in] */ DWORD dwOutputNum,
  6327. /* [in] */ IWMOutputMediaProps __RPC_FAR *pOutput) = 0;
  6328. };
  6329. #else /* C style interface */
  6330. typedef struct IWMReaderTypeNegotiationVtbl
  6331. {
  6332. BEGIN_INTERFACE
  6333. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  6334. IWMReaderTypeNegotiation __RPC_FAR * This,
  6335. /* [in] */ REFIID riid,
  6336. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6337. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  6338. IWMReaderTypeNegotiation __RPC_FAR * This);
  6339. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  6340. IWMReaderTypeNegotiation __RPC_FAR * This);
  6341. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TryOutputProps )(
  6342. IWMReaderTypeNegotiation __RPC_FAR * This,
  6343. /* [in] */ DWORD dwOutputNum,
  6344. /* [in] */ IWMOutputMediaProps __RPC_FAR *pOutput);
  6345. END_INTERFACE
  6346. } IWMReaderTypeNegotiationVtbl;
  6347. interface IWMReaderTypeNegotiation
  6348. {
  6349. CONST_VTBL struct IWMReaderTypeNegotiationVtbl __RPC_FAR *lpVtbl;
  6350. };
  6351. #ifdef COBJMACROS
  6352. #define IWMReaderTypeNegotiation_QueryInterface(This,riid,ppvObject) \
  6353. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6354. #define IWMReaderTypeNegotiation_AddRef(This) \
  6355. (This)->lpVtbl -> AddRef(This)
  6356. #define IWMReaderTypeNegotiation_Release(This) \
  6357. (This)->lpVtbl -> Release(This)
  6358. #define IWMReaderTypeNegotiation_TryOutputProps(This,dwOutputNum,pOutput) \
  6359. (This)->lpVtbl -> TryOutputProps(This,dwOutputNum,pOutput)
  6360. #endif /* COBJMACROS */
  6361. #endif /* C style interface */
  6362. HRESULT STDMETHODCALLTYPE IWMReaderTypeNegotiation_TryOutputProps_Proxy(
  6363. IWMReaderTypeNegotiation __RPC_FAR * This,
  6364. /* [in] */ DWORD dwOutputNum,
  6365. /* [in] */ IWMOutputMediaProps __RPC_FAR *pOutput);
  6366. void __RPC_STUB IWMReaderTypeNegotiation_TryOutputProps_Stub(
  6367. IRpcStubBuffer *This,
  6368. IRpcChannelBuffer *_pRpcChannelBuffer,
  6369. PRPC_MESSAGE _pRpcMessage,
  6370. DWORD *_pdwStubPhase);
  6371. #endif /* __IWMReaderTypeNegotiation_INTERFACE_DEFINED__ */
  6372. #ifndef __IWMReaderCallbackAdvanced_INTERFACE_DEFINED__
  6373. #define __IWMReaderCallbackAdvanced_INTERFACE_DEFINED__
  6374. /* interface IWMReaderCallbackAdvanced */
  6375. /* [local][unique][helpstring][uuid][object] */
  6376. EXTERN_C const IID IID_IWMReaderCallbackAdvanced;
  6377. #if defined(__cplusplus) && !defined(CINTERFACE)
  6378. MIDL_INTERFACE("96406BEB-2B2B-11d3-B36B-00C04F6108FF")
  6379. IWMReaderCallbackAdvanced : public IUnknown
  6380. {
  6381. public:
  6382. virtual HRESULT STDMETHODCALLTYPE OnStreamSample(
  6383. /* [in] */ WORD wStreamNum,
  6384. /* [in] */ QWORD cnsSampleTime,
  6385. /* [in] */ QWORD cnsSampleDuration,
  6386. /* [in] */ DWORD dwFlags,
  6387. /* [in] */ INSSBuffer __RPC_FAR *pSample,
  6388. /* [in] */ void __RPC_FAR *pvContext) = 0;
  6389. virtual HRESULT STDMETHODCALLTYPE OnTime(
  6390. /* [in] */ QWORD cnsCurrentTime,
  6391. /* [in] */ void __RPC_FAR *pvContext) = 0;
  6392. virtual HRESULT STDMETHODCALLTYPE OnStreamSelection(
  6393. /* [in] */ WORD wStreamCount,
  6394. /* [in] */ WORD __RPC_FAR *pStreamNumbers,
  6395. /* [in] */ WMT_STREAM_SELECTION __RPC_FAR *pSelections,
  6396. /* [in] */ void __RPC_FAR *pvContext) = 0;
  6397. virtual HRESULT STDMETHODCALLTYPE OnOutputPropsChanged(
  6398. /* [in] */ DWORD dwOutputNum,
  6399. /* [in] */ WM_MEDIA_TYPE __RPC_FAR *pMediaType,
  6400. /* [in] */ void __RPC_FAR *pvContext) = 0;
  6401. virtual HRESULT STDMETHODCALLTYPE AllocateForStream(
  6402. /* [in] */ WORD wStreamNum,
  6403. /* [in] */ DWORD cbBuffer,
  6404. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  6405. /* [in] */ void __RPC_FAR *pvContext) = 0;
  6406. virtual HRESULT STDMETHODCALLTYPE AllocateForOutput(
  6407. /* [in] */ DWORD dwOutputNum,
  6408. /* [in] */ DWORD cbBuffer,
  6409. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  6410. /* [in] */ void __RPC_FAR *pvContext) = 0;
  6411. };
  6412. #else /* C style interface */
  6413. typedef struct IWMReaderCallbackAdvancedVtbl
  6414. {
  6415. BEGIN_INTERFACE
  6416. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  6417. IWMReaderCallbackAdvanced __RPC_FAR * This,
  6418. /* [in] */ REFIID riid,
  6419. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6420. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  6421. IWMReaderCallbackAdvanced __RPC_FAR * This);
  6422. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  6423. IWMReaderCallbackAdvanced __RPC_FAR * This);
  6424. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnStreamSample )(
  6425. IWMReaderCallbackAdvanced __RPC_FAR * This,
  6426. /* [in] */ WORD wStreamNum,
  6427. /* [in] */ QWORD cnsSampleTime,
  6428. /* [in] */ QWORD cnsSampleDuration,
  6429. /* [in] */ DWORD dwFlags,
  6430. /* [in] */ INSSBuffer __RPC_FAR *pSample,
  6431. /* [in] */ void __RPC_FAR *pvContext);
  6432. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnTime )(
  6433. IWMReaderCallbackAdvanced __RPC_FAR * This,
  6434. /* [in] */ QWORD cnsCurrentTime,
  6435. /* [in] */ void __RPC_FAR *pvContext);
  6436. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnStreamSelection )(
  6437. IWMReaderCallbackAdvanced __RPC_FAR * This,
  6438. /* [in] */ WORD wStreamCount,
  6439. /* [in] */ WORD __RPC_FAR *pStreamNumbers,
  6440. /* [in] */ WMT_STREAM_SELECTION __RPC_FAR *pSelections,
  6441. /* [in] */ void __RPC_FAR *pvContext);
  6442. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnOutputPropsChanged )(
  6443. IWMReaderCallbackAdvanced __RPC_FAR * This,
  6444. /* [in] */ DWORD dwOutputNum,
  6445. /* [in] */ WM_MEDIA_TYPE __RPC_FAR *pMediaType,
  6446. /* [in] */ void __RPC_FAR *pvContext);
  6447. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateForStream )(
  6448. IWMReaderCallbackAdvanced __RPC_FAR * This,
  6449. /* [in] */ WORD wStreamNum,
  6450. /* [in] */ DWORD cbBuffer,
  6451. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  6452. /* [in] */ void __RPC_FAR *pvContext);
  6453. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateForOutput )(
  6454. IWMReaderCallbackAdvanced __RPC_FAR * This,
  6455. /* [in] */ DWORD dwOutputNum,
  6456. /* [in] */ DWORD cbBuffer,
  6457. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  6458. /* [in] */ void __RPC_FAR *pvContext);
  6459. END_INTERFACE
  6460. } IWMReaderCallbackAdvancedVtbl;
  6461. interface IWMReaderCallbackAdvanced
  6462. {
  6463. CONST_VTBL struct IWMReaderCallbackAdvancedVtbl __RPC_FAR *lpVtbl;
  6464. };
  6465. #ifdef COBJMACROS
  6466. #define IWMReaderCallbackAdvanced_QueryInterface(This,riid,ppvObject) \
  6467. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6468. #define IWMReaderCallbackAdvanced_AddRef(This) \
  6469. (This)->lpVtbl -> AddRef(This)
  6470. #define IWMReaderCallbackAdvanced_Release(This) \
  6471. (This)->lpVtbl -> Release(This)
  6472. #define IWMReaderCallbackAdvanced_OnStreamSample(This,wStreamNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext) \
  6473. (This)->lpVtbl -> OnStreamSample(This,wStreamNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext)
  6474. #define IWMReaderCallbackAdvanced_OnTime(This,cnsCurrentTime,pvContext) \
  6475. (This)->lpVtbl -> OnTime(This,cnsCurrentTime,pvContext)
  6476. #define IWMReaderCallbackAdvanced_OnStreamSelection(This,wStreamCount,pStreamNumbers,pSelections,pvContext) \
  6477. (This)->lpVtbl -> OnStreamSelection(This,wStreamCount,pStreamNumbers,pSelections,pvContext)
  6478. #define IWMReaderCallbackAdvanced_OnOutputPropsChanged(This,dwOutputNum,pMediaType,pvContext) \
  6479. (This)->lpVtbl -> OnOutputPropsChanged(This,dwOutputNum,pMediaType,pvContext)
  6480. #define IWMReaderCallbackAdvanced_AllocateForStream(This,wStreamNum,cbBuffer,ppBuffer,pvContext) \
  6481. (This)->lpVtbl -> AllocateForStream(This,wStreamNum,cbBuffer,ppBuffer,pvContext)
  6482. #define IWMReaderCallbackAdvanced_AllocateForOutput(This,dwOutputNum,cbBuffer,ppBuffer,pvContext) \
  6483. (This)->lpVtbl -> AllocateForOutput(This,dwOutputNum,cbBuffer,ppBuffer,pvContext)
  6484. #endif /* COBJMACROS */
  6485. #endif /* C style interface */
  6486. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_OnStreamSample_Proxy(
  6487. IWMReaderCallbackAdvanced __RPC_FAR * This,
  6488. /* [in] */ WORD wStreamNum,
  6489. /* [in] */ QWORD cnsSampleTime,
  6490. /* [in] */ QWORD cnsSampleDuration,
  6491. /* [in] */ DWORD dwFlags,
  6492. /* [in] */ INSSBuffer __RPC_FAR *pSample,
  6493. /* [in] */ void __RPC_FAR *pvContext);
  6494. void __RPC_STUB IWMReaderCallbackAdvanced_OnStreamSample_Stub(
  6495. IRpcStubBuffer *This,
  6496. IRpcChannelBuffer *_pRpcChannelBuffer,
  6497. PRPC_MESSAGE _pRpcMessage,
  6498. DWORD *_pdwStubPhase);
  6499. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_OnTime_Proxy(
  6500. IWMReaderCallbackAdvanced __RPC_FAR * This,
  6501. /* [in] */ QWORD cnsCurrentTime,
  6502. /* [in] */ void __RPC_FAR *pvContext);
  6503. void __RPC_STUB IWMReaderCallbackAdvanced_OnTime_Stub(
  6504. IRpcStubBuffer *This,
  6505. IRpcChannelBuffer *_pRpcChannelBuffer,
  6506. PRPC_MESSAGE _pRpcMessage,
  6507. DWORD *_pdwStubPhase);
  6508. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_OnStreamSelection_Proxy(
  6509. IWMReaderCallbackAdvanced __RPC_FAR * This,
  6510. /* [in] */ WORD wStreamCount,
  6511. /* [in] */ WORD __RPC_FAR *pStreamNumbers,
  6512. /* [in] */ WMT_STREAM_SELECTION __RPC_FAR *pSelections,
  6513. /* [in] */ void __RPC_FAR *pvContext);
  6514. void __RPC_STUB IWMReaderCallbackAdvanced_OnStreamSelection_Stub(
  6515. IRpcStubBuffer *This,
  6516. IRpcChannelBuffer *_pRpcChannelBuffer,
  6517. PRPC_MESSAGE _pRpcMessage,
  6518. DWORD *_pdwStubPhase);
  6519. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_OnOutputPropsChanged_Proxy(
  6520. IWMReaderCallbackAdvanced __RPC_FAR * This,
  6521. /* [in] */ DWORD dwOutputNum,
  6522. /* [in] */ WM_MEDIA_TYPE __RPC_FAR *pMediaType,
  6523. /* [in] */ void __RPC_FAR *pvContext);
  6524. void __RPC_STUB IWMReaderCallbackAdvanced_OnOutputPropsChanged_Stub(
  6525. IRpcStubBuffer *This,
  6526. IRpcChannelBuffer *_pRpcChannelBuffer,
  6527. PRPC_MESSAGE _pRpcMessage,
  6528. DWORD *_pdwStubPhase);
  6529. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_AllocateForStream_Proxy(
  6530. IWMReaderCallbackAdvanced __RPC_FAR * This,
  6531. /* [in] */ WORD wStreamNum,
  6532. /* [in] */ DWORD cbBuffer,
  6533. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  6534. /* [in] */ void __RPC_FAR *pvContext);
  6535. void __RPC_STUB IWMReaderCallbackAdvanced_AllocateForStream_Stub(
  6536. IRpcStubBuffer *This,
  6537. IRpcChannelBuffer *_pRpcChannelBuffer,
  6538. PRPC_MESSAGE _pRpcMessage,
  6539. DWORD *_pdwStubPhase);
  6540. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_AllocateForOutput_Proxy(
  6541. IWMReaderCallbackAdvanced __RPC_FAR * This,
  6542. /* [in] */ DWORD dwOutputNum,
  6543. /* [in] */ DWORD cbBuffer,
  6544. /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  6545. /* [in] */ void __RPC_FAR *pvContext);
  6546. void __RPC_STUB IWMReaderCallbackAdvanced_AllocateForOutput_Stub(
  6547. IRpcStubBuffer *This,
  6548. IRpcChannelBuffer *_pRpcChannelBuffer,
  6549. PRPC_MESSAGE _pRpcMessage,
  6550. DWORD *_pdwStubPhase);
  6551. #endif /* __IWMReaderCallbackAdvanced_INTERFACE_DEFINED__ */
  6552. #ifndef __IWMDRMReader_INTERFACE_DEFINED__
  6553. #define __IWMDRMReader_INTERFACE_DEFINED__
  6554. /* interface IWMDRMReader */
  6555. /* [local][unique][helpstring][uuid][object] */
  6556. EXTERN_C const IID IID_IWMDRMReader;
  6557. #if defined(__cplusplus) && !defined(CINTERFACE)
  6558. MIDL_INTERFACE("D2827540-3EE7-432c-B14C-DC17F085D3B3")
  6559. IWMDRMReader : public IUnknown
  6560. {
  6561. public:
  6562. virtual HRESULT STDMETHODCALLTYPE AcquireLicense(
  6563. /* [in] */ DWORD dwFlags) = 0;
  6564. virtual HRESULT STDMETHODCALLTYPE CancelLicenseAcquisition( void) = 0;
  6565. virtual HRESULT STDMETHODCALLTYPE Individualize(
  6566. /* [in] */ DWORD dwFlags) = 0;
  6567. virtual HRESULT STDMETHODCALLTYPE CancelIndividualization( void) = 0;
  6568. virtual HRESULT STDMETHODCALLTYPE MonitorLicenseAcquisition( void) = 0;
  6569. virtual HRESULT STDMETHODCALLTYPE CancelMonitorLicenseAcquisition( void) = 0;
  6570. virtual HRESULT STDMETHODCALLTYPE SetDRMProperty(
  6571. /* [in] */ LPCWSTR pwstrName,
  6572. /* [in] */ WMT_ATTR_DATATYPE dwType,
  6573. /* [in] */ const BYTE __RPC_FAR *pValue,
  6574. /* [in] */ WORD cbLength) = 0;
  6575. virtual HRESULT STDMETHODCALLTYPE GetDRMProperty(
  6576. /* [in] */ LPCWSTR pwstrName,
  6577. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pdwType,
  6578. /* [out] */ BYTE __RPC_FAR *pValue,
  6579. /* [out] */ WORD __RPC_FAR *pcbLength) = 0;
  6580. };
  6581. #else /* C style interface */
  6582. typedef struct IWMDRMReaderVtbl
  6583. {
  6584. BEGIN_INTERFACE
  6585. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  6586. IWMDRMReader __RPC_FAR * This,
  6587. /* [in] */ REFIID riid,
  6588. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6589. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  6590. IWMDRMReader __RPC_FAR * This);
  6591. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  6592. IWMDRMReader __RPC_FAR * This);
  6593. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AcquireLicense )(
  6594. IWMDRMReader __RPC_FAR * This,
  6595. /* [in] */ DWORD dwFlags);
  6596. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelLicenseAcquisition )(
  6597. IWMDRMReader __RPC_FAR * This);
  6598. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Individualize )(
  6599. IWMDRMReader __RPC_FAR * This,
  6600. /* [in] */ DWORD dwFlags);
  6601. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelIndividualization )(
  6602. IWMDRMReader __RPC_FAR * This);
  6603. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MonitorLicenseAcquisition )(
  6604. IWMDRMReader __RPC_FAR * This);
  6605. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelMonitorLicenseAcquisition )(
  6606. IWMDRMReader __RPC_FAR * This);
  6607. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDRMProperty )(
  6608. IWMDRMReader __RPC_FAR * This,
  6609. /* [in] */ LPCWSTR pwstrName,
  6610. /* [in] */ WMT_ATTR_DATATYPE dwType,
  6611. /* [in] */ const BYTE __RPC_FAR *pValue,
  6612. /* [in] */ WORD cbLength);
  6613. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDRMProperty )(
  6614. IWMDRMReader __RPC_FAR * This,
  6615. /* [in] */ LPCWSTR pwstrName,
  6616. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pdwType,
  6617. /* [out] */ BYTE __RPC_FAR *pValue,
  6618. /* [out] */ WORD __RPC_FAR *pcbLength);
  6619. END_INTERFACE
  6620. } IWMDRMReaderVtbl;
  6621. interface IWMDRMReader
  6622. {
  6623. CONST_VTBL struct IWMDRMReaderVtbl __RPC_FAR *lpVtbl;
  6624. };
  6625. #ifdef COBJMACROS
  6626. #define IWMDRMReader_QueryInterface(This,riid,ppvObject) \
  6627. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6628. #define IWMDRMReader_AddRef(This) \
  6629. (This)->lpVtbl -> AddRef(This)
  6630. #define IWMDRMReader_Release(This) \
  6631. (This)->lpVtbl -> Release(This)
  6632. #define IWMDRMReader_AcquireLicense(This,dwFlags) \
  6633. (This)->lpVtbl -> AcquireLicense(This,dwFlags)
  6634. #define IWMDRMReader_CancelLicenseAcquisition(This) \
  6635. (This)->lpVtbl -> CancelLicenseAcquisition(This)
  6636. #define IWMDRMReader_Individualize(This,dwFlags) \
  6637. (This)->lpVtbl -> Individualize(This,dwFlags)
  6638. #define IWMDRMReader_CancelIndividualization(This) \
  6639. (This)->lpVtbl -> CancelIndividualization(This)
  6640. #define IWMDRMReader_MonitorLicenseAcquisition(This) \
  6641. (This)->lpVtbl -> MonitorLicenseAcquisition(This)
  6642. #define IWMDRMReader_CancelMonitorLicenseAcquisition(This) \
  6643. (This)->lpVtbl -> CancelMonitorLicenseAcquisition(This)
  6644. #define IWMDRMReader_SetDRMProperty(This,pwstrName,dwType,pValue,cbLength) \
  6645. (This)->lpVtbl -> SetDRMProperty(This,pwstrName,dwType,pValue,cbLength)
  6646. #define IWMDRMReader_GetDRMProperty(This,pwstrName,pdwType,pValue,pcbLength) \
  6647. (This)->lpVtbl -> GetDRMProperty(This,pwstrName,pdwType,pValue,pcbLength)
  6648. #endif /* COBJMACROS */
  6649. #endif /* C style interface */
  6650. HRESULT STDMETHODCALLTYPE IWMDRMReader_AcquireLicense_Proxy(
  6651. IWMDRMReader __RPC_FAR * This,
  6652. /* [in] */ DWORD dwFlags);
  6653. void __RPC_STUB IWMDRMReader_AcquireLicense_Stub(
  6654. IRpcStubBuffer *This,
  6655. IRpcChannelBuffer *_pRpcChannelBuffer,
  6656. PRPC_MESSAGE _pRpcMessage,
  6657. DWORD *_pdwStubPhase);
  6658. HRESULT STDMETHODCALLTYPE IWMDRMReader_CancelLicenseAcquisition_Proxy(
  6659. IWMDRMReader __RPC_FAR * This);
  6660. void __RPC_STUB IWMDRMReader_CancelLicenseAcquisition_Stub(
  6661. IRpcStubBuffer *This,
  6662. IRpcChannelBuffer *_pRpcChannelBuffer,
  6663. PRPC_MESSAGE _pRpcMessage,
  6664. DWORD *_pdwStubPhase);
  6665. HRESULT STDMETHODCALLTYPE IWMDRMReader_Individualize_Proxy(
  6666. IWMDRMReader __RPC_FAR * This,
  6667. /* [in] */ DWORD dwFlags);
  6668. void __RPC_STUB IWMDRMReader_Individualize_Stub(
  6669. IRpcStubBuffer *This,
  6670. IRpcChannelBuffer *_pRpcChannelBuffer,
  6671. PRPC_MESSAGE _pRpcMessage,
  6672. DWORD *_pdwStubPhase);
  6673. HRESULT STDMETHODCALLTYPE IWMDRMReader_CancelIndividualization_Proxy(
  6674. IWMDRMReader __RPC_FAR * This);
  6675. void __RPC_STUB IWMDRMReader_CancelIndividualization_Stub(
  6676. IRpcStubBuffer *This,
  6677. IRpcChannelBuffer *_pRpcChannelBuffer,
  6678. PRPC_MESSAGE _pRpcMessage,
  6679. DWORD *_pdwStubPhase);
  6680. HRESULT STDMETHODCALLTYPE IWMDRMReader_MonitorLicenseAcquisition_Proxy(
  6681. IWMDRMReader __RPC_FAR * This);
  6682. void __RPC_STUB IWMDRMReader_MonitorLicenseAcquisition_Stub(
  6683. IRpcStubBuffer *This,
  6684. IRpcChannelBuffer *_pRpcChannelBuffer,
  6685. PRPC_MESSAGE _pRpcMessage,
  6686. DWORD *_pdwStubPhase);
  6687. HRESULT STDMETHODCALLTYPE IWMDRMReader_CancelMonitorLicenseAcquisition_Proxy(
  6688. IWMDRMReader __RPC_FAR * This);
  6689. void __RPC_STUB IWMDRMReader_CancelMonitorLicenseAcquisition_Stub(
  6690. IRpcStubBuffer *This,
  6691. IRpcChannelBuffer *_pRpcChannelBuffer,
  6692. PRPC_MESSAGE _pRpcMessage,
  6693. DWORD *_pdwStubPhase);
  6694. HRESULT STDMETHODCALLTYPE IWMDRMReader_SetDRMProperty_Proxy(
  6695. IWMDRMReader __RPC_FAR * This,
  6696. /* [in] */ LPCWSTR pwstrName,
  6697. /* [in] */ WMT_ATTR_DATATYPE dwType,
  6698. /* [in] */ const BYTE __RPC_FAR *pValue,
  6699. /* [in] */ WORD cbLength);
  6700. void __RPC_STUB IWMDRMReader_SetDRMProperty_Stub(
  6701. IRpcStubBuffer *This,
  6702. IRpcChannelBuffer *_pRpcChannelBuffer,
  6703. PRPC_MESSAGE _pRpcMessage,
  6704. DWORD *_pdwStubPhase);
  6705. HRESULT STDMETHODCALLTYPE IWMDRMReader_GetDRMProperty_Proxy(
  6706. IWMDRMReader __RPC_FAR * This,
  6707. /* [in] */ LPCWSTR pwstrName,
  6708. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pdwType,
  6709. /* [out] */ BYTE __RPC_FAR *pValue,
  6710. /* [out] */ WORD __RPC_FAR *pcbLength);
  6711. void __RPC_STUB IWMDRMReader_GetDRMProperty_Stub(
  6712. IRpcStubBuffer *This,
  6713. IRpcChannelBuffer *_pRpcChannelBuffer,
  6714. PRPC_MESSAGE _pRpcMessage,
  6715. DWORD *_pdwStubPhase);
  6716. #endif /* __IWMDRMReader_INTERFACE_DEFINED__ */
  6717. #ifndef __IWMReaderNetworkConfig_INTERFACE_DEFINED__
  6718. #define __IWMReaderNetworkConfig_INTERFACE_DEFINED__
  6719. /* interface IWMReaderNetworkConfig */
  6720. /* [local][unique][helpstring][uuid][object] */
  6721. EXTERN_C const IID IID_IWMReaderNetworkConfig;
  6722. #if defined(__cplusplus) && !defined(CINTERFACE)
  6723. MIDL_INTERFACE("96406BEC-2B2B-11d3-B36B-00C04F6108FF")
  6724. IWMReaderNetworkConfig : public IUnknown
  6725. {
  6726. public:
  6727. virtual HRESULT STDMETHODCALLTYPE GetBufferingTime(
  6728. /* [out] */ QWORD __RPC_FAR *pcnsBufferingTime) = 0;
  6729. virtual HRESULT STDMETHODCALLTYPE SetBufferingTime(
  6730. /* [in] */ QWORD cnsBufferingTime) = 0;
  6731. virtual HRESULT STDMETHODCALLTYPE GetUDPPortRanges(
  6732. /* [out] */ WM_PORT_NUMBER_RANGE __RPC_FAR *pRangeArray,
  6733. /* [out][in] */ DWORD __RPC_FAR *pcRanges) = 0;
  6734. virtual HRESULT STDMETHODCALLTYPE SetUDPPortRanges(
  6735. /* [in] */ WM_PORT_NUMBER_RANGE __RPC_FAR *pRangeArray,
  6736. /* [in] */ DWORD cRanges) = 0;
  6737. virtual HRESULT STDMETHODCALLTYPE GetProxySettings(
  6738. LPCWSTR pwszProtocol,
  6739. WMT_PROXY_SETTINGS __RPC_FAR *pProxySetting) = 0;
  6740. virtual HRESULT STDMETHODCALLTYPE SetProxySettings(
  6741. LPCWSTR pwszProtocol,
  6742. WMT_PROXY_SETTINGS ProxySetting) = 0;
  6743. virtual HRESULT STDMETHODCALLTYPE GetProxyHostName(
  6744. /* [in] */ LPCWSTR pwszProtocol,
  6745. /* [out] */ WCHAR __RPC_FAR *pwszHostName,
  6746. /* [out][in] */ DWORD __RPC_FAR *pcchHostName) = 0;
  6747. virtual HRESULT STDMETHODCALLTYPE SetProxyHostName(
  6748. /* [in] */ LPCWSTR pwszProtocol,
  6749. /* [in] */ LPCWSTR pwszHostName) = 0;
  6750. virtual HRESULT STDMETHODCALLTYPE GetProxyPort(
  6751. /* [in] */ LPCWSTR pwszProtocol,
  6752. /* [out] */ DWORD __RPC_FAR *pdwPort) = 0;
  6753. virtual HRESULT STDMETHODCALLTYPE SetProxyPort(
  6754. /* [in] */ LPCWSTR pwszProtocol,
  6755. /* [in] */ DWORD dwPort) = 0;
  6756. virtual HRESULT STDMETHODCALLTYPE GetProxyExceptionList(
  6757. /* [in] */ LPCWSTR pwszProtocol,
  6758. /* [out] */ WCHAR __RPC_FAR *pwszExceptionList,
  6759. /* [out][in] */ DWORD __RPC_FAR *pcchExceptionList) = 0;
  6760. virtual HRESULT STDMETHODCALLTYPE SetProxyExceptionList(
  6761. /* [in] */ LPCWSTR pwszProtocol,
  6762. /* [in] */ LPCWSTR pwszExceptionList) = 0;
  6763. virtual HRESULT STDMETHODCALLTYPE GetProxyBypassForLocal(
  6764. /* [in] */ LPCWSTR pwszProtocol,
  6765. /* [out] */ BOOL __RPC_FAR *pfBypassForLocal) = 0;
  6766. virtual HRESULT STDMETHODCALLTYPE SetProxyBypassForLocal(
  6767. /* [in] */ LPCWSTR pwszProtocol,
  6768. /* [in] */ BOOL fBypassForLocal) = 0;
  6769. virtual HRESULT STDMETHODCALLTYPE GetForceRerunAutoProxyDetection(
  6770. /* [out] */ BOOL __RPC_FAR *pfForceRerunDetection) = 0;
  6771. virtual HRESULT STDMETHODCALLTYPE SetForceRerunAutoProxyDetection(
  6772. /* [in] */ BOOL fForceRerunDetection) = 0;
  6773. virtual HRESULT STDMETHODCALLTYPE GetEnableMulticast(
  6774. /* [out] */ BOOL __RPC_FAR *pfEnableMulticast) = 0;
  6775. virtual HRESULT STDMETHODCALLTYPE SetEnableMulticast(
  6776. /* [in] */ BOOL fEnableMulticast) = 0;
  6777. virtual HRESULT STDMETHODCALLTYPE GetEnableHTTP(
  6778. /* [out] */ BOOL __RPC_FAR *pfEnableHTTP) = 0;
  6779. virtual HRESULT STDMETHODCALLTYPE SetEnableHTTP(
  6780. /* [in] */ BOOL fEnableHTTP) = 0;
  6781. virtual HRESULT STDMETHODCALLTYPE GetEnableUDP(
  6782. /* [out] */ BOOL __RPC_FAR *pfEnableUDP) = 0;
  6783. virtual HRESULT STDMETHODCALLTYPE SetEnableUDP(
  6784. /* [in] */ BOOL fEnableUDP) = 0;
  6785. virtual HRESULT STDMETHODCALLTYPE GetEnableTCP(
  6786. /* [out] */ BOOL __RPC_FAR *pfEnableTCP) = 0;
  6787. virtual HRESULT STDMETHODCALLTYPE SetEnableTCP(
  6788. /* [in] */ BOOL fEnableTCP) = 0;
  6789. virtual HRESULT STDMETHODCALLTYPE ResetProtocolRollover( void) = 0;
  6790. virtual HRESULT STDMETHODCALLTYPE GetConnectionBandwidth(
  6791. /* [out] */ DWORD __RPC_FAR *pdwConnectionBandwidth) = 0;
  6792. virtual HRESULT STDMETHODCALLTYPE SetConnectionBandwidth(
  6793. /* [in] */ DWORD dwConnectionBandwidth) = 0;
  6794. virtual HRESULT STDMETHODCALLTYPE GetNumProtocolsSupported(
  6795. /* [out] */ DWORD __RPC_FAR *pcProtocols) = 0;
  6796. virtual HRESULT STDMETHODCALLTYPE GetSupportedProtocolName(
  6797. /* [in] */ DWORD dwProtocolNum,
  6798. /* [out] */ WCHAR __RPC_FAR *pwszProtocolName,
  6799. /* [out][in] */ DWORD __RPC_FAR *pcchProtocolName) = 0;
  6800. virtual HRESULT STDMETHODCALLTYPE AddLoggingUrl(
  6801. /* [in] */ LPCWSTR pwszUrl) = 0;
  6802. virtual HRESULT STDMETHODCALLTYPE GetLoggingUrl(
  6803. /* [in] */ DWORD dwIndex,
  6804. /* [out] */ LPWSTR pwszUrl,
  6805. /* [out][in] */ DWORD __RPC_FAR *pcchUrl) = 0;
  6806. virtual HRESULT STDMETHODCALLTYPE GetLoggingUrlCount(
  6807. /* [out] */ DWORD __RPC_FAR *pdwUrlCount) = 0;
  6808. virtual HRESULT STDMETHODCALLTYPE ResetLoggingUrlList( void) = 0;
  6809. };
  6810. #else /* C style interface */
  6811. typedef struct IWMReaderNetworkConfigVtbl
  6812. {
  6813. BEGIN_INTERFACE
  6814. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  6815. IWMReaderNetworkConfig __RPC_FAR * This,
  6816. /* [in] */ REFIID riid,
  6817. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6818. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  6819. IWMReaderNetworkConfig __RPC_FAR * This);
  6820. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  6821. IWMReaderNetworkConfig __RPC_FAR * This);
  6822. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBufferingTime )(
  6823. IWMReaderNetworkConfig __RPC_FAR * This,
  6824. /* [out] */ QWORD __RPC_FAR *pcnsBufferingTime);
  6825. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBufferingTime )(
  6826. IWMReaderNetworkConfig __RPC_FAR * This,
  6827. /* [in] */ QWORD cnsBufferingTime);
  6828. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetUDPPortRanges )(
  6829. IWMReaderNetworkConfig __RPC_FAR * This,
  6830. /* [out] */ WM_PORT_NUMBER_RANGE __RPC_FAR *pRangeArray,
  6831. /* [out][in] */ DWORD __RPC_FAR *pcRanges);
  6832. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUDPPortRanges )(
  6833. IWMReaderNetworkConfig __RPC_FAR * This,
  6834. /* [in] */ WM_PORT_NUMBER_RANGE __RPC_FAR *pRangeArray,
  6835. /* [in] */ DWORD cRanges);
  6836. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProxySettings )(
  6837. IWMReaderNetworkConfig __RPC_FAR * This,
  6838. LPCWSTR pwszProtocol,
  6839. WMT_PROXY_SETTINGS __RPC_FAR *pProxySetting);
  6840. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProxySettings )(
  6841. IWMReaderNetworkConfig __RPC_FAR * This,
  6842. LPCWSTR pwszProtocol,
  6843. WMT_PROXY_SETTINGS ProxySetting);
  6844. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProxyHostName )(
  6845. IWMReaderNetworkConfig __RPC_FAR * This,
  6846. /* [in] */ LPCWSTR pwszProtocol,
  6847. /* [out] */ WCHAR __RPC_FAR *pwszHostName,
  6848. /* [out][in] */ DWORD __RPC_FAR *pcchHostName);
  6849. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProxyHostName )(
  6850. IWMReaderNetworkConfig __RPC_FAR * This,
  6851. /* [in] */ LPCWSTR pwszProtocol,
  6852. /* [in] */ LPCWSTR pwszHostName);
  6853. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProxyPort )(
  6854. IWMReaderNetworkConfig __RPC_FAR * This,
  6855. /* [in] */ LPCWSTR pwszProtocol,
  6856. /* [out] */ DWORD __RPC_FAR *pdwPort);
  6857. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProxyPort )(
  6858. IWMReaderNetworkConfig __RPC_FAR * This,
  6859. /* [in] */ LPCWSTR pwszProtocol,
  6860. /* [in] */ DWORD dwPort);
  6861. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProxyExceptionList )(
  6862. IWMReaderNetworkConfig __RPC_FAR * This,
  6863. /* [in] */ LPCWSTR pwszProtocol,
  6864. /* [out] */ WCHAR __RPC_FAR *pwszExceptionList,
  6865. /* [out][in] */ DWORD __RPC_FAR *pcchExceptionList);
  6866. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProxyExceptionList )(
  6867. IWMReaderNetworkConfig __RPC_FAR * This,
  6868. /* [in] */ LPCWSTR pwszProtocol,
  6869. /* [in] */ LPCWSTR pwszExceptionList);
  6870. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProxyBypassForLocal )(
  6871. IWMReaderNetworkConfig __RPC_FAR * This,
  6872. /* [in] */ LPCWSTR pwszProtocol,
  6873. /* [out] */ BOOL __RPC_FAR *pfBypassForLocal);
  6874. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProxyBypassForLocal )(
  6875. IWMReaderNetworkConfig __RPC_FAR * This,
  6876. /* [in] */ LPCWSTR pwszProtocol,
  6877. /* [in] */ BOOL fBypassForLocal);
  6878. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetForceRerunAutoProxyDetection )(
  6879. IWMReaderNetworkConfig __RPC_FAR * This,
  6880. /* [out] */ BOOL __RPC_FAR *pfForceRerunDetection);
  6881. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetForceRerunAutoProxyDetection )(
  6882. IWMReaderNetworkConfig __RPC_FAR * This,
  6883. /* [in] */ BOOL fForceRerunDetection);
  6884. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEnableMulticast )(
  6885. IWMReaderNetworkConfig __RPC_FAR * This,
  6886. /* [out] */ BOOL __RPC_FAR *pfEnableMulticast);
  6887. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetEnableMulticast )(
  6888. IWMReaderNetworkConfig __RPC_FAR * This,
  6889. /* [in] */ BOOL fEnableMulticast);
  6890. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEnableHTTP )(
  6891. IWMReaderNetworkConfig __RPC_FAR * This,
  6892. /* [out] */ BOOL __RPC_FAR *pfEnableHTTP);
  6893. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetEnableHTTP )(
  6894. IWMReaderNetworkConfig __RPC_FAR * This,
  6895. /* [in] */ BOOL fEnableHTTP);
  6896. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEnableUDP )(
  6897. IWMReaderNetworkConfig __RPC_FAR * This,
  6898. /* [out] */ BOOL __RPC_FAR *pfEnableUDP);
  6899. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetEnableUDP )(
  6900. IWMReaderNetworkConfig __RPC_FAR * This,
  6901. /* [in] */ BOOL fEnableUDP);
  6902. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEnableTCP )(
  6903. IWMReaderNetworkConfig __RPC_FAR * This,
  6904. /* [out] */ BOOL __RPC_FAR *pfEnableTCP);
  6905. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetEnableTCP )(
  6906. IWMReaderNetworkConfig __RPC_FAR * This,
  6907. /* [in] */ BOOL fEnableTCP);
  6908. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ResetProtocolRollover )(
  6909. IWMReaderNetworkConfig __RPC_FAR * This);
  6910. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetConnectionBandwidth )(
  6911. IWMReaderNetworkConfig __RPC_FAR * This,
  6912. /* [out] */ DWORD __RPC_FAR *pdwConnectionBandwidth);
  6913. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetConnectionBandwidth )(
  6914. IWMReaderNetworkConfig __RPC_FAR * This,
  6915. /* [in] */ DWORD dwConnectionBandwidth);
  6916. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNumProtocolsSupported )(
  6917. IWMReaderNetworkConfig __RPC_FAR * This,
  6918. /* [out] */ DWORD __RPC_FAR *pcProtocols);
  6919. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSupportedProtocolName )(
  6920. IWMReaderNetworkConfig __RPC_FAR * This,
  6921. /* [in] */ DWORD dwProtocolNum,
  6922. /* [out] */ WCHAR __RPC_FAR *pwszProtocolName,
  6923. /* [out][in] */ DWORD __RPC_FAR *pcchProtocolName);
  6924. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddLoggingUrl )(
  6925. IWMReaderNetworkConfig __RPC_FAR * This,
  6926. /* [in] */ LPCWSTR pwszUrl);
  6927. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLoggingUrl )(
  6928. IWMReaderNetworkConfig __RPC_FAR * This,
  6929. /* [in] */ DWORD dwIndex,
  6930. /* [out] */ LPWSTR pwszUrl,
  6931. /* [out][in] */ DWORD __RPC_FAR *pcchUrl);
  6932. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLoggingUrlCount )(
  6933. IWMReaderNetworkConfig __RPC_FAR * This,
  6934. /* [out] */ DWORD __RPC_FAR *pdwUrlCount);
  6935. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ResetLoggingUrlList )(
  6936. IWMReaderNetworkConfig __RPC_FAR * This);
  6937. END_INTERFACE
  6938. } IWMReaderNetworkConfigVtbl;
  6939. interface IWMReaderNetworkConfig
  6940. {
  6941. CONST_VTBL struct IWMReaderNetworkConfigVtbl __RPC_FAR *lpVtbl;
  6942. };
  6943. #ifdef COBJMACROS
  6944. #define IWMReaderNetworkConfig_QueryInterface(This,riid,ppvObject) \
  6945. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6946. #define IWMReaderNetworkConfig_AddRef(This) \
  6947. (This)->lpVtbl -> AddRef(This)
  6948. #define IWMReaderNetworkConfig_Release(This) \
  6949. (This)->lpVtbl -> Release(This)
  6950. #define IWMReaderNetworkConfig_GetBufferingTime(This,pcnsBufferingTime) \
  6951. (This)->lpVtbl -> GetBufferingTime(This,pcnsBufferingTime)
  6952. #define IWMReaderNetworkConfig_SetBufferingTime(This,cnsBufferingTime) \
  6953. (This)->lpVtbl -> SetBufferingTime(This,cnsBufferingTime)
  6954. #define IWMReaderNetworkConfig_GetUDPPortRanges(This,pRangeArray,pcRanges) \
  6955. (This)->lpVtbl -> GetUDPPortRanges(This,pRangeArray,pcRanges)
  6956. #define IWMReaderNetworkConfig_SetUDPPortRanges(This,pRangeArray,cRanges) \
  6957. (This)->lpVtbl -> SetUDPPortRanges(This,pRangeArray,cRanges)
  6958. #define IWMReaderNetworkConfig_GetProxySettings(This,pwszProtocol,pProxySetting) \
  6959. (This)->lpVtbl -> GetProxySettings(This,pwszProtocol,pProxySetting)
  6960. #define IWMReaderNetworkConfig_SetProxySettings(This,pwszProtocol,ProxySetting) \
  6961. (This)->lpVtbl -> SetProxySettings(This,pwszProtocol,ProxySetting)
  6962. #define IWMReaderNetworkConfig_GetProxyHostName(This,pwszProtocol,pwszHostName,pcchHostName) \
  6963. (This)->lpVtbl -> GetProxyHostName(This,pwszProtocol,pwszHostName,pcchHostName)
  6964. #define IWMReaderNetworkConfig_SetProxyHostName(This,pwszProtocol,pwszHostName) \
  6965. (This)->lpVtbl -> SetProxyHostName(This,pwszProtocol,pwszHostName)
  6966. #define IWMReaderNetworkConfig_GetProxyPort(This,pwszProtocol,pdwPort) \
  6967. (This)->lpVtbl -> GetProxyPort(This,pwszProtocol,pdwPort)
  6968. #define IWMReaderNetworkConfig_SetProxyPort(This,pwszProtocol,dwPort) \
  6969. (This)->lpVtbl -> SetProxyPort(This,pwszProtocol,dwPort)
  6970. #define IWMReaderNetworkConfig_GetProxyExceptionList(This,pwszProtocol,pwszExceptionList,pcchExceptionList) \
  6971. (This)->lpVtbl -> GetProxyExceptionList(This,pwszProtocol,pwszExceptionList,pcchExceptionList)
  6972. #define IWMReaderNetworkConfig_SetProxyExceptionList(This,pwszProtocol,pwszExceptionList) \
  6973. (This)->lpVtbl -> SetProxyExceptionList(This,pwszProtocol,pwszExceptionList)
  6974. #define IWMReaderNetworkConfig_GetProxyBypassForLocal(This,pwszProtocol,pfBypassForLocal) \
  6975. (This)->lpVtbl -> GetProxyBypassForLocal(This,pwszProtocol,pfBypassForLocal)
  6976. #define IWMReaderNetworkConfig_SetProxyBypassForLocal(This,pwszProtocol,fBypassForLocal) \
  6977. (This)->lpVtbl -> SetProxyBypassForLocal(This,pwszProtocol,fBypassForLocal)
  6978. #define IWMReaderNetworkConfig_GetForceRerunAutoProxyDetection(This,pfForceRerunDetection) \
  6979. (This)->lpVtbl -> GetForceRerunAutoProxyDetection(This,pfForceRerunDetection)
  6980. #define IWMReaderNetworkConfig_SetForceRerunAutoProxyDetection(This,fForceRerunDetection) \
  6981. (This)->lpVtbl -> SetForceRerunAutoProxyDetection(This,fForceRerunDetection)
  6982. #define IWMReaderNetworkConfig_GetEnableMulticast(This,pfEnableMulticast) \
  6983. (This)->lpVtbl -> GetEnableMulticast(This,pfEnableMulticast)
  6984. #define IWMReaderNetworkConfig_SetEnableMulticast(This,fEnableMulticast) \
  6985. (This)->lpVtbl -> SetEnableMulticast(This,fEnableMulticast)
  6986. #define IWMReaderNetworkConfig_GetEnableHTTP(This,pfEnableHTTP) \
  6987. (This)->lpVtbl -> GetEnableHTTP(This,pfEnableHTTP)
  6988. #define IWMReaderNetworkConfig_SetEnableHTTP(This,fEnableHTTP) \
  6989. (This)->lpVtbl -> SetEnableHTTP(This,fEnableHTTP)
  6990. #define IWMReaderNetworkConfig_GetEnableUDP(This,pfEnableUDP) \
  6991. (This)->lpVtbl -> GetEnableUDP(This,pfEnableUDP)
  6992. #define IWMReaderNetworkConfig_SetEnableUDP(This,fEnableUDP) \
  6993. (This)->lpVtbl -> SetEnableUDP(This,fEnableUDP)
  6994. #define IWMReaderNetworkConfig_GetEnableTCP(This,pfEnableTCP) \
  6995. (This)->lpVtbl -> GetEnableTCP(This,pfEnableTCP)
  6996. #define IWMReaderNetworkConfig_SetEnableTCP(This,fEnableTCP) \
  6997. (This)->lpVtbl -> SetEnableTCP(This,fEnableTCP)
  6998. #define IWMReaderNetworkConfig_ResetProtocolRollover(This) \
  6999. (This)->lpVtbl -> ResetProtocolRollover(This)
  7000. #define IWMReaderNetworkConfig_GetConnectionBandwidth(This,pdwConnectionBandwidth) \
  7001. (This)->lpVtbl -> GetConnectionBandwidth(This,pdwConnectionBandwidth)
  7002. #define IWMReaderNetworkConfig_SetConnectionBandwidth(This,dwConnectionBandwidth) \
  7003. (This)->lpVtbl -> SetConnectionBandwidth(This,dwConnectionBandwidth)
  7004. #define IWMReaderNetworkConfig_GetNumProtocolsSupported(This,pcProtocols) \
  7005. (This)->lpVtbl -> GetNumProtocolsSupported(This,pcProtocols)
  7006. #define IWMReaderNetworkConfig_GetSupportedProtocolName(This,dwProtocolNum,pwszProtocolName,pcchProtocolName) \
  7007. (This)->lpVtbl -> GetSupportedProtocolName(This,dwProtocolNum,pwszProtocolName,pcchProtocolName)
  7008. #define IWMReaderNetworkConfig_AddLoggingUrl(This,pwszUrl) \
  7009. (This)->lpVtbl -> AddLoggingUrl(This,pwszUrl)
  7010. #define IWMReaderNetworkConfig_GetLoggingUrl(This,dwIndex,pwszUrl,pcchUrl) \
  7011. (This)->lpVtbl -> GetLoggingUrl(This,dwIndex,pwszUrl,pcchUrl)
  7012. #define IWMReaderNetworkConfig_GetLoggingUrlCount(This,pdwUrlCount) \
  7013. (This)->lpVtbl -> GetLoggingUrlCount(This,pdwUrlCount)
  7014. #define IWMReaderNetworkConfig_ResetLoggingUrlList(This) \
  7015. (This)->lpVtbl -> ResetLoggingUrlList(This)
  7016. #endif /* COBJMACROS */
  7017. #endif /* C style interface */
  7018. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetBufferingTime_Proxy(
  7019. IWMReaderNetworkConfig __RPC_FAR * This,
  7020. /* [out] */ QWORD __RPC_FAR *pcnsBufferingTime);
  7021. void __RPC_STUB IWMReaderNetworkConfig_GetBufferingTime_Stub(
  7022. IRpcStubBuffer *This,
  7023. IRpcChannelBuffer *_pRpcChannelBuffer,
  7024. PRPC_MESSAGE _pRpcMessage,
  7025. DWORD *_pdwStubPhase);
  7026. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetBufferingTime_Proxy(
  7027. IWMReaderNetworkConfig __RPC_FAR * This,
  7028. /* [in] */ QWORD cnsBufferingTime);
  7029. void __RPC_STUB IWMReaderNetworkConfig_SetBufferingTime_Stub(
  7030. IRpcStubBuffer *This,
  7031. IRpcChannelBuffer *_pRpcChannelBuffer,
  7032. PRPC_MESSAGE _pRpcMessage,
  7033. DWORD *_pdwStubPhase);
  7034. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetUDPPortRanges_Proxy(
  7035. IWMReaderNetworkConfig __RPC_FAR * This,
  7036. /* [out] */ WM_PORT_NUMBER_RANGE __RPC_FAR *pRangeArray,
  7037. /* [out][in] */ DWORD __RPC_FAR *pcRanges);
  7038. void __RPC_STUB IWMReaderNetworkConfig_GetUDPPortRanges_Stub(
  7039. IRpcStubBuffer *This,
  7040. IRpcChannelBuffer *_pRpcChannelBuffer,
  7041. PRPC_MESSAGE _pRpcMessage,
  7042. DWORD *_pdwStubPhase);
  7043. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetUDPPortRanges_Proxy(
  7044. IWMReaderNetworkConfig __RPC_FAR * This,
  7045. /* [in] */ WM_PORT_NUMBER_RANGE __RPC_FAR *pRangeArray,
  7046. /* [in] */ DWORD cRanges);
  7047. void __RPC_STUB IWMReaderNetworkConfig_SetUDPPortRanges_Stub(
  7048. IRpcStubBuffer *This,
  7049. IRpcChannelBuffer *_pRpcChannelBuffer,
  7050. PRPC_MESSAGE _pRpcMessage,
  7051. DWORD *_pdwStubPhase);
  7052. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetProxySettings_Proxy(
  7053. IWMReaderNetworkConfig __RPC_FAR * This,
  7054. LPCWSTR pwszProtocol,
  7055. WMT_PROXY_SETTINGS __RPC_FAR *pProxySetting);
  7056. void __RPC_STUB IWMReaderNetworkConfig_GetProxySettings_Stub(
  7057. IRpcStubBuffer *This,
  7058. IRpcChannelBuffer *_pRpcChannelBuffer,
  7059. PRPC_MESSAGE _pRpcMessage,
  7060. DWORD *_pdwStubPhase);
  7061. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetProxySettings_Proxy(
  7062. IWMReaderNetworkConfig __RPC_FAR * This,
  7063. LPCWSTR pwszProtocol,
  7064. WMT_PROXY_SETTINGS ProxySetting);
  7065. void __RPC_STUB IWMReaderNetworkConfig_SetProxySettings_Stub(
  7066. IRpcStubBuffer *This,
  7067. IRpcChannelBuffer *_pRpcChannelBuffer,
  7068. PRPC_MESSAGE _pRpcMessage,
  7069. DWORD *_pdwStubPhase);
  7070. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetProxyHostName_Proxy(
  7071. IWMReaderNetworkConfig __RPC_FAR * This,
  7072. /* [in] */ LPCWSTR pwszProtocol,
  7073. /* [out] */ WCHAR __RPC_FAR *pwszHostName,
  7074. /* [out][in] */ DWORD __RPC_FAR *pcchHostName);
  7075. void __RPC_STUB IWMReaderNetworkConfig_GetProxyHostName_Stub(
  7076. IRpcStubBuffer *This,
  7077. IRpcChannelBuffer *_pRpcChannelBuffer,
  7078. PRPC_MESSAGE _pRpcMessage,
  7079. DWORD *_pdwStubPhase);
  7080. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetProxyHostName_Proxy(
  7081. IWMReaderNetworkConfig __RPC_FAR * This,
  7082. /* [in] */ LPCWSTR pwszProtocol,
  7083. /* [in] */ LPCWSTR pwszHostName);
  7084. void __RPC_STUB IWMReaderNetworkConfig_SetProxyHostName_Stub(
  7085. IRpcStubBuffer *This,
  7086. IRpcChannelBuffer *_pRpcChannelBuffer,
  7087. PRPC_MESSAGE _pRpcMessage,
  7088. DWORD *_pdwStubPhase);
  7089. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetProxyPort_Proxy(
  7090. IWMReaderNetworkConfig __RPC_FAR * This,
  7091. /* [in] */ LPCWSTR pwszProtocol,
  7092. /* [out] */ DWORD __RPC_FAR *pdwPort);
  7093. void __RPC_STUB IWMReaderNetworkConfig_GetProxyPort_Stub(
  7094. IRpcStubBuffer *This,
  7095. IRpcChannelBuffer *_pRpcChannelBuffer,
  7096. PRPC_MESSAGE _pRpcMessage,
  7097. DWORD *_pdwStubPhase);
  7098. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetProxyPort_Proxy(
  7099. IWMReaderNetworkConfig __RPC_FAR * This,
  7100. /* [in] */ LPCWSTR pwszProtocol,
  7101. /* [in] */ DWORD dwPort);
  7102. void __RPC_STUB IWMReaderNetworkConfig_SetProxyPort_Stub(
  7103. IRpcStubBuffer *This,
  7104. IRpcChannelBuffer *_pRpcChannelBuffer,
  7105. PRPC_MESSAGE _pRpcMessage,
  7106. DWORD *_pdwStubPhase);
  7107. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetProxyExceptionList_Proxy(
  7108. IWMReaderNetworkConfig __RPC_FAR * This,
  7109. /* [in] */ LPCWSTR pwszProtocol,
  7110. /* [out] */ WCHAR __RPC_FAR *pwszExceptionList,
  7111. /* [out][in] */ DWORD __RPC_FAR *pcchExceptionList);
  7112. void __RPC_STUB IWMReaderNetworkConfig_GetProxyExceptionList_Stub(
  7113. IRpcStubBuffer *This,
  7114. IRpcChannelBuffer *_pRpcChannelBuffer,
  7115. PRPC_MESSAGE _pRpcMessage,
  7116. DWORD *_pdwStubPhase);
  7117. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetProxyExceptionList_Proxy(
  7118. IWMReaderNetworkConfig __RPC_FAR * This,
  7119. /* [in] */ LPCWSTR pwszProtocol,
  7120. /* [in] */ LPCWSTR pwszExceptionList);
  7121. void __RPC_STUB IWMReaderNetworkConfig_SetProxyExceptionList_Stub(
  7122. IRpcStubBuffer *This,
  7123. IRpcChannelBuffer *_pRpcChannelBuffer,
  7124. PRPC_MESSAGE _pRpcMessage,
  7125. DWORD *_pdwStubPhase);
  7126. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetProxyBypassForLocal_Proxy(
  7127. IWMReaderNetworkConfig __RPC_FAR * This,
  7128. /* [in] */ LPCWSTR pwszProtocol,
  7129. /* [out] */ BOOL __RPC_FAR *pfBypassForLocal);
  7130. void __RPC_STUB IWMReaderNetworkConfig_GetProxyBypassForLocal_Stub(
  7131. IRpcStubBuffer *This,
  7132. IRpcChannelBuffer *_pRpcChannelBuffer,
  7133. PRPC_MESSAGE _pRpcMessage,
  7134. DWORD *_pdwStubPhase);
  7135. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetProxyBypassForLocal_Proxy(
  7136. IWMReaderNetworkConfig __RPC_FAR * This,
  7137. /* [in] */ LPCWSTR pwszProtocol,
  7138. /* [in] */ BOOL fBypassForLocal);
  7139. void __RPC_STUB IWMReaderNetworkConfig_SetProxyBypassForLocal_Stub(
  7140. IRpcStubBuffer *This,
  7141. IRpcChannelBuffer *_pRpcChannelBuffer,
  7142. PRPC_MESSAGE _pRpcMessage,
  7143. DWORD *_pdwStubPhase);
  7144. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetForceRerunAutoProxyDetection_Proxy(
  7145. IWMReaderNetworkConfig __RPC_FAR * This,
  7146. /* [out] */ BOOL __RPC_FAR *pfForceRerunDetection);
  7147. void __RPC_STUB IWMReaderNetworkConfig_GetForceRerunAutoProxyDetection_Stub(
  7148. IRpcStubBuffer *This,
  7149. IRpcChannelBuffer *_pRpcChannelBuffer,
  7150. PRPC_MESSAGE _pRpcMessage,
  7151. DWORD *_pdwStubPhase);
  7152. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetForceRerunAutoProxyDetection_Proxy(
  7153. IWMReaderNetworkConfig __RPC_FAR * This,
  7154. /* [in] */ BOOL fForceRerunDetection);
  7155. void __RPC_STUB IWMReaderNetworkConfig_SetForceRerunAutoProxyDetection_Stub(
  7156. IRpcStubBuffer *This,
  7157. IRpcChannelBuffer *_pRpcChannelBuffer,
  7158. PRPC_MESSAGE _pRpcMessage,
  7159. DWORD *_pdwStubPhase);
  7160. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetEnableMulticast_Proxy(
  7161. IWMReaderNetworkConfig __RPC_FAR * This,
  7162. /* [out] */ BOOL __RPC_FAR *pfEnableMulticast);
  7163. void __RPC_STUB IWMReaderNetworkConfig_GetEnableMulticast_Stub(
  7164. IRpcStubBuffer *This,
  7165. IRpcChannelBuffer *_pRpcChannelBuffer,
  7166. PRPC_MESSAGE _pRpcMessage,
  7167. DWORD *_pdwStubPhase);
  7168. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetEnableMulticast_Proxy(
  7169. IWMReaderNetworkConfig __RPC_FAR * This,
  7170. /* [in] */ BOOL fEnableMulticast);
  7171. void __RPC_STUB IWMReaderNetworkConfig_SetEnableMulticast_Stub(
  7172. IRpcStubBuffer *This,
  7173. IRpcChannelBuffer *_pRpcChannelBuffer,
  7174. PRPC_MESSAGE _pRpcMessage,
  7175. DWORD *_pdwStubPhase);
  7176. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetEnableHTTP_Proxy(
  7177. IWMReaderNetworkConfig __RPC_FAR * This,
  7178. /* [out] */ BOOL __RPC_FAR *pfEnableHTTP);
  7179. void __RPC_STUB IWMReaderNetworkConfig_GetEnableHTTP_Stub(
  7180. IRpcStubBuffer *This,
  7181. IRpcChannelBuffer *_pRpcChannelBuffer,
  7182. PRPC_MESSAGE _pRpcMessage,
  7183. DWORD *_pdwStubPhase);
  7184. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetEnableHTTP_Proxy(
  7185. IWMReaderNetworkConfig __RPC_FAR * This,
  7186. /* [in] */ BOOL fEnableHTTP);
  7187. void __RPC_STUB IWMReaderNetworkConfig_SetEnableHTTP_Stub(
  7188. IRpcStubBuffer *This,
  7189. IRpcChannelBuffer *_pRpcChannelBuffer,
  7190. PRPC_MESSAGE _pRpcMessage,
  7191. DWORD *_pdwStubPhase);
  7192. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetEnableUDP_Proxy(
  7193. IWMReaderNetworkConfig __RPC_FAR * This,
  7194. /* [out] */ BOOL __RPC_FAR *pfEnableUDP);
  7195. void __RPC_STUB IWMReaderNetworkConfig_GetEnableUDP_Stub(
  7196. IRpcStubBuffer *This,
  7197. IRpcChannelBuffer *_pRpcChannelBuffer,
  7198. PRPC_MESSAGE _pRpcMessage,
  7199. DWORD *_pdwStubPhase);
  7200. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetEnableUDP_Proxy(
  7201. IWMReaderNetworkConfig __RPC_FAR * This,
  7202. /* [in] */ BOOL fEnableUDP);
  7203. void __RPC_STUB IWMReaderNetworkConfig_SetEnableUDP_Stub(
  7204. IRpcStubBuffer *This,
  7205. IRpcChannelBuffer *_pRpcChannelBuffer,
  7206. PRPC_MESSAGE _pRpcMessage,
  7207. DWORD *_pdwStubPhase);
  7208. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetEnableTCP_Proxy(
  7209. IWMReaderNetworkConfig __RPC_FAR * This,
  7210. /* [out] */ BOOL __RPC_FAR *pfEnableTCP);
  7211. void __RPC_STUB IWMReaderNetworkConfig_GetEnableTCP_Stub(
  7212. IRpcStubBuffer *This,
  7213. IRpcChannelBuffer *_pRpcChannelBuffer,
  7214. PRPC_MESSAGE _pRpcMessage,
  7215. DWORD *_pdwStubPhase);
  7216. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetEnableTCP_Proxy(
  7217. IWMReaderNetworkConfig __RPC_FAR * This,
  7218. /* [in] */ BOOL fEnableTCP);
  7219. void __RPC_STUB IWMReaderNetworkConfig_SetEnableTCP_Stub(
  7220. IRpcStubBuffer *This,
  7221. IRpcChannelBuffer *_pRpcChannelBuffer,
  7222. PRPC_MESSAGE _pRpcMessage,
  7223. DWORD *_pdwStubPhase);
  7224. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_ResetProtocolRollover_Proxy(
  7225. IWMReaderNetworkConfig __RPC_FAR * This);
  7226. void __RPC_STUB IWMReaderNetworkConfig_ResetProtocolRollover_Stub(
  7227. IRpcStubBuffer *This,
  7228. IRpcChannelBuffer *_pRpcChannelBuffer,
  7229. PRPC_MESSAGE _pRpcMessage,
  7230. DWORD *_pdwStubPhase);
  7231. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetConnectionBandwidth_Proxy(
  7232. IWMReaderNetworkConfig __RPC_FAR * This,
  7233. /* [out] */ DWORD __RPC_FAR *pdwConnectionBandwidth);
  7234. void __RPC_STUB IWMReaderNetworkConfig_GetConnectionBandwidth_Stub(
  7235. IRpcStubBuffer *This,
  7236. IRpcChannelBuffer *_pRpcChannelBuffer,
  7237. PRPC_MESSAGE _pRpcMessage,
  7238. DWORD *_pdwStubPhase);
  7239. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetConnectionBandwidth_Proxy(
  7240. IWMReaderNetworkConfig __RPC_FAR * This,
  7241. /* [in] */ DWORD dwConnectionBandwidth);
  7242. void __RPC_STUB IWMReaderNetworkConfig_SetConnectionBandwidth_Stub(
  7243. IRpcStubBuffer *This,
  7244. IRpcChannelBuffer *_pRpcChannelBuffer,
  7245. PRPC_MESSAGE _pRpcMessage,
  7246. DWORD *_pdwStubPhase);
  7247. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetNumProtocolsSupported_Proxy(
  7248. IWMReaderNetworkConfig __RPC_FAR * This,
  7249. /* [out] */ DWORD __RPC_FAR *pcProtocols);
  7250. void __RPC_STUB IWMReaderNetworkConfig_GetNumProtocolsSupported_Stub(
  7251. IRpcStubBuffer *This,
  7252. IRpcChannelBuffer *_pRpcChannelBuffer,
  7253. PRPC_MESSAGE _pRpcMessage,
  7254. DWORD *_pdwStubPhase);
  7255. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetSupportedProtocolName_Proxy(
  7256. IWMReaderNetworkConfig __RPC_FAR * This,
  7257. /* [in] */ DWORD dwProtocolNum,
  7258. /* [out] */ WCHAR __RPC_FAR *pwszProtocolName,
  7259. /* [out][in] */ DWORD __RPC_FAR *pcchProtocolName);
  7260. void __RPC_STUB IWMReaderNetworkConfig_GetSupportedProtocolName_Stub(
  7261. IRpcStubBuffer *This,
  7262. IRpcChannelBuffer *_pRpcChannelBuffer,
  7263. PRPC_MESSAGE _pRpcMessage,
  7264. DWORD *_pdwStubPhase);
  7265. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_AddLoggingUrl_Proxy(
  7266. IWMReaderNetworkConfig __RPC_FAR * This,
  7267. /* [in] */ LPCWSTR pwszUrl);
  7268. void __RPC_STUB IWMReaderNetworkConfig_AddLoggingUrl_Stub(
  7269. IRpcStubBuffer *This,
  7270. IRpcChannelBuffer *_pRpcChannelBuffer,
  7271. PRPC_MESSAGE _pRpcMessage,
  7272. DWORD *_pdwStubPhase);
  7273. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetLoggingUrl_Proxy(
  7274. IWMReaderNetworkConfig __RPC_FAR * This,
  7275. /* [in] */ DWORD dwIndex,
  7276. /* [out] */ LPWSTR pwszUrl,
  7277. /* [out][in] */ DWORD __RPC_FAR *pcchUrl);
  7278. void __RPC_STUB IWMReaderNetworkConfig_GetLoggingUrl_Stub(
  7279. IRpcStubBuffer *This,
  7280. IRpcChannelBuffer *_pRpcChannelBuffer,
  7281. PRPC_MESSAGE _pRpcMessage,
  7282. DWORD *_pdwStubPhase);
  7283. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetLoggingUrlCount_Proxy(
  7284. IWMReaderNetworkConfig __RPC_FAR * This,
  7285. /* [out] */ DWORD __RPC_FAR *pdwUrlCount);
  7286. void __RPC_STUB IWMReaderNetworkConfig_GetLoggingUrlCount_Stub(
  7287. IRpcStubBuffer *This,
  7288. IRpcChannelBuffer *_pRpcChannelBuffer,
  7289. PRPC_MESSAGE _pRpcMessage,
  7290. DWORD *_pdwStubPhase);
  7291. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_ResetLoggingUrlList_Proxy(
  7292. IWMReaderNetworkConfig __RPC_FAR * This);
  7293. void __RPC_STUB IWMReaderNetworkConfig_ResetLoggingUrlList_Stub(
  7294. IRpcStubBuffer *This,
  7295. IRpcChannelBuffer *_pRpcChannelBuffer,
  7296. PRPC_MESSAGE _pRpcMessage,
  7297. DWORD *_pdwStubPhase);
  7298. #endif /* __IWMReaderNetworkConfig_INTERFACE_DEFINED__ */
  7299. #ifndef __IWMReaderStreamClock_INTERFACE_DEFINED__
  7300. #define __IWMReaderStreamClock_INTERFACE_DEFINED__
  7301. /* interface IWMReaderStreamClock */
  7302. /* [local][unique][helpstring][uuid][object] */
  7303. EXTERN_C const IID IID_IWMReaderStreamClock;
  7304. #if defined(__cplusplus) && !defined(CINTERFACE)
  7305. MIDL_INTERFACE("96406BED-2B2B-11d3-B36B-00C04F6108FF")
  7306. IWMReaderStreamClock : public IUnknown
  7307. {
  7308. public:
  7309. virtual HRESULT STDMETHODCALLTYPE GetTime(
  7310. /* [in] */ QWORD __RPC_FAR *pcnsNow) = 0;
  7311. virtual HRESULT STDMETHODCALLTYPE SetTimer(
  7312. /* [in] */ QWORD cnsWhen,
  7313. /* [in] */ void __RPC_FAR *pvParam,
  7314. /* [out] */ DWORD __RPC_FAR *pdwTimerId) = 0;
  7315. virtual HRESULT STDMETHODCALLTYPE KillTimer(
  7316. /* [in] */ DWORD dwTimerId) = 0;
  7317. };
  7318. #else /* C style interface */
  7319. typedef struct IWMReaderStreamClockVtbl
  7320. {
  7321. BEGIN_INTERFACE
  7322. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  7323. IWMReaderStreamClock __RPC_FAR * This,
  7324. /* [in] */ REFIID riid,
  7325. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7326. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  7327. IWMReaderStreamClock __RPC_FAR * This);
  7328. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  7329. IWMReaderStreamClock __RPC_FAR * This);
  7330. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTime )(
  7331. IWMReaderStreamClock __RPC_FAR * This,
  7332. /* [in] */ QWORD __RPC_FAR *pcnsNow);
  7333. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTimer )(
  7334. IWMReaderStreamClock __RPC_FAR * This,
  7335. /* [in] */ QWORD cnsWhen,
  7336. /* [in] */ void __RPC_FAR *pvParam,
  7337. /* [out] */ DWORD __RPC_FAR *pdwTimerId);
  7338. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *KillTimer )(
  7339. IWMReaderStreamClock __RPC_FAR * This,
  7340. /* [in] */ DWORD dwTimerId);
  7341. END_INTERFACE
  7342. } IWMReaderStreamClockVtbl;
  7343. interface IWMReaderStreamClock
  7344. {
  7345. CONST_VTBL struct IWMReaderStreamClockVtbl __RPC_FAR *lpVtbl;
  7346. };
  7347. #ifdef COBJMACROS
  7348. #define IWMReaderStreamClock_QueryInterface(This,riid,ppvObject) \
  7349. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7350. #define IWMReaderStreamClock_AddRef(This) \
  7351. (This)->lpVtbl -> AddRef(This)
  7352. #define IWMReaderStreamClock_Release(This) \
  7353. (This)->lpVtbl -> Release(This)
  7354. #define IWMReaderStreamClock_GetTime(This,pcnsNow) \
  7355. (This)->lpVtbl -> GetTime(This,pcnsNow)
  7356. #define IWMReaderStreamClock_SetTimer(This,cnsWhen,pvParam,pdwTimerId) \
  7357. (This)->lpVtbl -> SetTimer(This,cnsWhen,pvParam,pdwTimerId)
  7358. #define IWMReaderStreamClock_KillTimer(This,dwTimerId) \
  7359. (This)->lpVtbl -> KillTimer(This,dwTimerId)
  7360. #endif /* COBJMACROS */
  7361. #endif /* C style interface */
  7362. HRESULT STDMETHODCALLTYPE IWMReaderStreamClock_GetTime_Proxy(
  7363. IWMReaderStreamClock __RPC_FAR * This,
  7364. /* [in] */ QWORD __RPC_FAR *pcnsNow);
  7365. void __RPC_STUB IWMReaderStreamClock_GetTime_Stub(
  7366. IRpcStubBuffer *This,
  7367. IRpcChannelBuffer *_pRpcChannelBuffer,
  7368. PRPC_MESSAGE _pRpcMessage,
  7369. DWORD *_pdwStubPhase);
  7370. HRESULT STDMETHODCALLTYPE IWMReaderStreamClock_SetTimer_Proxy(
  7371. IWMReaderStreamClock __RPC_FAR * This,
  7372. /* [in] */ QWORD cnsWhen,
  7373. /* [in] */ void __RPC_FAR *pvParam,
  7374. /* [out] */ DWORD __RPC_FAR *pdwTimerId);
  7375. void __RPC_STUB IWMReaderStreamClock_SetTimer_Stub(
  7376. IRpcStubBuffer *This,
  7377. IRpcChannelBuffer *_pRpcChannelBuffer,
  7378. PRPC_MESSAGE _pRpcMessage,
  7379. DWORD *_pdwStubPhase);
  7380. HRESULT STDMETHODCALLTYPE IWMReaderStreamClock_KillTimer_Proxy(
  7381. IWMReaderStreamClock __RPC_FAR * This,
  7382. /* [in] */ DWORD dwTimerId);
  7383. void __RPC_STUB IWMReaderStreamClock_KillTimer_Stub(
  7384. IRpcStubBuffer *This,
  7385. IRpcChannelBuffer *_pRpcChannelBuffer,
  7386. PRPC_MESSAGE _pRpcMessage,
  7387. DWORD *_pdwStubPhase);
  7388. #endif /* __IWMReaderStreamClock_INTERFACE_DEFINED__ */
  7389. #ifndef __IWMIndexer_INTERFACE_DEFINED__
  7390. #define __IWMIndexer_INTERFACE_DEFINED__
  7391. /* interface IWMIndexer */
  7392. /* [local][unique][helpstring][uuid][object] */
  7393. EXTERN_C const IID IID_IWMIndexer;
  7394. #if defined(__cplusplus) && !defined(CINTERFACE)
  7395. MIDL_INTERFACE("6d7cdc71-9888-11d3-8edc-00c04f6109cf")
  7396. IWMIndexer : public IUnknown
  7397. {
  7398. public:
  7399. virtual HRESULT STDMETHODCALLTYPE StartIndexing(
  7400. /* [in] */ const WCHAR __RPC_FAR *pwszURL,
  7401. /* [in] */ IWMStatusCallback __RPC_FAR *pCallback,
  7402. /* [in] */ void __RPC_FAR *pvContext) = 0;
  7403. virtual HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  7404. };
  7405. #else /* C style interface */
  7406. typedef struct IWMIndexerVtbl
  7407. {
  7408. BEGIN_INTERFACE
  7409. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  7410. IWMIndexer __RPC_FAR * This,
  7411. /* [in] */ REFIID riid,
  7412. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7413. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  7414. IWMIndexer __RPC_FAR * This);
  7415. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  7416. IWMIndexer __RPC_FAR * This);
  7417. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StartIndexing )(
  7418. IWMIndexer __RPC_FAR * This,
  7419. /* [in] */ const WCHAR __RPC_FAR *pwszURL,
  7420. /* [in] */ IWMStatusCallback __RPC_FAR *pCallback,
  7421. /* [in] */ void __RPC_FAR *pvContext);
  7422. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Cancel )(
  7423. IWMIndexer __RPC_FAR * This);
  7424. END_INTERFACE
  7425. } IWMIndexerVtbl;
  7426. interface IWMIndexer
  7427. {
  7428. CONST_VTBL struct IWMIndexerVtbl __RPC_FAR *lpVtbl;
  7429. };
  7430. #ifdef COBJMACROS
  7431. #define IWMIndexer_QueryInterface(This,riid,ppvObject) \
  7432. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7433. #define IWMIndexer_AddRef(This) \
  7434. (This)->lpVtbl -> AddRef(This)
  7435. #define IWMIndexer_Release(This) \
  7436. (This)->lpVtbl -> Release(This)
  7437. #define IWMIndexer_StartIndexing(This,pwszURL,pCallback,pvContext) \
  7438. (This)->lpVtbl -> StartIndexing(This,pwszURL,pCallback,pvContext)
  7439. #define IWMIndexer_Cancel(This) \
  7440. (This)->lpVtbl -> Cancel(This)
  7441. #endif /* COBJMACROS */
  7442. #endif /* C style interface */
  7443. HRESULT STDMETHODCALLTYPE IWMIndexer_StartIndexing_Proxy(
  7444. IWMIndexer __RPC_FAR * This,
  7445. /* [in] */ const WCHAR __RPC_FAR *pwszURL,
  7446. /* [in] */ IWMStatusCallback __RPC_FAR *pCallback,
  7447. /* [in] */ void __RPC_FAR *pvContext);
  7448. void __RPC_STUB IWMIndexer_StartIndexing_Stub(
  7449. IRpcStubBuffer *This,
  7450. IRpcChannelBuffer *_pRpcChannelBuffer,
  7451. PRPC_MESSAGE _pRpcMessage,
  7452. DWORD *_pdwStubPhase);
  7453. HRESULT STDMETHODCALLTYPE IWMIndexer_Cancel_Proxy(
  7454. IWMIndexer __RPC_FAR * This);
  7455. void __RPC_STUB IWMIndexer_Cancel_Stub(
  7456. IRpcStubBuffer *This,
  7457. IRpcChannelBuffer *_pRpcChannelBuffer,
  7458. PRPC_MESSAGE _pRpcMessage,
  7459. DWORD *_pdwStubPhase);
  7460. #endif /* __IWMIndexer_INTERFACE_DEFINED__ */
  7461. #ifndef __IWMLicenseBackup_INTERFACE_DEFINED__
  7462. #define __IWMLicenseBackup_INTERFACE_DEFINED__
  7463. /* interface IWMLicenseBackup */
  7464. /* [local][unique][helpstring][uuid][object] */
  7465. EXTERN_C const IID IID_IWMLicenseBackup;
  7466. #if defined(__cplusplus) && !defined(CINTERFACE)
  7467. MIDL_INTERFACE("05E5AC9F-3FB6-4508-BB43-A4067BA1EBE8")
  7468. IWMLicenseBackup : public IUnknown
  7469. {
  7470. public:
  7471. virtual HRESULT STDMETHODCALLTYPE BackupLicenses(
  7472. /* [in] */ DWORD dwFlags,
  7473. /* [in] */ IWMStatusCallback __RPC_FAR *pCallback) = 0;
  7474. virtual HRESULT STDMETHODCALLTYPE CancelLicenseBackup( void) = 0;
  7475. };
  7476. #else /* C style interface */
  7477. typedef struct IWMLicenseBackupVtbl
  7478. {
  7479. BEGIN_INTERFACE
  7480. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  7481. IWMLicenseBackup __RPC_FAR * This,
  7482. /* [in] */ REFIID riid,
  7483. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7484. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  7485. IWMLicenseBackup __RPC_FAR * This);
  7486. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  7487. IWMLicenseBackup __RPC_FAR * This);
  7488. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BackupLicenses )(
  7489. IWMLicenseBackup __RPC_FAR * This,
  7490. /* [in] */ DWORD dwFlags,
  7491. /* [in] */ IWMStatusCallback __RPC_FAR *pCallback);
  7492. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelLicenseBackup )(
  7493. IWMLicenseBackup __RPC_FAR * This);
  7494. END_INTERFACE
  7495. } IWMLicenseBackupVtbl;
  7496. interface IWMLicenseBackup
  7497. {
  7498. CONST_VTBL struct IWMLicenseBackupVtbl __RPC_FAR *lpVtbl;
  7499. };
  7500. #ifdef COBJMACROS
  7501. #define IWMLicenseBackup_QueryInterface(This,riid,ppvObject) \
  7502. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7503. #define IWMLicenseBackup_AddRef(This) \
  7504. (This)->lpVtbl -> AddRef(This)
  7505. #define IWMLicenseBackup_Release(This) \
  7506. (This)->lpVtbl -> Release(This)
  7507. #define IWMLicenseBackup_BackupLicenses(This,dwFlags,pCallback) \
  7508. (This)->lpVtbl -> BackupLicenses(This,dwFlags,pCallback)
  7509. #define IWMLicenseBackup_CancelLicenseBackup(This) \
  7510. (This)->lpVtbl -> CancelLicenseBackup(This)
  7511. #endif /* COBJMACROS */
  7512. #endif /* C style interface */
  7513. HRESULT STDMETHODCALLTYPE IWMLicenseBackup_BackupLicenses_Proxy(
  7514. IWMLicenseBackup __RPC_FAR * This,
  7515. /* [in] */ DWORD dwFlags,
  7516. /* [in] */ IWMStatusCallback __RPC_FAR *pCallback);
  7517. void __RPC_STUB IWMLicenseBackup_BackupLicenses_Stub(
  7518. IRpcStubBuffer *This,
  7519. IRpcChannelBuffer *_pRpcChannelBuffer,
  7520. PRPC_MESSAGE _pRpcMessage,
  7521. DWORD *_pdwStubPhase);
  7522. HRESULT STDMETHODCALLTYPE IWMLicenseBackup_CancelLicenseBackup_Proxy(
  7523. IWMLicenseBackup __RPC_FAR * This);
  7524. void __RPC_STUB IWMLicenseBackup_CancelLicenseBackup_Stub(
  7525. IRpcStubBuffer *This,
  7526. IRpcChannelBuffer *_pRpcChannelBuffer,
  7527. PRPC_MESSAGE _pRpcMessage,
  7528. DWORD *_pdwStubPhase);
  7529. #endif /* __IWMLicenseBackup_INTERFACE_DEFINED__ */
  7530. #ifndef __IWMLicenseRestore_INTERFACE_DEFINED__
  7531. #define __IWMLicenseRestore_INTERFACE_DEFINED__
  7532. /* interface IWMLicenseRestore */
  7533. /* [local][unique][helpstring][uuid][object] */
  7534. EXTERN_C const IID IID_IWMLicenseRestore;
  7535. #if defined(__cplusplus) && !defined(CINTERFACE)
  7536. MIDL_INTERFACE("C70B6334-0544-4efb-A245-15E65A004A13")
  7537. IWMLicenseRestore : public IUnknown
  7538. {
  7539. public:
  7540. virtual HRESULT STDMETHODCALLTYPE RestoreLicenses(
  7541. /* [in] */ DWORD dwFlags,
  7542. /* [in] */ IWMStatusCallback __RPC_FAR *pCallback) = 0;
  7543. virtual HRESULT STDMETHODCALLTYPE CancelLicenseRestore( void) = 0;
  7544. };
  7545. #else /* C style interface */
  7546. typedef struct IWMLicenseRestoreVtbl
  7547. {
  7548. BEGIN_INTERFACE
  7549. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  7550. IWMLicenseRestore __RPC_FAR * This,
  7551. /* [in] */ REFIID riid,
  7552. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7553. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  7554. IWMLicenseRestore __RPC_FAR * This);
  7555. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  7556. IWMLicenseRestore __RPC_FAR * This);
  7557. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RestoreLicenses )(
  7558. IWMLicenseRestore __RPC_FAR * This,
  7559. /* [in] */ DWORD dwFlags,
  7560. /* [in] */ IWMStatusCallback __RPC_FAR *pCallback);
  7561. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelLicenseRestore )(
  7562. IWMLicenseRestore __RPC_FAR * This);
  7563. END_INTERFACE
  7564. } IWMLicenseRestoreVtbl;
  7565. interface IWMLicenseRestore
  7566. {
  7567. CONST_VTBL struct IWMLicenseRestoreVtbl __RPC_FAR *lpVtbl;
  7568. };
  7569. #ifdef COBJMACROS
  7570. #define IWMLicenseRestore_QueryInterface(This,riid,ppvObject) \
  7571. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7572. #define IWMLicenseRestore_AddRef(This) \
  7573. (This)->lpVtbl -> AddRef(This)
  7574. #define IWMLicenseRestore_Release(This) \
  7575. (This)->lpVtbl -> Release(This)
  7576. #define IWMLicenseRestore_RestoreLicenses(This,dwFlags,pCallback) \
  7577. (This)->lpVtbl -> RestoreLicenses(This,dwFlags,pCallback)
  7578. #define IWMLicenseRestore_CancelLicenseRestore(This) \
  7579. (This)->lpVtbl -> CancelLicenseRestore(This)
  7580. #endif /* COBJMACROS */
  7581. #endif /* C style interface */
  7582. HRESULT STDMETHODCALLTYPE IWMLicenseRestore_RestoreLicenses_Proxy(
  7583. IWMLicenseRestore __RPC_FAR * This,
  7584. /* [in] */ DWORD dwFlags,
  7585. /* [in] */ IWMStatusCallback __RPC_FAR *pCallback);
  7586. void __RPC_STUB IWMLicenseRestore_RestoreLicenses_Stub(
  7587. IRpcStubBuffer *This,
  7588. IRpcChannelBuffer *_pRpcChannelBuffer,
  7589. PRPC_MESSAGE _pRpcMessage,
  7590. DWORD *_pdwStubPhase);
  7591. HRESULT STDMETHODCALLTYPE IWMLicenseRestore_CancelLicenseRestore_Proxy(
  7592. IWMLicenseRestore __RPC_FAR * This);
  7593. void __RPC_STUB IWMLicenseRestore_CancelLicenseRestore_Stub(
  7594. IRpcStubBuffer *This,
  7595. IRpcChannelBuffer *_pRpcChannelBuffer,
  7596. PRPC_MESSAGE _pRpcMessage,
  7597. DWORD *_pdwStubPhase);
  7598. #endif /* __IWMLicenseRestore_INTERFACE_DEFINED__ */
  7599. #ifndef __IWMBackupRestoreProps_INTERFACE_DEFINED__
  7600. #define __IWMBackupRestoreProps_INTERFACE_DEFINED__
  7601. /* interface IWMBackupRestoreProps */
  7602. /* [local][unique][helpstring][uuid][object] */
  7603. EXTERN_C const IID IID_IWMBackupRestoreProps;
  7604. #if defined(__cplusplus) && !defined(CINTERFACE)
  7605. MIDL_INTERFACE("3C8E0DA6-996F-4ff3-A1AF-4838F9377E2E")
  7606. IWMBackupRestoreProps : public IUnknown
  7607. {
  7608. public:
  7609. virtual HRESULT STDMETHODCALLTYPE GetPropCount(
  7610. /* [out] */ WORD __RPC_FAR *pcProps) = 0;
  7611. virtual HRESULT STDMETHODCALLTYPE GetPropByIndex(
  7612. /* [in] */ WORD wIndex,
  7613. /* [out] */ WCHAR __RPC_FAR *pwszName,
  7614. /* [out][in] */ WORD __RPC_FAR *pcchNameLen,
  7615. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  7616. /* [out] */ BYTE __RPC_FAR *pValue,
  7617. /* [out][in] */ WORD __RPC_FAR *pcbLength) = 0;
  7618. virtual HRESULT STDMETHODCALLTYPE GetPropByName(
  7619. /* [in] */ LPCWSTR pszName,
  7620. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  7621. /* [out] */ BYTE __RPC_FAR *pValue,
  7622. /* [out][in] */ WORD __RPC_FAR *pcbLength) = 0;
  7623. virtual HRESULT STDMETHODCALLTYPE SetProp(
  7624. /* [in] */ LPCWSTR pszName,
  7625. /* [in] */ WMT_ATTR_DATATYPE Type,
  7626. /* [in] */ const BYTE __RPC_FAR *pValue,
  7627. /* [in] */ WORD cbLength) = 0;
  7628. virtual HRESULT STDMETHODCALLTYPE RemoveProp(
  7629. /* [in] */ LPCWSTR pcwszName) = 0;
  7630. virtual HRESULT STDMETHODCALLTYPE RemoveAllProps( void) = 0;
  7631. };
  7632. #else /* C style interface */
  7633. typedef struct IWMBackupRestorePropsVtbl
  7634. {
  7635. BEGIN_INTERFACE
  7636. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  7637. IWMBackupRestoreProps __RPC_FAR * This,
  7638. /* [in] */ REFIID riid,
  7639. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7640. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  7641. IWMBackupRestoreProps __RPC_FAR * This);
  7642. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  7643. IWMBackupRestoreProps __RPC_FAR * This);
  7644. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPropCount )(
  7645. IWMBackupRestoreProps __RPC_FAR * This,
  7646. /* [out] */ WORD __RPC_FAR *pcProps);
  7647. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPropByIndex )(
  7648. IWMBackupRestoreProps __RPC_FAR * This,
  7649. /* [in] */ WORD wIndex,
  7650. /* [out] */ WCHAR __RPC_FAR *pwszName,
  7651. /* [out][in] */ WORD __RPC_FAR *pcchNameLen,
  7652. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  7653. /* [out] */ BYTE __RPC_FAR *pValue,
  7654. /* [out][in] */ WORD __RPC_FAR *pcbLength);
  7655. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPropByName )(
  7656. IWMBackupRestoreProps __RPC_FAR * This,
  7657. /* [in] */ LPCWSTR pszName,
  7658. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  7659. /* [out] */ BYTE __RPC_FAR *pValue,
  7660. /* [out][in] */ WORD __RPC_FAR *pcbLength);
  7661. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProp )(
  7662. IWMBackupRestoreProps __RPC_FAR * This,
  7663. /* [in] */ LPCWSTR pszName,
  7664. /* [in] */ WMT_ATTR_DATATYPE Type,
  7665. /* [in] */ const BYTE __RPC_FAR *pValue,
  7666. /* [in] */ WORD cbLength);
  7667. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveProp )(
  7668. IWMBackupRestoreProps __RPC_FAR * This,
  7669. /* [in] */ LPCWSTR pcwszName);
  7670. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveAllProps )(
  7671. IWMBackupRestoreProps __RPC_FAR * This);
  7672. END_INTERFACE
  7673. } IWMBackupRestorePropsVtbl;
  7674. interface IWMBackupRestoreProps
  7675. {
  7676. CONST_VTBL struct IWMBackupRestorePropsVtbl __RPC_FAR *lpVtbl;
  7677. };
  7678. #ifdef COBJMACROS
  7679. #define IWMBackupRestoreProps_QueryInterface(This,riid,ppvObject) \
  7680. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7681. #define IWMBackupRestoreProps_AddRef(This) \
  7682. (This)->lpVtbl -> AddRef(This)
  7683. #define IWMBackupRestoreProps_Release(This) \
  7684. (This)->lpVtbl -> Release(This)
  7685. #define IWMBackupRestoreProps_GetPropCount(This,pcProps) \
  7686. (This)->lpVtbl -> GetPropCount(This,pcProps)
  7687. #define IWMBackupRestoreProps_GetPropByIndex(This,wIndex,pwszName,pcchNameLen,pType,pValue,pcbLength) \
  7688. (This)->lpVtbl -> GetPropByIndex(This,wIndex,pwszName,pcchNameLen,pType,pValue,pcbLength)
  7689. #define IWMBackupRestoreProps_GetPropByName(This,pszName,pType,pValue,pcbLength) \
  7690. (This)->lpVtbl -> GetPropByName(This,pszName,pType,pValue,pcbLength)
  7691. #define IWMBackupRestoreProps_SetProp(This,pszName,Type,pValue,cbLength) \
  7692. (This)->lpVtbl -> SetProp(This,pszName,Type,pValue,cbLength)
  7693. #define IWMBackupRestoreProps_RemoveProp(This,pcwszName) \
  7694. (This)->lpVtbl -> RemoveProp(This,pcwszName)
  7695. #define IWMBackupRestoreProps_RemoveAllProps(This) \
  7696. (This)->lpVtbl -> RemoveAllProps(This)
  7697. #endif /* COBJMACROS */
  7698. #endif /* C style interface */
  7699. HRESULT STDMETHODCALLTYPE IWMBackupRestoreProps_GetPropCount_Proxy(
  7700. IWMBackupRestoreProps __RPC_FAR * This,
  7701. /* [out] */ WORD __RPC_FAR *pcProps);
  7702. void __RPC_STUB IWMBackupRestoreProps_GetPropCount_Stub(
  7703. IRpcStubBuffer *This,
  7704. IRpcChannelBuffer *_pRpcChannelBuffer,
  7705. PRPC_MESSAGE _pRpcMessage,
  7706. DWORD *_pdwStubPhase);
  7707. HRESULT STDMETHODCALLTYPE IWMBackupRestoreProps_GetPropByIndex_Proxy(
  7708. IWMBackupRestoreProps __RPC_FAR * This,
  7709. /* [in] */ WORD wIndex,
  7710. /* [out] */ WCHAR __RPC_FAR *pwszName,
  7711. /* [out][in] */ WORD __RPC_FAR *pcchNameLen,
  7712. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  7713. /* [out] */ BYTE __RPC_FAR *pValue,
  7714. /* [out][in] */ WORD __RPC_FAR *pcbLength);
  7715. void __RPC_STUB IWMBackupRestoreProps_GetPropByIndex_Stub(
  7716. IRpcStubBuffer *This,
  7717. IRpcChannelBuffer *_pRpcChannelBuffer,
  7718. PRPC_MESSAGE _pRpcMessage,
  7719. DWORD *_pdwStubPhase);
  7720. HRESULT STDMETHODCALLTYPE IWMBackupRestoreProps_GetPropByName_Proxy(
  7721. IWMBackupRestoreProps __RPC_FAR * This,
  7722. /* [in] */ LPCWSTR pszName,
  7723. /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  7724. /* [out] */ BYTE __RPC_FAR *pValue,
  7725. /* [out][in] */ WORD __RPC_FAR *pcbLength);
  7726. void __RPC_STUB IWMBackupRestoreProps_GetPropByName_Stub(
  7727. IRpcStubBuffer *This,
  7728. IRpcChannelBuffer *_pRpcChannelBuffer,
  7729. PRPC_MESSAGE _pRpcMessage,
  7730. DWORD *_pdwStubPhase);
  7731. HRESULT STDMETHODCALLTYPE IWMBackupRestoreProps_SetProp_Proxy(
  7732. IWMBackupRestoreProps __RPC_FAR * This,
  7733. /* [in] */ LPCWSTR pszName,
  7734. /* [in] */ WMT_ATTR_DATATYPE Type,
  7735. /* [in] */ const BYTE __RPC_FAR *pValue,
  7736. /* [in] */ WORD cbLength);
  7737. void __RPC_STUB IWMBackupRestoreProps_SetProp_Stub(
  7738. IRpcStubBuffer *This,
  7739. IRpcChannelBuffer *_pRpcChannelBuffer,
  7740. PRPC_MESSAGE _pRpcMessage,
  7741. DWORD *_pdwStubPhase);
  7742. HRESULT STDMETHODCALLTYPE IWMBackupRestoreProps_RemoveProp_Proxy(
  7743. IWMBackupRestoreProps __RPC_FAR * This,
  7744. /* [in] */ LPCWSTR pcwszName);
  7745. void __RPC_STUB IWMBackupRestoreProps_RemoveProp_Stub(
  7746. IRpcStubBuffer *This,
  7747. IRpcChannelBuffer *_pRpcChannelBuffer,
  7748. PRPC_MESSAGE _pRpcMessage,
  7749. DWORD *_pdwStubPhase);
  7750. HRESULT STDMETHODCALLTYPE IWMBackupRestoreProps_RemoveAllProps_Proxy(
  7751. IWMBackupRestoreProps __RPC_FAR * This);
  7752. void __RPC_STUB IWMBackupRestoreProps_RemoveAllProps_Stub(
  7753. IRpcStubBuffer *This,
  7754. IRpcChannelBuffer *_pRpcChannelBuffer,
  7755. PRPC_MESSAGE _pRpcMessage,
  7756. DWORD *_pdwStubPhase);
  7757. #endif /* __IWMBackupRestoreProps_INTERFACE_DEFINED__ */
  7758. #ifndef __IWMCodecInfo_INTERFACE_DEFINED__
  7759. #define __IWMCodecInfo_INTERFACE_DEFINED__
  7760. /* interface IWMCodecInfo */
  7761. /* [local][unique][helpstring][uuid][object] */
  7762. EXTERN_C const IID IID_IWMCodecInfo;
  7763. #if defined(__cplusplus) && !defined(CINTERFACE)
  7764. MIDL_INTERFACE("A970F41E-34DE-4a98-B3BA-E4B3CA7528F0")
  7765. IWMCodecInfo : public IUnknown
  7766. {
  7767. public:
  7768. virtual HRESULT STDMETHODCALLTYPE GetCodecInfoCount(
  7769. /* [in] */ REFGUID guidType,
  7770. /* [out] */ DWORD __RPC_FAR *pcCodecs) = 0;
  7771. virtual HRESULT STDMETHODCALLTYPE GetCodecFormatCount(
  7772. /* [in] */ REFGUID guidType,
  7773. /* [in] */ DWORD dwCodecIndex,
  7774. /* [out] */ DWORD __RPC_FAR *pcFormat) = 0;
  7775. virtual HRESULT STDMETHODCALLTYPE GetCodecFormat(
  7776. /* [in] */ REFGUID guidType,
  7777. /* [in] */ DWORD dwCodecIndex,
  7778. /* [in] */ DWORD dwFormatIndex,
  7779. /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppIStreamConfig) = 0;
  7780. };
  7781. #else /* C style interface */
  7782. typedef struct IWMCodecInfoVtbl
  7783. {
  7784. BEGIN_INTERFACE
  7785. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  7786. IWMCodecInfo __RPC_FAR * This,
  7787. /* [in] */ REFIID riid,
  7788. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7789. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  7790. IWMCodecInfo __RPC_FAR * This);
  7791. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  7792. IWMCodecInfo __RPC_FAR * This);
  7793. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodecInfoCount )(
  7794. IWMCodecInfo __RPC_FAR * This,
  7795. /* [in] */ REFGUID guidType,
  7796. /* [out] */ DWORD __RPC_FAR *pcCodecs);
  7797. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodecFormatCount )(
  7798. IWMCodecInfo __RPC_FAR * This,
  7799. /* [in] */ REFGUID guidType,
  7800. /* [in] */ DWORD dwCodecIndex,
  7801. /* [out] */ DWORD __RPC_FAR *pcFormat);
  7802. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodecFormat )(
  7803. IWMCodecInfo __RPC_FAR * This,
  7804. /* [in] */ REFGUID guidType,
  7805. /* [in] */ DWORD dwCodecIndex,
  7806. /* [in] */ DWORD dwFormatIndex,
  7807. /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppIStreamConfig);
  7808. END_INTERFACE
  7809. } IWMCodecInfoVtbl;
  7810. interface IWMCodecInfo
  7811. {
  7812. CONST_VTBL struct IWMCodecInfoVtbl __RPC_FAR *lpVtbl;
  7813. };
  7814. #ifdef COBJMACROS
  7815. #define IWMCodecInfo_QueryInterface(This,riid,ppvObject) \
  7816. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7817. #define IWMCodecInfo_AddRef(This) \
  7818. (This)->lpVtbl -> AddRef(This)
  7819. #define IWMCodecInfo_Release(This) \
  7820. (This)->lpVtbl -> Release(This)
  7821. #define IWMCodecInfo_GetCodecInfoCount(This,guidType,pcCodecs) \
  7822. (This)->lpVtbl -> GetCodecInfoCount(This,guidType,pcCodecs)
  7823. #define IWMCodecInfo_GetCodecFormatCount(This,guidType,dwCodecIndex,pcFormat) \
  7824. (This)->lpVtbl -> GetCodecFormatCount(This,guidType,dwCodecIndex,pcFormat)
  7825. #define IWMCodecInfo_GetCodecFormat(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig) \
  7826. (This)->lpVtbl -> GetCodecFormat(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig)
  7827. #endif /* COBJMACROS */
  7828. #endif /* C style interface */
  7829. HRESULT STDMETHODCALLTYPE IWMCodecInfo_GetCodecInfoCount_Proxy(
  7830. IWMCodecInfo __RPC_FAR * This,
  7831. /* [in] */ REFGUID guidType,
  7832. /* [out] */ DWORD __RPC_FAR *pcCodecs);
  7833. void __RPC_STUB IWMCodecInfo_GetCodecInfoCount_Stub(
  7834. IRpcStubBuffer *This,
  7835. IRpcChannelBuffer *_pRpcChannelBuffer,
  7836. PRPC_MESSAGE _pRpcMessage,
  7837. DWORD *_pdwStubPhase);
  7838. HRESULT STDMETHODCALLTYPE IWMCodecInfo_GetCodecFormatCount_Proxy(
  7839. IWMCodecInfo __RPC_FAR * This,
  7840. /* [in] */ REFGUID guidType,
  7841. /* [in] */ DWORD dwCodecIndex,
  7842. /* [out] */ DWORD __RPC_FAR *pcFormat);
  7843. void __RPC_STUB IWMCodecInfo_GetCodecFormatCount_Stub(
  7844. IRpcStubBuffer *This,
  7845. IRpcChannelBuffer *_pRpcChannelBuffer,
  7846. PRPC_MESSAGE _pRpcMessage,
  7847. DWORD *_pdwStubPhase);
  7848. HRESULT STDMETHODCALLTYPE IWMCodecInfo_GetCodecFormat_Proxy(
  7849. IWMCodecInfo __RPC_FAR * This,
  7850. /* [in] */ REFGUID guidType,
  7851. /* [in] */ DWORD dwCodecIndex,
  7852. /* [in] */ DWORD dwFormatIndex,
  7853. /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppIStreamConfig);
  7854. void __RPC_STUB IWMCodecInfo_GetCodecFormat_Stub(
  7855. IRpcStubBuffer *This,
  7856. IRpcChannelBuffer *_pRpcChannelBuffer,
  7857. PRPC_MESSAGE _pRpcMessage,
  7858. DWORD *_pdwStubPhase);
  7859. #endif /* __IWMCodecInfo_INTERFACE_DEFINED__ */
  7860. #ifndef __IWMCodecInfo2_INTERFACE_DEFINED__
  7861. #define __IWMCodecInfo2_INTERFACE_DEFINED__
  7862. /* interface IWMCodecInfo2 */
  7863. /* [local][unique][helpstring][uuid][object] */
  7864. EXTERN_C const IID IID_IWMCodecInfo2;
  7865. #if defined(__cplusplus) && !defined(CINTERFACE)
  7866. MIDL_INTERFACE("AA65E273-B686-4056-91EC-DD768D4DF710")
  7867. IWMCodecInfo2 : public IWMCodecInfo
  7868. {
  7869. public:
  7870. virtual HRESULT STDMETHODCALLTYPE GetCodecName(
  7871. /* [in] */ REFGUID guidType,
  7872. /* [in] */ DWORD dwCodecIndex,
  7873. /* [out] */ WCHAR __RPC_FAR *wszName,
  7874. /* [out] */ DWORD __RPC_FAR *pcchName) = 0;
  7875. virtual HRESULT STDMETHODCALLTYPE GetCodecFormatDesc(
  7876. /* [in] */ REFGUID guidType,
  7877. /* [in] */ DWORD dwCodecIndex,
  7878. /* [in] */ DWORD dwFormatIndex,
  7879. /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppIStreamConfig,
  7880. /* [out] */ WCHAR __RPC_FAR *wszDesc,
  7881. /* [out][in] */ DWORD __RPC_FAR *pcchDesc) = 0;
  7882. };
  7883. #else /* C style interface */
  7884. typedef struct IWMCodecInfo2Vtbl
  7885. {
  7886. BEGIN_INTERFACE
  7887. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  7888. IWMCodecInfo2 __RPC_FAR * This,
  7889. /* [in] */ REFIID riid,
  7890. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7891. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  7892. IWMCodecInfo2 __RPC_FAR * This);
  7893. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  7894. IWMCodecInfo2 __RPC_FAR * This);
  7895. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodecInfoCount )(
  7896. IWMCodecInfo2 __RPC_FAR * This,
  7897. /* [in] */ REFGUID guidType,
  7898. /* [out] */ DWORD __RPC_FAR *pcCodecs);
  7899. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodecFormatCount )(
  7900. IWMCodecInfo2 __RPC_FAR * This,
  7901. /* [in] */ REFGUID guidType,
  7902. /* [in] */ DWORD dwCodecIndex,
  7903. /* [out] */ DWORD __RPC_FAR *pcFormat);
  7904. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodecFormat )(
  7905. IWMCodecInfo2 __RPC_FAR * This,
  7906. /* [in] */ REFGUID guidType,
  7907. /* [in] */ DWORD dwCodecIndex,
  7908. /* [in] */ DWORD dwFormatIndex,
  7909. /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppIStreamConfig);
  7910. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodecName )(
  7911. IWMCodecInfo2 __RPC_FAR * This,
  7912. /* [in] */ REFGUID guidType,
  7913. /* [in] */ DWORD dwCodecIndex,
  7914. /* [out] */ WCHAR __RPC_FAR *wszName,
  7915. /* [out] */ DWORD __RPC_FAR *pcchName);
  7916. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodecFormatDesc )(
  7917. IWMCodecInfo2 __RPC_FAR * This,
  7918. /* [in] */ REFGUID guidType,
  7919. /* [in] */ DWORD dwCodecIndex,
  7920. /* [in] */ DWORD dwFormatIndex,
  7921. /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppIStreamConfig,
  7922. /* [out] */ WCHAR __RPC_FAR *wszDesc,
  7923. /* [out][in] */ DWORD __RPC_FAR *pcchDesc);
  7924. END_INTERFACE
  7925. } IWMCodecInfo2Vtbl;
  7926. interface IWMCodecInfo2
  7927. {
  7928. CONST_VTBL struct IWMCodecInfo2Vtbl __RPC_FAR *lpVtbl;
  7929. };
  7930. #ifdef COBJMACROS
  7931. #define IWMCodecInfo2_QueryInterface(This,riid,ppvObject) \
  7932. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7933. #define IWMCodecInfo2_AddRef(This) \
  7934. (This)->lpVtbl -> AddRef(This)
  7935. #define IWMCodecInfo2_Release(This) \
  7936. (This)->lpVtbl -> Release(This)
  7937. #define IWMCodecInfo2_GetCodecInfoCount(This,guidType,pcCodecs) \
  7938. (This)->lpVtbl -> GetCodecInfoCount(This,guidType,pcCodecs)
  7939. #define IWMCodecInfo2_GetCodecFormatCount(This,guidType,dwCodecIndex,pcFormat) \
  7940. (This)->lpVtbl -> GetCodecFormatCount(This,guidType,dwCodecIndex,pcFormat)
  7941. #define IWMCodecInfo2_GetCodecFormat(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig) \
  7942. (This)->lpVtbl -> GetCodecFormat(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig)
  7943. #define IWMCodecInfo2_GetCodecName(This,guidType,dwCodecIndex,wszName,pcchName) \
  7944. (This)->lpVtbl -> GetCodecName(This,guidType,dwCodecIndex,wszName,pcchName)
  7945. #define IWMCodecInfo2_GetCodecFormatDesc(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig,wszDesc,pcchDesc) \
  7946. (This)->lpVtbl -> GetCodecFormatDesc(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig,wszDesc,pcchDesc)
  7947. #endif /* COBJMACROS */
  7948. #endif /* C style interface */
  7949. HRESULT STDMETHODCALLTYPE IWMCodecInfo2_GetCodecName_Proxy(
  7950. IWMCodecInfo2 __RPC_FAR * This,
  7951. /* [in] */ REFGUID guidType,
  7952. /* [in] */ DWORD dwCodecIndex,
  7953. /* [out] */ WCHAR __RPC_FAR *wszName,
  7954. /* [out] */ DWORD __RPC_FAR *pcchName);
  7955. void __RPC_STUB IWMCodecInfo2_GetCodecName_Stub(
  7956. IRpcStubBuffer *This,
  7957. IRpcChannelBuffer *_pRpcChannelBuffer,
  7958. PRPC_MESSAGE _pRpcMessage,
  7959. DWORD *_pdwStubPhase);
  7960. HRESULT STDMETHODCALLTYPE IWMCodecInfo2_GetCodecFormatDesc_Proxy(
  7961. IWMCodecInfo2 __RPC_FAR * This,
  7962. /* [in] */ REFGUID guidType,
  7963. /* [in] */ DWORD dwCodecIndex,
  7964. /* [in] */ DWORD dwFormatIndex,
  7965. /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppIStreamConfig,
  7966. /* [out] */ WCHAR __RPC_FAR *wszDesc,
  7967. /* [out][in] */ DWORD __RPC_FAR *pcchDesc);
  7968. void __RPC_STUB IWMCodecInfo2_GetCodecFormatDesc_Stub(
  7969. IRpcStubBuffer *This,
  7970. IRpcChannelBuffer *_pRpcChannelBuffer,
  7971. PRPC_MESSAGE _pRpcMessage,
  7972. DWORD *_pdwStubPhase);
  7973. #endif /* __IWMCodecInfo2_INTERFACE_DEFINED__ */
  7974. /* Additional Prototypes for ALL interfaces */
  7975. /* end of Additional Prototypes */
  7976. #ifdef __cplusplus
  7977. }
  7978. #endif
  7979. #endif