segment.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:458k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for segment.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext, robust
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __segment_h__
  27. #define __segment_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __IMSVidRect_FWD_DEFINED__
  33. #define __IMSVidRect_FWD_DEFINED__
  34. typedef interface IMSVidRect IMSVidRect;
  35. #endif  /* __IMSVidRect_FWD_DEFINED__ */
  36. #ifndef __IMSVidGraphSegmentContainer_FWD_DEFINED__
  37. #define __IMSVidGraphSegmentContainer_FWD_DEFINED__
  38. typedef interface IMSVidGraphSegmentContainer IMSVidGraphSegmentContainer;
  39. #endif  /* __IMSVidGraphSegmentContainer_FWD_DEFINED__ */
  40. #ifndef __IMSVidGraphSegment_FWD_DEFINED__
  41. #define __IMSVidGraphSegment_FWD_DEFINED__
  42. typedef interface IMSVidGraphSegment IMSVidGraphSegment;
  43. #endif  /* __IMSVidGraphSegment_FWD_DEFINED__ */
  44. #ifndef __IMSVidGraphSegmentUserInput_FWD_DEFINED__
  45. #define __IMSVidGraphSegmentUserInput_FWD_DEFINED__
  46. typedef interface IMSVidGraphSegmentUserInput IMSVidGraphSegmentUserInput;
  47. #endif  /* __IMSVidGraphSegmentUserInput_FWD_DEFINED__ */
  48. #ifndef __IMSVidCompositionSegment_FWD_DEFINED__
  49. #define __IMSVidCompositionSegment_FWD_DEFINED__
  50. typedef interface IMSVidCompositionSegment IMSVidCompositionSegment;
  51. #endif  /* __IMSVidCompositionSegment_FWD_DEFINED__ */
  52. #ifndef __IEnumMSVidGraphSegment_FWD_DEFINED__
  53. #define __IEnumMSVidGraphSegment_FWD_DEFINED__
  54. typedef interface IEnumMSVidGraphSegment IEnumMSVidGraphSegment;
  55. #endif  /* __IEnumMSVidGraphSegment_FWD_DEFINED__ */
  56. #ifndef __IMSVidVRGraphSegment_FWD_DEFINED__
  57. #define __IMSVidVRGraphSegment_FWD_DEFINED__
  58. typedef interface IMSVidVRGraphSegment IMSVidVRGraphSegment;
  59. #endif  /* __IMSVidVRGraphSegment_FWD_DEFINED__ */
  60. #ifndef __IMSVidDevice_FWD_DEFINED__
  61. #define __IMSVidDevice_FWD_DEFINED__
  62. typedef interface IMSVidDevice IMSVidDevice;
  63. #endif  /* __IMSVidDevice_FWD_DEFINED__ */
  64. #ifndef __IMSVidInputDevice_FWD_DEFINED__
  65. #define __IMSVidInputDevice_FWD_DEFINED__
  66. typedef interface IMSVidInputDevice IMSVidInputDevice;
  67. #endif  /* __IMSVidInputDevice_FWD_DEFINED__ */
  68. #ifndef __IMSVidDeviceEvent_FWD_DEFINED__
  69. #define __IMSVidDeviceEvent_FWD_DEFINED__
  70. typedef interface IMSVidDeviceEvent IMSVidDeviceEvent;
  71. #endif  /* __IMSVidDeviceEvent_FWD_DEFINED__ */
  72. #ifndef __IMSVidInputDeviceEvent_FWD_DEFINED__
  73. #define __IMSVidInputDeviceEvent_FWD_DEFINED__
  74. typedef interface IMSVidInputDeviceEvent IMSVidInputDeviceEvent;
  75. #endif  /* __IMSVidInputDeviceEvent_FWD_DEFINED__ */
  76. #ifndef __IMSVidVideoInputDevice_FWD_DEFINED__
  77. #define __IMSVidVideoInputDevice_FWD_DEFINED__
  78. typedef interface IMSVidVideoInputDevice IMSVidVideoInputDevice;
  79. #endif  /* __IMSVidVideoInputDevice_FWD_DEFINED__ */
  80. #ifndef __IMSVidPlayback_FWD_DEFINED__
  81. #define __IMSVidPlayback_FWD_DEFINED__
  82. typedef interface IMSVidPlayback IMSVidPlayback;
  83. #endif  /* __IMSVidPlayback_FWD_DEFINED__ */
  84. #ifndef __IMSVidPlaybackEvent_FWD_DEFINED__
  85. #define __IMSVidPlaybackEvent_FWD_DEFINED__
  86. typedef interface IMSVidPlaybackEvent IMSVidPlaybackEvent;
  87. #endif  /* __IMSVidPlaybackEvent_FWD_DEFINED__ */
  88. #ifndef __IMSVidTuner_FWD_DEFINED__
  89. #define __IMSVidTuner_FWD_DEFINED__
  90. typedef interface IMSVidTuner IMSVidTuner;
  91. #endif  /* __IMSVidTuner_FWD_DEFINED__ */
  92. #ifndef __IMSVidTunerEvent_FWD_DEFINED__
  93. #define __IMSVidTunerEvent_FWD_DEFINED__
  94. typedef interface IMSVidTunerEvent IMSVidTunerEvent;
  95. #endif  /* __IMSVidTunerEvent_FWD_DEFINED__ */
  96. #ifndef __IMSVidAnalogTuner_FWD_DEFINED__
  97. #define __IMSVidAnalogTuner_FWD_DEFINED__
  98. typedef interface IMSVidAnalogTuner IMSVidAnalogTuner;
  99. #endif  /* __IMSVidAnalogTuner_FWD_DEFINED__ */
  100. #ifndef __IMSVidAnalogTunerEvent_FWD_DEFINED__
  101. #define __IMSVidAnalogTunerEvent_FWD_DEFINED__
  102. typedef interface IMSVidAnalogTunerEvent IMSVidAnalogTunerEvent;
  103. #endif  /* __IMSVidAnalogTunerEvent_FWD_DEFINED__ */
  104. #ifndef __IMSVidFilePlayback_FWD_DEFINED__
  105. #define __IMSVidFilePlayback_FWD_DEFINED__
  106. typedef interface IMSVidFilePlayback IMSVidFilePlayback;
  107. #endif  /* __IMSVidFilePlayback_FWD_DEFINED__ */
  108. #ifndef __IMSVidFilePlaybackEvent_FWD_DEFINED__
  109. #define __IMSVidFilePlaybackEvent_FWD_DEFINED__
  110. typedef interface IMSVidFilePlaybackEvent IMSVidFilePlaybackEvent;
  111. #endif  /* __IMSVidFilePlaybackEvent_FWD_DEFINED__ */
  112. #ifndef __IMSVidWebDVD_FWD_DEFINED__
  113. #define __IMSVidWebDVD_FWD_DEFINED__
  114. typedef interface IMSVidWebDVD IMSVidWebDVD;
  115. #endif  /* __IMSVidWebDVD_FWD_DEFINED__ */
  116. #ifndef __IMSVidWebDVDEvent_FWD_DEFINED__
  117. #define __IMSVidWebDVDEvent_FWD_DEFINED__
  118. typedef interface IMSVidWebDVDEvent IMSVidWebDVDEvent;
  119. #endif  /* __IMSVidWebDVDEvent_FWD_DEFINED__ */
  120. #ifndef __IMSVidWebDVDAdm_FWD_DEFINED__
  121. #define __IMSVidWebDVDAdm_FWD_DEFINED__
  122. typedef interface IMSVidWebDVDAdm IMSVidWebDVDAdm;
  123. #endif  /* __IMSVidWebDVDAdm_FWD_DEFINED__ */
  124. #ifndef __IMSVidOutputDevice_FWD_DEFINED__
  125. #define __IMSVidOutputDevice_FWD_DEFINED__
  126. typedef interface IMSVidOutputDevice IMSVidOutputDevice;
  127. #endif  /* __IMSVidOutputDevice_FWD_DEFINED__ */
  128. #ifndef __IMSVidOutputDeviceEvent_FWD_DEFINED__
  129. #define __IMSVidOutputDeviceEvent_FWD_DEFINED__
  130. typedef interface IMSVidOutputDeviceEvent IMSVidOutputDeviceEvent;
  131. #endif  /* __IMSVidOutputDeviceEvent_FWD_DEFINED__ */
  132. #ifndef __IMSVidFeature_FWD_DEFINED__
  133. #define __IMSVidFeature_FWD_DEFINED__
  134. typedef interface IMSVidFeature IMSVidFeature;
  135. #endif  /* __IMSVidFeature_FWD_DEFINED__ */
  136. #ifndef __IMSVidFeatureEvent_FWD_DEFINED__
  137. #define __IMSVidFeatureEvent_FWD_DEFINED__
  138. typedef interface IMSVidFeatureEvent IMSVidFeatureEvent;
  139. #endif  /* __IMSVidFeatureEvent_FWD_DEFINED__ */
  140. #ifndef __IMSVidDataServices_FWD_DEFINED__
  141. #define __IMSVidDataServices_FWD_DEFINED__
  142. typedef interface IMSVidDataServices IMSVidDataServices;
  143. #endif  /* __IMSVidDataServices_FWD_DEFINED__ */
  144. #ifndef __IMSVidDataServicesEvent_FWD_DEFINED__
  145. #define __IMSVidDataServicesEvent_FWD_DEFINED__
  146. typedef interface IMSVidDataServicesEvent IMSVidDataServicesEvent;
  147. #endif  /* __IMSVidDataServicesEvent_FWD_DEFINED__ */
  148. #ifndef __IMSVidClosedCaptioning_FWD_DEFINED__
  149. #define __IMSVidClosedCaptioning_FWD_DEFINED__
  150. typedef interface IMSVidClosedCaptioning IMSVidClosedCaptioning;
  151. #endif  /* __IMSVidClosedCaptioning_FWD_DEFINED__ */
  152. #ifndef __IMSVidTVEGSeg_FWD_DEFINED__
  153. #define __IMSVidTVEGSeg_FWD_DEFINED__
  154. typedef interface IMSVidTVEGSeg IMSVidTVEGSeg;
  155. #endif  /* __IMSVidTVEGSeg_FWD_DEFINED__ */
  156. #ifndef __IMSVidCAGSeg_FWD_DEFINED__
  157. #define __IMSVidCAGSeg_FWD_DEFINED__
  158. typedef interface IMSVidCAGSeg IMSVidCAGSeg;
  159. #endif  /* __IMSVidCAGSeg_FWD_DEFINED__ */
  160. #ifndef __IMSVidVideoRenderer_FWD_DEFINED__
  161. #define __IMSVidVideoRenderer_FWD_DEFINED__
  162. typedef interface IMSVidVideoRenderer IMSVidVideoRenderer;
  163. #endif  /* __IMSVidVideoRenderer_FWD_DEFINED__ */
  164. #ifndef __IMSVidVideoRendererEvent_FWD_DEFINED__
  165. #define __IMSVidVideoRendererEvent_FWD_DEFINED__
  166. typedef interface IMSVidVideoRendererEvent IMSVidVideoRendererEvent;
  167. #endif  /* __IMSVidVideoRendererEvent_FWD_DEFINED__ */
  168. #ifndef __IMSVidAudioRenderer_FWD_DEFINED__
  169. #define __IMSVidAudioRenderer_FWD_DEFINED__
  170. typedef interface IMSVidAudioRenderer IMSVidAudioRenderer;
  171. #endif  /* __IMSVidAudioRenderer_FWD_DEFINED__ */
  172. #ifndef __IMSVidAudioRendererEvent_FWD_DEFINED__
  173. #define __IMSVidAudioRendererEvent_FWD_DEFINED__
  174. typedef interface IMSVidAudioRendererEvent IMSVidAudioRendererEvent;
  175. #endif  /* __IMSVidAudioRendererEvent_FWD_DEFINED__ */
  176. #ifndef __IMSVidInputDevices_FWD_DEFINED__
  177. #define __IMSVidInputDevices_FWD_DEFINED__
  178. typedef interface IMSVidInputDevices IMSVidInputDevices;
  179. #endif  /* __IMSVidInputDevices_FWD_DEFINED__ */
  180. #ifndef __IMSVidOutputDevices_FWD_DEFINED__
  181. #define __IMSVidOutputDevices_FWD_DEFINED__
  182. typedef interface IMSVidOutputDevices IMSVidOutputDevices;
  183. #endif  /* __IMSVidOutputDevices_FWD_DEFINED__ */
  184. #ifndef __IMSVidVideoRendererDevices_FWD_DEFINED__
  185. #define __IMSVidVideoRendererDevices_FWD_DEFINED__
  186. typedef interface IMSVidVideoRendererDevices IMSVidVideoRendererDevices;
  187. #endif  /* __IMSVidVideoRendererDevices_FWD_DEFINED__ */
  188. #ifndef __IMSVidAudioRendererDevices_FWD_DEFINED__
  189. #define __IMSVidAudioRendererDevices_FWD_DEFINED__
  190. typedef interface IMSVidAudioRendererDevices IMSVidAudioRendererDevices;
  191. #endif  /* __IMSVidAudioRendererDevices_FWD_DEFINED__ */
  192. #ifndef __IMSVidFeatures_FWD_DEFINED__
  193. #define __IMSVidFeatures_FWD_DEFINED__
  194. typedef interface IMSVidFeatures IMSVidFeatures;
  195. #endif  /* __IMSVidFeatures_FWD_DEFINED__ */
  196. /* header files for imported files */
  197. #include "oaidl.h"
  198. #include "ocidl.h"
  199. #include "strmif.h"
  200. #include "mstve.h"
  201. #include "mstvca.h"
  202. #ifdef __cplusplus
  203. extern "C"{
  204. #endif 
  205. void * __RPC_USER MIDL_user_allocate(size_t);
  206. void __RPC_USER MIDL_user_free( void * ); 
  207. /* interface __MIDL_itf_segment_0000 */
  208. /* [local] */ 
  209. //+-------------------------------------------------------------------------
  210. //
  211. //  Microsoft Windows
  212. //  Copyright (C) Microsoft Corporation, 1999-2000.
  213. //
  214. //--------------------------------------------------------------------------
  215. #pragma once
  216. #include <olectl.h>
  217. typedef /* [public] */ 
  218. enum __MIDL___MIDL_itf_segment_0000_0001
  219.     { dispidName = 0,
  220. dispidStatus = dispidName + 1,
  221. dispidDevImageSourceWidth = dispidStatus + 1,
  222. dispidDevImageSourceHeight = dispidDevImageSourceWidth + 1,
  223. dispidDevCountryCode = dispidDevImageSourceHeight + 1,
  224. dispidDevOverScan = dispidDevCountryCode + 1,
  225. dispidSegment = dispidDevOverScan + 1,
  226. dispidDevVolume = dispidSegment + 1,
  227. dispidDevBalance = dispidDevVolume + 1,
  228. dispidDevPower = dispidDevBalance + 1,
  229. dispidTuneChan = dispidDevPower + 1,
  230. dispidDevVideoSubchannel = dispidTuneChan + 1,
  231. dispidDevAudioSubchannel = dispidDevVideoSubchannel + 1,
  232. dispidChannelAvailable = dispidDevAudioSubchannel + 1,
  233. dispidDevVideoFrequency = dispidChannelAvailable + 1,
  234. dispidDevAudioFrequency = dispidDevVideoFrequency + 1,
  235. dispidCount = dispidDevAudioFrequency + 1,
  236. dispidDevFileName = dispidCount + 1,
  237. dispidVisible = dispidDevFileName + 1,
  238. dispidOwner = dispidVisible + 1,
  239. dispidMessageDrain = dispidOwner + 1,
  240. dispidViewable = dispidMessageDrain + 1,
  241. dispidDevView = dispidViewable + 1,
  242. dispidKSCat = dispidDevView + 1,
  243. dispidCLSID = dispidKSCat + 1,
  244. dispid_KSCat = dispidCLSID + 1,
  245. dispid_CLSID = dispid_KSCat + 1,
  246. dispidTune = dispid_CLSID + 1,
  247. dispidTS = dispidTune + 1,
  248. dispidDevSAP = dispidTS + 1,
  249. dispidClip = dispidDevSAP + 1,
  250. dispidRequestedClipRect = dispidClip + 1,
  251. dispidClippedSourceRect = dispidRequestedClipRect + 1,
  252. dispidAvailableSourceRect = dispidClippedSourceRect + 1,
  253. dispidMediaPosition = dispidAvailableSourceRect + 1,
  254. dispidDevRun = dispidMediaPosition + 1,
  255. dispidDevPause = dispidDevRun + 1,
  256. dispidDevStop = dispidDevPause + 1,
  257. dispidCCEnable = dispidDevStop + 1,
  258. dispidDevStep = dispidCCEnable + 1,
  259. dispidDevCanStep = dispidDevStep + 1,
  260. dispidSourceSize = dispidDevCanStep + 1,
  261. dispid_playtitle = dispidSourceSize + 1,
  262. dispid_playchapterintitle = dispid_playtitle + 1,
  263. dispid_playchapter = dispid_playchapterintitle + 1,
  264. dispid_playchaptersautostop = dispid_playchapter + 1,
  265. dispid_playattime = dispid_playchaptersautostop + 1,
  266. dispid_playattimeintitle = dispid_playattime + 1,
  267. dispid_playperiodintitleautostop = dispid_playattimeintitle + 1,
  268. dispid_replaychapter = dispid_playperiodintitleautostop + 1,
  269. dispid_playprevchapter = dispid_replaychapter + 1,
  270. dispid_playnextchapter = dispid_playprevchapter + 1,
  271. dispid_playforwards = dispid_playnextchapter + 1,
  272. dispid_playbackwards = dispid_playforwards + 1,
  273. dispid_stilloff = dispid_playbackwards + 1,
  274. dispid_audiolanguage = dispid_stilloff + 1,
  275. dispid_showmenu = dispid_audiolanguage + 1,
  276. dispid_resume = dispid_showmenu + 1,
  277. dispid_returnfromsubmenu = dispid_resume + 1,
  278. dispid_buttonsavailable = dispid_returnfromsubmenu + 1,
  279. dispid_currentbutton = dispid_buttonsavailable + 1,
  280. dispid_SelectAndActivateButton = dispid_currentbutton + 1,
  281. dispid_ActivateButton = dispid_SelectAndActivateButton + 1,
  282. dispid_SelectRightButton = dispid_ActivateButton + 1,
  283. dispid_SelectLeftButton = dispid_SelectRightButton + 1,
  284. dispid_SelectLowerButton = dispid_SelectLeftButton + 1,
  285. dispid_SelectUpperButton = dispid_SelectLowerButton + 1,
  286. dispid_ActivateAtPosition = dispid_SelectUpperButton + 1,
  287. dispid_SelectAtPosition = dispid_ActivateAtPosition + 1,
  288. dispid_ButtonAtPosition = dispid_SelectAtPosition + 1,
  289. dispid_NumberOfChapters = dispid_ButtonAtPosition + 1,
  290. dispid_TotalTitleTime = dispid_NumberOfChapters + 1,
  291. dispid_TitlesAvailable = dispid_TotalTitleTime + 1,
  292. dispid_VolumesAvailable = dispid_TitlesAvailable + 1,
  293. dispid_CurrentVolume = dispid_VolumesAvailable + 1,
  294. dispid_CurrentDiscSide = dispid_CurrentVolume + 1,
  295. dispid_CurrentDomain = dispid_CurrentDiscSide + 1,
  296. dispid_CurrentChapter = dispid_CurrentDomain + 1,
  297. dispid_CurrentTitle = dispid_CurrentChapter + 1,
  298. dispid_CurrentTime = dispid_CurrentTitle + 1,
  299. dispid_FramesPerSecond = dispid_CurrentTime + 1,
  300. dispid_DVDTimeCode2bstr = dispid_FramesPerSecond + 1,
  301. dispid_DVDDirectory = dispid_DVDTimeCode2bstr + 1,
  302. dispid_IsSubpictureStreamEnabled = dispid_DVDDirectory + 1,
  303. dispid_IsAudioStreamEnabled = dispid_IsSubpictureStreamEnabled + 1,
  304. dispid_CurrentSubpictureStream = dispid_IsAudioStreamEnabled + 1,
  305. dispid_SubpictureLanguage = dispid_CurrentSubpictureStream + 1,
  306. dispid_CurrentAudioStream = dispid_SubpictureLanguage + 1,
  307. dispid_AudioStreamsAvailable = dispid_CurrentAudioStream + 1,
  308. dispid_AnglesAvailable = dispid_AudioStreamsAvailable + 1,
  309. dispid_CurrentAngle = dispid_AnglesAvailable + 1,
  310. dispid_CCActive = dispid_CurrentAngle + 1,
  311. dispid_CurrentCCService = dispid_CCActive + 1,
  312. dispid_SubpictureStreamsAvailable = dispid_CurrentCCService + 1,
  313. dispid_SubpictureOn = dispid_SubpictureStreamsAvailable + 1,
  314. dispid_DVDUniqueID = dispid_SubpictureOn + 1,
  315. dispid_EnableResetOnStop = dispid_DVDUniqueID + 1,
  316. dispid_AcceptParentalLevelChange = dispid_EnableResetOnStop + 1,
  317. dispid_NotifyParentalLevelChange = dispid_AcceptParentalLevelChange + 1,
  318. dispid_SelectParentalCountry = dispid_NotifyParentalLevelChange + 1,
  319. dispid_SelectParentalLevel = dispid_SelectParentalCountry + 1,
  320. dispid_TitleParentalLevels = dispid_SelectParentalLevel + 1,
  321. dispid_PlayerParentalCountry = dispid_TitleParentalLevels + 1,
  322. dispid_PlayerParentalLevel = dispid_PlayerParentalCountry + 1,
  323. dispid_Eject = dispid_PlayerParentalLevel + 1,
  324. dispid_UOPValid = dispid_Eject + 1,
  325. dispid_SPRM = dispid_UOPValid + 1,
  326. dispid_GPRM = dispid_SPRM + 1,
  327. dispid_DVDTextStringType = dispid_GPRM + 1,
  328. dispid_DVDTextString = dispid_DVDTextStringType + 1,
  329. dispid_DVDTextNumberOfStrings = dispid_DVDTextString + 1,
  330. dispid_DVDTextNumberOfLanguages = dispid_DVDTextNumberOfStrings + 1,
  331. dispid_DVDTextLanguageLCID = dispid_DVDTextNumberOfLanguages + 1,
  332. dispid_RegionChange = dispid_DVDTextLanguageLCID + 1,
  333. dispid_DVDAdm = dispid_RegionChange + 1,
  334. dispid_DeleteBookmark = dispid_DVDAdm + 1,
  335. dispid_RestoreBookmark = dispid_DeleteBookmark + 1,
  336. dispid_SaveBookmark = dispid_RestoreBookmark + 1,
  337. dispid_SelectDefaultAudioLanguage = dispid_SaveBookmark + 1,
  338. dispid_SelectDefaultSubpictureLanguage = dispid_SelectDefaultAudioLanguage + 1,
  339. dispid_PreferredSubpictureStream = dispid_SelectDefaultSubpictureLanguage + 1,
  340. dispid_DefaultMenuLanguage = dispid_PreferredSubpictureStream + 1,
  341. dispid_DefaultSubpictureLanguage = dispid_DefaultMenuLanguage + 1,
  342. dispid_DefaultAudioLanguage = dispid_DefaultSubpictureLanguage + 1,
  343. dispid_DefaultSubpictureLanguageExt = dispid_DefaultAudioLanguage + 1,
  344. dispid_DefaultAudioLanguageExt = dispid_DefaultSubpictureLanguageExt + 1,
  345. dispid_LanguageFromLCID = dispid_DefaultAudioLanguageExt + 1,
  346. dispid_KaraokeAudioPresentationMode = dispid_LanguageFromLCID + 1,
  347. dispid_KaraokeChannelContent = dispid_KaraokeAudioPresentationMode + 1,
  348. dispid_KaraokeChannelAssignment = dispid_KaraokeChannelContent + 1,
  349. dispid_RestorePreferredSettings = dispid_KaraokeChannelAssignment + 1,
  350. dispid_ButtonRect = dispid_RestorePreferredSettings + 1,
  351. dispid_DVDScreenInMouseCoordinates = dispid_ButtonRect + 1,
  352. dispid_CustomCompositorClass = dispid_DVDScreenInMouseCoordinates + 1,
  353. dispidCustomCompositorClass = dispid_CustomCompositorClass + 1,
  354. dispid_CustomCompositor = dispidCustomCompositorClass + 1,
  355. dispidMixerBitmap = dispid_CustomCompositor + 1,
  356. dispid_MixerBitmap = dispidMixerBitmap + 1,
  357. dispidMixerBitmapOpacity = dispid_MixerBitmap + 1,
  358. dispidMixerBitmapRect = dispidMixerBitmapOpacity + 1,
  359. dispidSetupMixerBitmap = dispidMixerBitmapRect + 1,
  360. dispidUsingOverlay = dispidSetupMixerBitmap + 1,
  361. dispidDisplayChange = dispidUsingOverlay + 1,
  362. dispidRePaint = dispidDisplayChange + 1,
  363. dispid_IsEqualDevice = dispidRePaint + 1,
  364. dispidrate = dispid_IsEqualDevice + 1,
  365. dispidposition = dispidrate + 1,
  366. dispidpositionmode = dispidposition + 1,
  367. dispidlength = dispidpositionmode + 1,
  368. dispidChangePassword = dispidlength + 1,
  369. dispidSaveParentalLevel = dispidChangePassword + 1,
  370. dispidSaveParentalCountry = dispidSaveParentalLevel + 1,
  371. dispidConfirmPassword = dispidSaveParentalCountry + 1,
  372. dispidGetParentalLevel = dispidConfirmPassword + 1,
  373. dispidGetParentalCountry = dispidGetParentalLevel + 1,
  374. dispidDefaultAudioLCID = dispidGetParentalCountry + 1,
  375. dispidDefaultSubpictureLCID = dispidDefaultAudioLCID + 1,
  376. dispidDefaultMenuLCID = dispidDefaultSubpictureLCID + 1,
  377. dispidBookmarkOnStop = dispidDefaultMenuLCID + 1,
  378. dispidMaxVidRect = dispidBookmarkOnStop + 1,
  379. dispidMinVidRect = dispidMaxVidRect + 1,
  380. dispidCapture = dispidMinVidRect + 1,
  381. dispid_DecimateInput = dispidCapture + 1,
  382. LastReservedDeviceDispid = 0x3fff
  383.     }  SegDispidList;
  384. typedef /* [public] */ 
  385. enum __MIDL___MIDL_itf_segment_0000_0002
  386.     { eventidStateChange = 0,
  387. eventidOnTuneChanged = eventidStateChange + 1,
  388. eventidEndOfMedia = eventidOnTuneChanged + 1,
  389. eventidDVDNotify = eventidEndOfMedia + 1,
  390. eventidPlayForwards = eventidDVDNotify + 1,
  391. eventidPlayBackwards = eventidPlayForwards + 1,
  392. eventidShowMenu = eventidPlayBackwards + 1,
  393. eventidResume = eventidShowMenu + 1,
  394. eventidSelectOrActivateButton = eventidResume + 1,
  395. eventidStillOff = eventidSelectOrActivateButton + 1,
  396. eventidPauseOn = eventidStillOff + 1,
  397. eventidChangeCurrentAudioStream = eventidPauseOn + 1,
  398. eventidChangeCurrentSubpictureStream = eventidChangeCurrentAudioStream + 1,
  399. eventidChangeCurrentAngle = eventidChangeCurrentSubpictureStream + 1,
  400. eventidPlayAtTimeInTitle = eventidChangeCurrentAngle + 1,
  401. eventidPlayAtTime = eventidPlayAtTimeInTitle + 1,
  402. eventidPlayChapterInTitle = eventidPlayAtTime + 1,
  403. eventidPlayChapter = eventidPlayChapterInTitle + 1,
  404. eventidReplayChapter = eventidPlayChapter + 1,
  405. eventidPlayNextChapter = eventidReplayChapter + 1,
  406. eventidStop = eventidPlayNextChapter + 1,
  407. eventidReturnFromSubmenu = eventidStop + 1,
  408. eventidPlayTitle = eventidReturnFromSubmenu + 1,
  409. eventidPlayPrevChapter = eventidPlayTitle + 1,
  410. eventidChangeKaraokePresMode = eventidPlayPrevChapter + 1,
  411. eventidChangeVideoPresMode = eventidChangeKaraokePresMode + 1,
  412. eventidOverlayUnavailable = eventidChangeVideoPresMode + 1,
  413. LastReservedDeviceEvent = 0x3fff
  414.     }  SegEventidList;
  415. typedef /* [public][public][public] */ 
  416. enum __MIDL___MIDL_itf_segment_0000_0003
  417.     { FrameMode = 0,
  418. TenthsSecondsMode = FrameMode + 1
  419.     }  PositionModeList;
  420. extern RPC_IF_HANDLE __MIDL_itf_segment_0000_v0_0_c_ifspec;
  421. extern RPC_IF_HANDLE __MIDL_itf_segment_0000_v0_0_s_ifspec;
  422. #ifndef __IMSVidRect_INTERFACE_DEFINED__
  423. #define __IMSVidRect_INTERFACE_DEFINED__
  424. /* interface IMSVidRect */
  425. /* [unique][helpstring][uuid][object] */ 
  426. EXTERN_C const IID IID_IMSVidRect;
  427. #if defined(__cplusplus) && !defined(CINTERFACE)
  428.     
  429.     MIDL_INTERFACE("7F5000A6-A440-47ca-8ACC-C0E75531A2C2")
  430.     IMSVidRect : public IDispatch
  431.     {
  432.     public:
  433.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Top( 
  434.             /* [retval][out] */ LONG *TopVal) = 0;
  435.         
  436.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Top( 
  437.             /* [in] */ LONG TopVal) = 0;
  438.         
  439.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Left( 
  440.             /* [retval][out] */ LONG *LeftVal) = 0;
  441.         
  442.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Left( 
  443.             /* [in] */ LONG LeftVal) = 0;
  444.         
  445.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
  446.             /* [retval][out] */ LONG *WidthVal) = 0;
  447.         
  448.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Width( 
  449.             /* [in] */ LONG WidthVal) = 0;
  450.         
  451.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
  452.             /* [retval][out] */ LONG *HeightVal) = 0;
  453.         
  454.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
  455.             /* [in] */ LONG HeightVal) = 0;
  456.         
  457.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_HWnd( 
  458.             /* [retval][out] */ HWND *HWndVal) = 0;
  459.         
  460.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_HWnd( 
  461.             /* [in] */ HWND HWndVal) = 0;
  462.         
  463.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Rect( 
  464.             /* [in] */ IMSVidRect *RectVal) = 0;
  465.         
  466.     };
  467.     
  468. #else  /* C style interface */
  469.     typedef struct IMSVidRectVtbl
  470.     {
  471.         BEGIN_INTERFACE
  472.         
  473.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  474.             IMSVidRect * This,
  475.             /* [in] */ REFIID riid,
  476.             /* [iid_is][out] */ void **ppvObject);
  477.         
  478.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  479.             IMSVidRect * This);
  480.         
  481.         ULONG ( STDMETHODCALLTYPE *Release )( 
  482.             IMSVidRect * This);
  483.         
  484.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  485.             IMSVidRect * This,
  486.             /* [out] */ UINT *pctinfo);
  487.         
  488.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  489.             IMSVidRect * This,
  490.             /* [in] */ UINT iTInfo,
  491.             /* [in] */ LCID lcid,
  492.             /* [out] */ ITypeInfo **ppTInfo);
  493.         
  494.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  495.             IMSVidRect * This,
  496.             /* [in] */ REFIID riid,
  497.             /* [size_is][in] */ LPOLESTR *rgszNames,
  498.             /* [in] */ UINT cNames,
  499.             /* [in] */ LCID lcid,
  500.             /* [size_is][out] */ DISPID *rgDispId);
  501.         
  502.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  503.             IMSVidRect * This,
  504.             /* [in] */ DISPID dispIdMember,
  505.             /* [in] */ REFIID riid,
  506.             /* [in] */ LCID lcid,
  507.             /* [in] */ WORD wFlags,
  508.             /* [out][in] */ DISPPARAMS *pDispParams,
  509.             /* [out] */ VARIANT *pVarResult,
  510.             /* [out] */ EXCEPINFO *pExcepInfo,
  511.             /* [out] */ UINT *puArgErr);
  512.         
  513.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
  514.             IMSVidRect * This,
  515.             /* [retval][out] */ LONG *TopVal);
  516.         
  517.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Top )( 
  518.             IMSVidRect * This,
  519.             /* [in] */ LONG TopVal);
  520.         
  521.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
  522.             IMSVidRect * This,
  523.             /* [retval][out] */ LONG *LeftVal);
  524.         
  525.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Left )( 
  526.             IMSVidRect * This,
  527.             /* [in] */ LONG LeftVal);
  528.         
  529.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
  530.             IMSVidRect * This,
  531.             /* [retval][out] */ LONG *WidthVal);
  532.         
  533.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
  534.             IMSVidRect * This,
  535.             /* [in] */ LONG WidthVal);
  536.         
  537.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
  538.             IMSVidRect * This,
  539.             /* [retval][out] */ LONG *HeightVal);
  540.         
  541.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
  542.             IMSVidRect * This,
  543.             /* [in] */ LONG HeightVal);
  544.         
  545.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HWnd )( 
  546.             IMSVidRect * This,
  547.             /* [retval][out] */ HWND *HWndVal);
  548.         
  549.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HWnd )( 
  550.             IMSVidRect * This,
  551.             /* [in] */ HWND HWndVal);
  552.         
  553.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rect )( 
  554.             IMSVidRect * This,
  555.             /* [in] */ IMSVidRect *RectVal);
  556.         
  557.         END_INTERFACE
  558.     } IMSVidRectVtbl;
  559.     interface IMSVidRect
  560.     {
  561.         CONST_VTBL struct IMSVidRectVtbl *lpVtbl;
  562.     };
  563.     
  564. #ifdef COBJMACROS
  565. #define IMSVidRect_QueryInterface(This,riid,ppvObject)
  566.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  567. #define IMSVidRect_AddRef(This)
  568.     (This)->lpVtbl -> AddRef(This)
  569. #define IMSVidRect_Release(This)
  570.     (This)->lpVtbl -> Release(This)
  571. #define IMSVidRect_GetTypeInfoCount(This,pctinfo)
  572.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  573. #define IMSVidRect_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  574.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  575. #define IMSVidRect_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  576.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  577. #define IMSVidRect_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  578.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  579. #define IMSVidRect_get_Top(This,TopVal)
  580.     (This)->lpVtbl -> get_Top(This,TopVal)
  581. #define IMSVidRect_put_Top(This,TopVal)
  582.     (This)->lpVtbl -> put_Top(This,TopVal)
  583. #define IMSVidRect_get_Left(This,LeftVal)
  584.     (This)->lpVtbl -> get_Left(This,LeftVal)
  585. #define IMSVidRect_put_Left(This,LeftVal)
  586.     (This)->lpVtbl -> put_Left(This,LeftVal)
  587. #define IMSVidRect_get_Width(This,WidthVal)
  588.     (This)->lpVtbl -> get_Width(This,WidthVal)
  589. #define IMSVidRect_put_Width(This,WidthVal)
  590.     (This)->lpVtbl -> put_Width(This,WidthVal)
  591. #define IMSVidRect_get_Height(This,HeightVal)
  592.     (This)->lpVtbl -> get_Height(This,HeightVal)
  593. #define IMSVidRect_put_Height(This,HeightVal)
  594.     (This)->lpVtbl -> put_Height(This,HeightVal)
  595. #define IMSVidRect_get_HWnd(This,HWndVal)
  596.     (This)->lpVtbl -> get_HWnd(This,HWndVal)
  597. #define IMSVidRect_put_HWnd(This,HWndVal)
  598.     (This)->lpVtbl -> put_HWnd(This,HWndVal)
  599. #define IMSVidRect_put_Rect(This,RectVal)
  600.     (This)->lpVtbl -> put_Rect(This,RectVal)
  601. #endif /* COBJMACROS */
  602. #endif  /* C style interface */
  603. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMSVidRect_get_Top_Proxy( 
  604.     IMSVidRect * This,
  605.     /* [retval][out] */ LONG *TopVal);
  606. void __RPC_STUB IMSVidRect_get_Top_Stub(
  607.     IRpcStubBuffer *This,
  608.     IRpcChannelBuffer *_pRpcChannelBuffer,
  609.     PRPC_MESSAGE _pRpcMessage,
  610.     DWORD *_pdwStubPhase);
  611. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMSVidRect_put_Top_Proxy( 
  612.     IMSVidRect * This,
  613.     /* [in] */ LONG TopVal);
  614. void __RPC_STUB IMSVidRect_put_Top_Stub(
  615.     IRpcStubBuffer *This,
  616.     IRpcChannelBuffer *_pRpcChannelBuffer,
  617.     PRPC_MESSAGE _pRpcMessage,
  618.     DWORD *_pdwStubPhase);
  619. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMSVidRect_get_Left_Proxy( 
  620.     IMSVidRect * This,
  621.     /* [retval][out] */ LONG *LeftVal);
  622. void __RPC_STUB IMSVidRect_get_Left_Stub(
  623.     IRpcStubBuffer *This,
  624.     IRpcChannelBuffer *_pRpcChannelBuffer,
  625.     PRPC_MESSAGE _pRpcMessage,
  626.     DWORD *_pdwStubPhase);
  627. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMSVidRect_put_Left_Proxy( 
  628.     IMSVidRect * This,
  629.     /* [in] */ LONG LeftVal);
  630. void __RPC_STUB IMSVidRect_put_Left_Stub(
  631.     IRpcStubBuffer *This,
  632.     IRpcChannelBuffer *_pRpcChannelBuffer,
  633.     PRPC_MESSAGE _pRpcMessage,
  634.     DWORD *_pdwStubPhase);
  635. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMSVidRect_get_Width_Proxy( 
  636.     IMSVidRect * This,
  637.     /* [retval][out] */ LONG *WidthVal);
  638. void __RPC_STUB IMSVidRect_get_Width_Stub(
  639.     IRpcStubBuffer *This,
  640.     IRpcChannelBuffer *_pRpcChannelBuffer,
  641.     PRPC_MESSAGE _pRpcMessage,
  642.     DWORD *_pdwStubPhase);
  643. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMSVidRect_put_Width_Proxy( 
  644.     IMSVidRect * This,
  645.     /* [in] */ LONG WidthVal);
  646. void __RPC_STUB IMSVidRect_put_Width_Stub(
  647.     IRpcStubBuffer *This,
  648.     IRpcChannelBuffer *_pRpcChannelBuffer,
  649.     PRPC_MESSAGE _pRpcMessage,
  650.     DWORD *_pdwStubPhase);
  651. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMSVidRect_get_Height_Proxy( 
  652.     IMSVidRect * This,
  653.     /* [retval][out] */ LONG *HeightVal);
  654. void __RPC_STUB IMSVidRect_get_Height_Stub(
  655.     IRpcStubBuffer *This,
  656.     IRpcChannelBuffer *_pRpcChannelBuffer,
  657.     PRPC_MESSAGE _pRpcMessage,
  658.     DWORD *_pdwStubPhase);
  659. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMSVidRect_put_Height_Proxy( 
  660.     IMSVidRect * This,
  661.     /* [in] */ LONG HeightVal);
  662. void __RPC_STUB IMSVidRect_put_Height_Stub(
  663.     IRpcStubBuffer *This,
  664.     IRpcChannelBuffer *_pRpcChannelBuffer,
  665.     PRPC_MESSAGE _pRpcMessage,
  666.     DWORD *_pdwStubPhase);
  667. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMSVidRect_get_HWnd_Proxy( 
  668.     IMSVidRect * This,
  669.     /* [retval][out] */ HWND *HWndVal);
  670. void __RPC_STUB IMSVidRect_get_HWnd_Stub(
  671.     IRpcStubBuffer *This,
  672.     IRpcChannelBuffer *_pRpcChannelBuffer,
  673.     PRPC_MESSAGE _pRpcMessage,
  674.     DWORD *_pdwStubPhase);
  675. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMSVidRect_put_HWnd_Proxy( 
  676.     IMSVidRect * This,
  677.     /* [in] */ HWND HWndVal);
  678. void __RPC_STUB IMSVidRect_put_HWnd_Stub(
  679.     IRpcStubBuffer *This,
  680.     IRpcChannelBuffer *_pRpcChannelBuffer,
  681.     PRPC_MESSAGE _pRpcMessage,
  682.     DWORD *_pdwStubPhase);
  683. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMSVidRect_put_Rect_Proxy( 
  684.     IMSVidRect * This,
  685.     /* [in] */ IMSVidRect *RectVal);
  686. void __RPC_STUB IMSVidRect_put_Rect_Stub(
  687.     IRpcStubBuffer *This,
  688.     IRpcChannelBuffer *_pRpcChannelBuffer,
  689.     PRPC_MESSAGE _pRpcMessage,
  690.     DWORD *_pdwStubPhase);
  691. #endif  /* __IMSVidRect_INTERFACE_DEFINED__ */
  692. /* interface __MIDL_itf_segment_0524 */
  693. /* [local] */ 
  694. extern RPC_IF_HANDLE __MIDL_itf_segment_0524_v0_0_c_ifspec;
  695. extern RPC_IF_HANDLE __MIDL_itf_segment_0524_v0_0_s_ifspec;
  696. #ifndef __IMSVidGraphSegmentContainer_INTERFACE_DEFINED__
  697. #define __IMSVidGraphSegmentContainer_INTERFACE_DEFINED__
  698. /* interface IMSVidGraphSegmentContainer */
  699. /* [unique][helpstring][uuid][object] */ 
  700. EXTERN_C const IID IID_IMSVidGraphSegmentContainer;
  701. #if defined(__cplusplus) && !defined(CINTERFACE)
  702.     
  703.     MIDL_INTERFACE("3DD2903D-E0AA-11d2-B63A-00C04F79498E")
  704.     IMSVidGraphSegmentContainer : public IUnknown
  705.     {
  706.     public:
  707.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Graph( 
  708.             /* [out] */ IGraphBuilder **ppGraph) = 0;
  709.         
  710.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Input( 
  711.             /* [out] */ IMSVidGraphSegment **pInput) = 0;
  712.         
  713.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Outputs( 
  714.             /* [out] */ IEnumMSVidGraphSegment **pOutputs) = 0;
  715.         
  716.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VideoRenderer( 
  717.             /* [out] */ IMSVidGraphSegment **pVR) = 0;
  718.         
  719.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioRenderer( 
  720.             /* [out] */ IMSVidGraphSegment **pAR) = 0;
  721.         
  722.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Features( 
  723.             /* [out] */ IEnumMSVidGraphSegment **pOutputs) = 0;
  724.         
  725.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Composites( 
  726.             /* [out] */ IEnumMSVidGraphSegment **pComposites) = 0;
  727.         
  728.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ParentContainer( 
  729.             /* [out] */ IUnknown **ppContainer) = 0;
  730.         
  731.         virtual HRESULT STDMETHODCALLTYPE Decompose( 
  732.             IMSVidGraphSegment *pSegment) = 0;
  733.         
  734.         virtual HRESULT STDMETHODCALLTYPE IsWindowless( void) = 0;
  735.         
  736.         virtual HRESULT STDMETHODCALLTYPE GetFocus( void) = 0;
  737.         
  738.     };
  739.     
  740. #else  /* C style interface */
  741.     typedef struct IMSVidGraphSegmentContainerVtbl
  742.     {
  743.         BEGIN_INTERFACE
  744.         
  745.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  746.             IMSVidGraphSegmentContainer * This,
  747.             /* [in] */ REFIID riid,
  748.             /* [iid_is][out] */ void **ppvObject);
  749.         
  750.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  751.             IMSVidGraphSegmentContainer * This);
  752.         
  753.         ULONG ( STDMETHODCALLTYPE *Release )( 
  754.             IMSVidGraphSegmentContainer * This);
  755.         
  756.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Graph )( 
  757.             IMSVidGraphSegmentContainer * This,
  758.             /* [out] */ IGraphBuilder **ppGraph);
  759.         
  760.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Input )( 
  761.             IMSVidGraphSegmentContainer * This,
  762.             /* [out] */ IMSVidGraphSegment **pInput);
  763.         
  764.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Outputs )( 
  765.             IMSVidGraphSegmentContainer * This,
  766.             /* [out] */ IEnumMSVidGraphSegment **pOutputs);
  767.         
  768.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoRenderer )( 
  769.             IMSVidGraphSegmentContainer * This,
  770.             /* [out] */ IMSVidGraphSegment **pVR);
  771.         
  772.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioRenderer )( 
  773.             IMSVidGraphSegmentContainer * This,
  774.             /* [out] */ IMSVidGraphSegment **pAR);
  775.         
  776.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Features )( 
  777.             IMSVidGraphSegmentContainer * This,
  778.             /* [out] */ IEnumMSVidGraphSegment **pOutputs);
  779.         
  780.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Composites )( 
  781.             IMSVidGraphSegmentContainer * This,
  782.             /* [out] */ IEnumMSVidGraphSegment **pComposites);
  783.         
  784.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentContainer )( 
  785.             IMSVidGraphSegmentContainer * This,
  786.             /* [out] */ IUnknown **ppContainer);
  787.         
  788.         HRESULT ( STDMETHODCALLTYPE *Decompose )( 
  789.             IMSVidGraphSegmentContainer * This,
  790.             IMSVidGraphSegment *pSegment);
  791.         
  792.         HRESULT ( STDMETHODCALLTYPE *IsWindowless )( 
  793.             IMSVidGraphSegmentContainer * This);
  794.         
  795.         HRESULT ( STDMETHODCALLTYPE *GetFocus )( 
  796.             IMSVidGraphSegmentContainer * This);
  797.         
  798.         END_INTERFACE
  799.     } IMSVidGraphSegmentContainerVtbl;
  800.     interface IMSVidGraphSegmentContainer
  801.     {
  802.         CONST_VTBL struct IMSVidGraphSegmentContainerVtbl *lpVtbl;
  803.     };
  804.     
  805. #ifdef COBJMACROS
  806. #define IMSVidGraphSegmentContainer_QueryInterface(This,riid,ppvObject)
  807.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  808. #define IMSVidGraphSegmentContainer_AddRef(This)
  809.     (This)->lpVtbl -> AddRef(This)
  810. #define IMSVidGraphSegmentContainer_Release(This)
  811.     (This)->lpVtbl -> Release(This)
  812. #define IMSVidGraphSegmentContainer_get_Graph(This,ppGraph)
  813.     (This)->lpVtbl -> get_Graph(This,ppGraph)
  814. #define IMSVidGraphSegmentContainer_get_Input(This,pInput)
  815.     (This)->lpVtbl -> get_Input(This,pInput)
  816. #define IMSVidGraphSegmentContainer_get_Outputs(This,pOutputs)
  817.     (This)->lpVtbl -> get_Outputs(This,pOutputs)
  818. #define IMSVidGraphSegmentContainer_get_VideoRenderer(This,pVR)
  819.     (This)->lpVtbl -> get_VideoRenderer(This,pVR)
  820. #define IMSVidGraphSegmentContainer_get_AudioRenderer(This,pAR)
  821.     (This)->lpVtbl -> get_AudioRenderer(This,pAR)
  822. #define IMSVidGraphSegmentContainer_get_Features(This,pOutputs)
  823.     (This)->lpVtbl -> get_Features(This,pOutputs)
  824. #define IMSVidGraphSegmentContainer_get_Composites(This,pComposites)
  825.     (This)->lpVtbl -> get_Composites(This,pComposites)
  826. #define IMSVidGraphSegmentContainer_get_ParentContainer(This,ppContainer)
  827.     (This)->lpVtbl -> get_ParentContainer(This,ppContainer)
  828. #define IMSVidGraphSegmentContainer_Decompose(This,pSegment)
  829.     (This)->lpVtbl -> Decompose(This,pSegment)
  830. #define IMSVidGraphSegmentContainer_IsWindowless(This)
  831.     (This)->lpVtbl -> IsWindowless(This)
  832. #define IMSVidGraphSegmentContainer_GetFocus(This)
  833.     (This)->lpVtbl -> GetFocus(This)
  834. #endif /* COBJMACROS */
  835. #endif  /* C style interface */
  836. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMSVidGraphSegmentContainer_get_Graph_Proxy( 
  837.     IMSVidGraphSegmentContainer * This,
  838.     /* [out] */ IGraphBuilder **ppGraph);
  839. void __RPC_STUB IMSVidGraphSegmentContainer_get_Graph_Stub(
  840.     IRpcStubBuffer *This,
  841.     IRpcChannelBuffer *_pRpcChannelBuffer,
  842.     PRPC_MESSAGE _pRpcMessage,
  843.     DWORD *_pdwStubPhase);
  844. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMSVidGraphSegmentContainer_get_Input_Proxy( 
  845.     IMSVidGraphSegmentContainer * This,
  846.     /* [out] */ IMSVidGraphSegment **pInput);
  847. void __RPC_STUB IMSVidGraphSegmentContainer_get_Input_Stub(
  848.     IRpcStubBuffer *This,
  849.     IRpcChannelBuffer *_pRpcChannelBuffer,
  850.     PRPC_MESSAGE _pRpcMessage,
  851.     DWORD *_pdwStubPhase);
  852. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMSVidGraphSegmentContainer_get_Outputs_Proxy( 
  853.     IMSVidGraphSegmentContainer * This,
  854.     /* [out] */ IEnumMSVidGraphSegment **pOutputs);
  855. void __RPC_STUB IMSVidGraphSegmentContainer_get_Outputs_Stub(
  856.     IRpcStubBuffer *This,
  857.     IRpcChannelBuffer *_pRpcChannelBuffer,
  858.     PRPC_MESSAGE _pRpcMessage,
  859.     DWORD *_pdwStubPhase);
  860. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMSVidGraphSegmentContainer_get_VideoRenderer_Proxy( 
  861.     IMSVidGraphSegmentContainer * This,
  862.     /* [out] */ IMSVidGraphSegment **pVR);
  863. void __RPC_STUB IMSVidGraphSegmentContainer_get_VideoRenderer_Stub(
  864.     IRpcStubBuffer *This,
  865.     IRpcChannelBuffer *_pRpcChannelBuffer,
  866.     PRPC_MESSAGE _pRpcMessage,
  867.     DWORD *_pdwStubPhase);
  868. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMSVidGraphSegmentContainer_get_AudioRenderer_Proxy( 
  869.     IMSVidGraphSegmentContainer * This,
  870.     /* [out] */ IMSVidGraphSegment **pAR);
  871. void __RPC_STUB IMSVidGraphSegmentContainer_get_AudioRenderer_Stub(
  872.     IRpcStubBuffer *This,
  873.     IRpcChannelBuffer *_pRpcChannelBuffer,
  874.     PRPC_MESSAGE _pRpcMessage,
  875.     DWORD *_pdwStubPhase);
  876. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMSVidGraphSegmentContainer_get_Features_Proxy( 
  877.     IMSVidGraphSegmentContainer * This,
  878.     /* [out] */ IEnumMSVidGraphSegment **pOutputs);
  879. void __RPC_STUB IMSVidGraphSegmentContainer_get_Features_Stub(
  880.     IRpcStubBuffer *This,
  881.     IRpcChannelBuffer *_pRpcChannelBuffer,
  882.     PRPC_MESSAGE _pRpcMessage,
  883.     DWORD *_pdwStubPhase);
  884. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMSVidGraphSegmentContainer_get_Composites_Proxy( 
  885.     IMSVidGraphSegmentContainer * This,
  886.     /* [out] */ IEnumMSVidGraphSegment **pComposites);
  887. void __RPC_STUB IMSVidGraphSegmentContainer_get_Composites_Stub(
  888.     IRpcStubBuffer *This,
  889.     IRpcChannelBuffer *_pRpcChannelBuffer,
  890.     PRPC_MESSAGE _pRpcMessage,
  891.     DWORD *_pdwStubPhase);
  892. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMSVidGraphSegmentContainer_get_ParentContainer_Proxy( 
  893.     IMSVidGraphSegmentContainer * This,
  894.     /* [out] */ IUnknown **ppContainer);
  895. void __RPC_STUB IMSVidGraphSegmentContainer_get_ParentContainer_Stub(
  896.     IRpcStubBuffer *This,
  897.     IRpcChannelBuffer *_pRpcChannelBuffer,
  898.     PRPC_MESSAGE _pRpcMessage,
  899.     DWORD *_pdwStubPhase);
  900. HRESULT STDMETHODCALLTYPE IMSVidGraphSegmentContainer_Decompose_Proxy( 
  901.     IMSVidGraphSegmentContainer * This,
  902.     IMSVidGraphSegment *pSegment);
  903. void __RPC_STUB IMSVidGraphSegmentContainer_Decompose_Stub(
  904.     IRpcStubBuffer *This,
  905.     IRpcChannelBuffer *_pRpcChannelBuffer,
  906.     PRPC_MESSAGE _pRpcMessage,
  907.     DWORD *_pdwStubPhase);
  908. HRESULT STDMETHODCALLTYPE IMSVidGraphSegmentContainer_IsWindowless_Proxy( 
  909.     IMSVidGraphSegmentContainer * This);
  910. void __RPC_STUB IMSVidGraphSegmentContainer_IsWindowless_Stub(
  911.     IRpcStubBuffer *This,
  912.     IRpcChannelBuffer *_pRpcChannelBuffer,
  913.     PRPC_MESSAGE _pRpcMessage,
  914.     DWORD *_pdwStubPhase);
  915. HRESULT STDMETHODCALLTYPE IMSVidGraphSegmentContainer_GetFocus_Proxy( 
  916.     IMSVidGraphSegmentContainer * This);
  917. void __RPC_STUB IMSVidGraphSegmentContainer_GetFocus_Stub(
  918.     IRpcStubBuffer *This,
  919.     IRpcChannelBuffer *_pRpcChannelBuffer,
  920.     PRPC_MESSAGE _pRpcMessage,
  921.     DWORD *_pdwStubPhase);
  922. #endif  /* __IMSVidGraphSegmentContainer_INTERFACE_DEFINED__ */
  923. /* interface __MIDL_itf_segment_0525 */
  924. /* [local] */ 
  925. typedef 
  926. enum MSVidSegmentType
  927.     { MSVidSEG_SOURCE = 0,
  928. MSVidSEG_XFORM = MSVidSEG_SOURCE + 1,
  929. MSVidSEG_DEST = MSVidSEG_XFORM + 1
  930.     }  MSVidSegmentType;
  931. extern RPC_IF_HANDLE __MIDL_itf_segment_0525_v0_0_c_ifspec;
  932. extern RPC_IF_HANDLE __MIDL_itf_segment_0525_v0_0_s_ifspec;
  933. #ifndef __IMSVidGraphSegment_INTERFACE_DEFINED__
  934. #define __IMSVidGraphSegment_INTERFACE_DEFINED__
  935. /* interface IMSVidGraphSegment */
  936. /* [unique][helpstring][uuid][object] */ 
  937. EXTERN_C const IID IID_IMSVidGraphSegment;
  938. #if defined(__cplusplus) && !defined(CINTERFACE)
  939.     
  940.     MIDL_INTERFACE("1C15D482-911D-11d2-B632-00C04F79498E")
  941.     IMSVidGraphSegment : public IPersist
  942.     {
  943.     public:
  944.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Init( 
  945.             /* [retval][out] */ IUnknown **pInit) = 0;
  946.         
  947.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Init( 
  948.             /* [in] */ IUnknown *pInit) = 0;
  949.         
  950.         virtual HRESULT STDMETHODCALLTYPE EnumFilters( 
  951.             /* [out] */ IEnumFilters **pNewEnum) = 0;
  952.         
  953.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Container( 
  954.             /* [retval][out] */ IMSVidGraphSegmentContainer **ppCtl) = 0;
  955.         
  956.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Container( 
  957.             /* [in] */ IMSVidGraphSegmentContainer *pCtl) = 0;
  958.         
  959.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
  960.             /* [retval][out] */ MSVidSegmentType *pType) = 0;
  961.         
  962.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Category( 
  963.             /* [retval][out] */ GUID *pGuid) = 0;
  964.         
  965.         virtual HRESULT STDMETHODCALLTYPE Build( void) = 0;
  966.         
  967.         virtual HRESULT STDMETHODCALLTYPE PreRun( void) = 0;
  968.         
  969.         virtual HRESULT STDMETHODCALLTYPE PostRun( void) = 0;
  970.         
  971.         virtual HRESULT STDMETHODCALLTYPE PreStop( void) = 0;
  972.         
  973.         virtual HRESULT STDMETHODCALLTYPE PostStop( void) = 0;
  974.         
  975.         virtual HRESULT STDMETHODCALLTYPE OnEventNotify( 
  976.             LONG lEventCode,
  977.             LONG_PTR lEventParm1,
  978.             LONG_PTR lEventParm2) = 0;
  979.         
  980.         virtual HRESULT STDMETHODCALLTYPE Decompose( void) = 0;
  981.         
  982.     };
  983.     
  984. #else  /* C style interface */
  985.     typedef struct IMSVidGraphSegmentVtbl
  986.     {
  987.         BEGIN_INTERFACE
  988.         
  989.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  990.             IMSVidGraphSegment * This,
  991.             /* [in] */ REFIID riid,
  992.             /* [iid_is][out] */ void **ppvObject);
  993.         
  994.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  995.             IMSVidGraphSegment * This);
  996.         
  997.         ULONG ( STDMETHODCALLTYPE *Release )( 
  998.             IMSVidGraphSegment * This);
  999.         
  1000.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  1001.             IMSVidGraphSegment * This,
  1002.             /* [out] */ CLSID *pClassID);
  1003.         
  1004.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Init )( 
  1005.             IMSVidGraphSegment * This,
  1006.             /* [retval][out] */ IUnknown **pInit);
  1007.         
  1008.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Init )( 
  1009.             IMSVidGraphSegment * This,
  1010.             /* [in] */ IUnknown *pInit);
  1011.         
  1012.         HRESULT ( STDMETHODCALLTYPE *EnumFilters )( 
  1013.             IMSVidGraphSegment * This,
  1014.             /* [out] */ IEnumFilters **pNewEnum);
  1015.         
  1016.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Container )( 
  1017.             IMSVidGraphSegment * This,
  1018.             /* [retval][out] */ IMSVidGraphSegmentContainer **ppCtl);
  1019.         
  1020.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Container )( 
  1021.             IMSVidGraphSegment * This,
  1022.             /* [in] */ IMSVidGraphSegmentContainer *pCtl);
  1023.         
  1024.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
  1025.             IMSVidGraphSegment * This,
  1026.             /* [retval][out] */ MSVidSegmentType *pType);
  1027.         
  1028.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
  1029.             IMSVidGraphSegment * This,
  1030.             /* [retval][out] */ GUID *pGuid);
  1031.         
  1032.         HRESULT ( STDMETHODCALLTYPE *Build )( 
  1033.             IMSVidGraphSegment * This);
  1034.         
  1035.         HRESULT ( STDMETHODCALLTYPE *PreRun )( 
  1036.             IMSVidGraphSegment * This);
  1037.         
  1038.         HRESULT ( STDMETHODCALLTYPE *PostRun )( 
  1039.             IMSVidGraphSegment * This);
  1040.         
  1041.         HRESULT ( STDMETHODCALLTYPE *PreStop )( 
  1042.             IMSVidGraphSegment * This);
  1043.         
  1044.         HRESULT ( STDMETHODCALLTYPE *PostStop )( 
  1045.             IMSVidGraphSegment * This);
  1046.         
  1047.         HRESULT ( STDMETHODCALLTYPE *OnEventNotify )( 
  1048.             IMSVidGraphSegment * This,
  1049.             LONG lEventCode,
  1050.             LONG_PTR lEventParm1,
  1051.             LONG_PTR lEventParm2);
  1052.         
  1053.         HRESULT ( STDMETHODCALLTYPE *Decompose )( 
  1054.             IMSVidGraphSegment * This);
  1055.         
  1056.         END_INTERFACE
  1057.     } IMSVidGraphSegmentVtbl;
  1058.     interface IMSVidGraphSegment
  1059.     {
  1060.         CONST_VTBL struct IMSVidGraphSegmentVtbl *lpVtbl;
  1061.     };
  1062.     
  1063. #ifdef COBJMACROS
  1064. #define IMSVidGraphSegment_QueryInterface(This,riid,ppvObject)
  1065.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1066. #define IMSVidGraphSegment_AddRef(This)
  1067.     (This)->lpVtbl -> AddRef(This)
  1068. #define IMSVidGraphSegment_Release(This)
  1069.     (This)->lpVtbl -> Release(This)
  1070. #define IMSVidGraphSegment_GetClassID(This,pClassID)
  1071.     (This)->lpVtbl -> GetClassID(This,pClassID)
  1072. #define IMSVidGraphSegment_get_Init(This,pInit)
  1073.     (This)->lpVtbl -> get_Init(This,pInit)
  1074. #define IMSVidGraphSegment_put_Init(This,pInit)
  1075.     (This)->lpVtbl -> put_Init(This,pInit)
  1076. #define IMSVidGraphSegment_EnumFilters(This,pNewEnum)
  1077.     (This)->lpVtbl -> EnumFilters(This,pNewEnum)
  1078. #define IMSVidGraphSegment_get_Container(This,ppCtl)
  1079.     (This)->lpVtbl -> get_Container(This,ppCtl)
  1080. #define IMSVidGraphSegment_put_Container(This,pCtl)
  1081.     (This)->lpVtbl -> put_Container(This,pCtl)
  1082. #define IMSVidGraphSegment_get_Type(This,pType)
  1083.     (This)->lpVtbl -> get_Type(This,pType)
  1084. #define IMSVidGraphSegment_get_Category(This,pGuid)
  1085.     (This)->lpVtbl -> get_Category(This,pGuid)
  1086. #define IMSVidGraphSegment_Build(This)
  1087.     (This)->lpVtbl -> Build(This)
  1088. #define IMSVidGraphSegment_PreRun(This)
  1089.     (This)->lpVtbl -> PreRun(This)
  1090. #define IMSVidGraphSegment_PostRun(This)
  1091.     (This)->lpVtbl -> PostRun(This)
  1092. #define IMSVidGraphSegment_PreStop(This)
  1093.     (This)->lpVtbl -> PreStop(This)
  1094. #define IMSVidGraphSegment_PostStop(This)
  1095.     (This)->lpVtbl -> PostStop(This)
  1096. #define IMSVidGraphSegment_OnEventNotify(This,lEventCode,lEventParm1,lEventParm2)
  1097.     (This)->lpVtbl -> OnEventNotify(This,lEventCode,lEventParm1,lEventParm2)
  1098. #define IMSVidGraphSegment_Decompose(This)
  1099.     (This)->lpVtbl -> Decompose(This)
  1100. #endif /* COBJMACROS */
  1101. #endif  /* C style interface */
  1102. /* [propget] */ HRESULT STDMETHODCALLTYPE IMSVidGraphSegment_get_Init_Proxy( 
  1103.     IMSVidGraphSegment * This,
  1104.     /* [retval][out] */ IUnknown **pInit);
  1105. void __RPC_STUB IMSVidGraphSegment_get_Init_Stub(
  1106.     IRpcStubBuffer *This,
  1107.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1108.     PRPC_MESSAGE _pRpcMessage,
  1109.     DWORD *_pdwStubPhase);
  1110. /* [propput] */ HRESULT STDMETHODCALLTYPE IMSVidGraphSegment_put_Init_Proxy( 
  1111.     IMSVidGraphSegment * This,
  1112.     /* [in] */ IUnknown *pInit);
  1113. void __RPC_STUB IMSVidGraphSegment_put_Init_Stub(
  1114.     IRpcStubBuffer *This,
  1115.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1116.     PRPC_MESSAGE _pRpcMessage,
  1117.     DWORD *_pdwStubPhase);
  1118. HRESULT STDMETHODCALLTYPE IMSVidGraphSegment_EnumFilters_Proxy( 
  1119.     IMSVidGraphSegment * This,
  1120.     /* [out] */ IEnumFilters **pNewEnum);
  1121. void __RPC_STUB IMSVidGraphSegment_EnumFilters_Stub(
  1122.     IRpcStubBuffer *This,
  1123.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1124.     PRPC_MESSAGE _pRpcMessage,
  1125.     DWORD *_pdwStubPhase);
  1126. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMSVidGraphSegment_get_Container_Proxy( 
  1127.     IMSVidGraphSegment * This,
  1128.     /* [retval][out] */ IMSVidGraphSegmentContainer **ppCtl);
  1129. void __RPC_STUB IMSVidGraphSegment_get_Container_Stub(
  1130.     IRpcStubBuffer *This,
  1131.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1132.     PRPC_MESSAGE _pRpcMessage,
  1133.     DWORD *_pdwStubPhase);
  1134. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IMSVidGraphSegment_put_Container_Proxy( 
  1135.     IMSVidGraphSegment * This,
  1136.     /* [in] */ IMSVidGraphSegmentContainer *pCtl);
  1137. void __RPC_STUB IMSVidGraphSegment_put_Container_Stub(
  1138.     IRpcStubBuffer *This,
  1139.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1140.     PRPC_MESSAGE _pRpcMessage,
  1141.     DWORD *_pdwStubPhase);
  1142. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMSVidGraphSegment_get_Type_Proxy( 
  1143.     IMSVidGraphSegment * This,
  1144.     /* [retval][out] */ MSVidSegmentType *pType);
  1145. void __RPC_STUB IMSVidGraphSegment_get_Type_Stub(
  1146.     IRpcStubBuffer *This,
  1147.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1148.     PRPC_MESSAGE _pRpcMessage,
  1149.     DWORD *_pdwStubPhase);
  1150. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMSVidGraphSegment_get_Category_Proxy( 
  1151.     IMSVidGraphSegment * This,
  1152.     /* [retval][out] */ GUID *pGuid);
  1153. void __RPC_STUB IMSVidGraphSegment_get_Category_Stub(
  1154.     IRpcStubBuffer *This,
  1155.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1156.     PRPC_MESSAGE _pRpcMessage,
  1157.     DWORD *_pdwStubPhase);
  1158. HRESULT STDMETHODCALLTYPE IMSVidGraphSegment_Build_Proxy( 
  1159.     IMSVidGraphSegment * This);
  1160. void __RPC_STUB IMSVidGraphSegment_Build_Stub(
  1161.     IRpcStubBuffer *This,
  1162.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1163.     PRPC_MESSAGE _pRpcMessage,
  1164.     DWORD *_pdwStubPhase);
  1165. HRESULT STDMETHODCALLTYPE IMSVidGraphSegment_PreRun_Proxy( 
  1166.     IMSVidGraphSegment * This);
  1167. void __RPC_STUB IMSVidGraphSegment_PreRun_Stub(
  1168.     IRpcStubBuffer *This,
  1169.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1170.     PRPC_MESSAGE _pRpcMessage,
  1171.     DWORD *_pdwStubPhase);
  1172. HRESULT STDMETHODCALLTYPE IMSVidGraphSegment_PostRun_Proxy( 
  1173.     IMSVidGraphSegment * This);
  1174. void __RPC_STUB IMSVidGraphSegment_PostRun_Stub(
  1175.     IRpcStubBuffer *This,
  1176.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1177.     PRPC_MESSAGE _pRpcMessage,
  1178.     DWORD *_pdwStubPhase);
  1179. HRESULT STDMETHODCALLTYPE IMSVidGraphSegment_PreStop_Proxy( 
  1180.     IMSVidGraphSegment * This);
  1181. void __RPC_STUB IMSVidGraphSegment_PreStop_Stub(
  1182.     IRpcStubBuffer *This,
  1183.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1184.     PRPC_MESSAGE _pRpcMessage,
  1185.     DWORD *_pdwStubPhase);
  1186. HRESULT STDMETHODCALLTYPE IMSVidGraphSegment_PostStop_Proxy( 
  1187.     IMSVidGraphSegment * This);
  1188. void __RPC_STUB IMSVidGraphSegment_PostStop_Stub(
  1189.     IRpcStubBuffer *This,
  1190.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1191.     PRPC_MESSAGE _pRpcMessage,
  1192.     DWORD *_pdwStubPhase);
  1193. HRESULT STDMETHODCALLTYPE IMSVidGraphSegment_OnEventNotify_Proxy( 
  1194.     IMSVidGraphSegment * This,
  1195.     LONG lEventCode,
  1196.     LONG_PTR lEventParm1,
  1197.     LONG_PTR lEventParm2);
  1198. void __RPC_STUB IMSVidGraphSegment_OnEventNotify_Stub(
  1199.     IRpcStubBuffer *This,
  1200.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1201.     PRPC_MESSAGE _pRpcMessage,
  1202.     DWORD *_pdwStubPhase);
  1203. HRESULT STDMETHODCALLTYPE IMSVidGraphSegment_Decompose_Proxy( 
  1204.     IMSVidGraphSegment * This);
  1205. void __RPC_STUB IMSVidGraphSegment_Decompose_Stub(
  1206.     IRpcStubBuffer *This,
  1207.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1208.     PRPC_MESSAGE _pRpcMessage,
  1209.     DWORD *_pdwStubPhase);
  1210. #endif  /* __IMSVidGraphSegment_INTERFACE_DEFINED__ */
  1211. /* interface __MIDL_itf_segment_0526 */
  1212. /* [local] */ 
  1213. enum __MIDL___MIDL_itf_segment_0526_0001
  1214.     { MSVIDCTL_LEFT_BUTTON = 0x1,
  1215. MSVIDCTL_RIGHT_BUTTON = 0x2,
  1216. MSVIDCTL_MIDDLE_BUTTON = 0x4,
  1217. MSVIDCTL_X_BUTTON1 = 0x8,
  1218. MSVIDCTL_X_BUTTON2 = 0x10,
  1219. MSVIDCTL_SHIFT = 0x1,
  1220. MSVIDCTL_CTRL = 0x2,
  1221. MSVIDCTL_ALT = 0x4
  1222.     } ;
  1223. extern RPC_IF_HANDLE __MIDL_itf_segment_0526_v0_0_c_ifspec;
  1224. extern RPC_IF_HANDLE __MIDL_itf_segment_0526_v0_0_s_ifspec;
  1225. #ifndef __IMSVidGraphSegmentUserInput_INTERFACE_DEFINED__
  1226. #define __IMSVidGraphSegmentUserInput_INTERFACE_DEFINED__
  1227. /* interface IMSVidGraphSegmentUserInput */
  1228. /* [unique][helpstring][uuid][object] */ 
  1229. EXTERN_C const IID IID_IMSVidGraphSegmentUserInput;
  1230. #if defined(__cplusplus) && !defined(CINTERFACE)
  1231.     
  1232.     MIDL_INTERFACE("301C060E-20D9-4587-9B03-F82ED9A9943C")
  1233.     IMSVidGraphSegmentUserInput : public IUnknown
  1234.     {
  1235.     public:
  1236.         virtual HRESULT STDMETHODCALLTYPE Click( void) = 0;
  1237.         
  1238.         virtual HRESULT STDMETHODCALLTYPE DblClick( void) = 0;
  1239.         
  1240.         virtual HRESULT STDMETHODCALLTYPE KeyDown( 
  1241.             short *KeyCode,
  1242.             short ShiftState) = 0;
  1243.         
  1244.         virtual HRESULT STDMETHODCALLTYPE KeyPress( 
  1245.             short *KeyAscii) = 0;
  1246.         
  1247.         virtual HRESULT STDMETHODCALLTYPE KeyUp( 
  1248.             short *KeyCode,
  1249.             short ShiftState) = 0;
  1250.         
  1251.         virtual HRESULT STDMETHODCALLTYPE MouseDown( 
  1252.             short ButtonState,
  1253.             short ShiftState,
  1254.             /* external definition not present */ OLE_XPOS_PIXELS x,
  1255.             /* external definition not present */ OLE_YPOS_PIXELS y) = 0;
  1256.         
  1257.         virtual HRESULT STDMETHODCALLTYPE MouseMove( 
  1258.             short ButtonState,
  1259.             short ShiftState,
  1260.             /* external definition not present */ OLE_XPOS_PIXELS x,
  1261.             /* external definition not present */ OLE_YPOS_PIXELS y) = 0;
  1262.         
  1263.         virtual HRESULT STDMETHODCALLTYPE MouseUp( 
  1264.             short ButtonState,
  1265.             short ShiftState,
  1266.             /* external definition not present */ OLE_XPOS_PIXELS x,
  1267.             /* external definition not present */ OLE_YPOS_PIXELS y) = 0;
  1268.         
  1269.     };
  1270.     
  1271. #else  /* C style interface */
  1272.     typedef struct IMSVidGraphSegmentUserInputVtbl
  1273.     {
  1274.         BEGIN_INTERFACE
  1275.         
  1276.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1277.             IMSVidGraphSegmentUserInput * This,
  1278.             /* [in] */ REFIID riid,
  1279.             /* [iid_is][out] */ void **ppvObject);
  1280.         
  1281.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1282.             IMSVidGraphSegmentUserInput * This);
  1283.         
  1284.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1285.             IMSVidGraphSegmentUserInput * This);
  1286.         
  1287.         HRESULT ( STDMETHODCALLTYPE *Click )( 
  1288.             IMSVidGraphSegmentUserInput * This);
  1289.         
  1290.         HRESULT ( STDMETHODCALLTYPE *DblClick )( 
  1291.             IMSVidGraphSegmentUserInput * This);
  1292.         
  1293.         HRESULT ( STDMETHODCALLTYPE *KeyDown )( 
  1294.             IMSVidGraphSegmentUserInput * This,
  1295.             short *KeyCode,
  1296.             short ShiftState);
  1297.         
  1298.         HRESULT ( STDMETHODCALLTYPE *KeyPress )( 
  1299.             IMSVidGraphSegmentUserInput * This,
  1300.             short *KeyAscii);
  1301.         
  1302.         HRESULT ( STDMETHODCALLTYPE *KeyUp )( 
  1303.             IMSVidGraphSegmentUserInput * This,
  1304.             short *KeyCode,
  1305.             short ShiftState);
  1306.         
  1307.         HRESULT ( STDMETHODCALLTYPE *MouseDown )( 
  1308.             IMSVidGraphSegmentUserInput * This,
  1309.             short ButtonState,
  1310.             short ShiftState,
  1311.             /* external definition not present */ OLE_XPOS_PIXELS x,
  1312.             /* external definition not present */ OLE_YPOS_PIXELS y);
  1313.         
  1314.         HRESULT ( STDMETHODCALLTYPE *MouseMove )( 
  1315.             IMSVidGraphSegmentUserInput * This,
  1316.             short ButtonState,
  1317.             short ShiftState,
  1318.             /* external definition not present */ OLE_XPOS_PIXELS x,
  1319.             /* external definition not present */ OLE_YPOS_PIXELS y);
  1320.         
  1321.         HRESULT ( STDMETHODCALLTYPE *MouseUp )( 
  1322.             IMSVidGraphSegmentUserInput * This,
  1323.             short ButtonState,
  1324.             short ShiftState,
  1325.             /* external definition not present */ OLE_XPOS_PIXELS x,
  1326.             /* external definition not present */ OLE_YPOS_PIXELS y);
  1327.         
  1328.         END_INTERFACE
  1329.     } IMSVidGraphSegmentUserInputVtbl;
  1330.     interface IMSVidGraphSegmentUserInput
  1331.     {
  1332.         CONST_VTBL struct IMSVidGraphSegmentUserInputVtbl *lpVtbl;
  1333.     };
  1334.     
  1335. #ifdef COBJMACROS
  1336. #define IMSVidGraphSegmentUserInput_QueryInterface(This,riid,ppvObject)
  1337.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1338. #define IMSVidGraphSegmentUserInput_AddRef(This)
  1339.     (This)->lpVtbl -> AddRef(This)
  1340. #define IMSVidGraphSegmentUserInput_Release(This)
  1341.     (This)->lpVtbl -> Release(This)
  1342. #define IMSVidGraphSegmentUserInput_Click(This)
  1343.     (This)->lpVtbl -> Click(This)
  1344. #define IMSVidGraphSegmentUserInput_DblClick(This)
  1345.     (This)->lpVtbl -> DblClick(This)
  1346. #define IMSVidGraphSegmentUserInput_KeyDown(This,KeyCode,ShiftState)
  1347.     (This)->lpVtbl -> KeyDown(This,KeyCode,ShiftState)
  1348. #define IMSVidGraphSegmentUserInput_KeyPress(This,KeyAscii)
  1349.     (This)->lpVtbl -> KeyPress(This,KeyAscii)
  1350. #define IMSVidGraphSegmentUserInput_KeyUp(This,KeyCode,ShiftState)
  1351.     (This)->lpVtbl -> KeyUp(This,KeyCode,ShiftState)
  1352. #define IMSVidGraphSegmentUserInput_MouseDown(This,ButtonState,ShiftState,x,y)
  1353.     (This)->lpVtbl -> MouseDown(This,ButtonState,ShiftState,x,y)
  1354. #define IMSVidGraphSegmentUserInput_MouseMove(This,ButtonState,ShiftState,x,y)
  1355.     (This)->lpVtbl -> MouseMove(This,ButtonState,ShiftState,x,y)
  1356. #define IMSVidGraphSegmentUserInput_MouseUp(This,ButtonState,ShiftState,x,y)
  1357.     (This)->lpVtbl -> MouseUp(This,ButtonState,ShiftState,x,y)
  1358. #endif /* COBJMACROS */
  1359. #endif  /* C style interface */
  1360. HRESULT STDMETHODCALLTYPE IMSVidGraphSegmentUserInput_Click_Proxy( 
  1361.     IMSVidGraphSegmentUserInput * This);
  1362. void __RPC_STUB IMSVidGraphSegmentUserInput_Click_Stub(
  1363.     IRpcStubBuffer *This,
  1364.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1365.     PRPC_MESSAGE _pRpcMessage,
  1366.     DWORD *_pdwStubPhase);
  1367. HRESULT STDMETHODCALLTYPE IMSVidGraphSegmentUserInput_DblClick_Proxy( 
  1368.     IMSVidGraphSegmentUserInput * This);
  1369. void __RPC_STUB IMSVidGraphSegmentUserInput_DblClick_Stub(
  1370.     IRpcStubBuffer *This,
  1371.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1372.     PRPC_MESSAGE _pRpcMessage,
  1373.     DWORD *_pdwStubPhase);
  1374. HRESULT STDMETHODCALLTYPE IMSVidGraphSegmentUserInput_KeyDown_Proxy( 
  1375.     IMSVidGraphSegmentUserInput * This,
  1376.     short *KeyCode,
  1377.     short ShiftState);
  1378. void __RPC_STUB IMSVidGraphSegmentUserInput_KeyDown_Stub(
  1379.     IRpcStubBuffer *This,
  1380.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1381.     PRPC_MESSAGE _pRpcMessage,
  1382.     DWORD *_pdwStubPhase);
  1383. HRESULT STDMETHODCALLTYPE IMSVidGraphSegmentUserInput_KeyPress_Proxy( 
  1384.     IMSVidGraphSegmentUserInput * This,
  1385.     short *KeyAscii);
  1386. void __RPC_STUB IMSVidGraphSegmentUserInput_KeyPress_Stub(
  1387.     IRpcStubBuffer *This,
  1388.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1389.     PRPC_MESSAGE _pRpcMessage,
  1390.     DWORD *_pdwStubPhase);
  1391. HRESULT STDMETHODCALLTYPE IMSVidGraphSegmentUserInput_KeyUp_Proxy( 
  1392.     IMSVidGraphSegmentUserInput * This,
  1393.     short *KeyCode,
  1394.     short ShiftState);
  1395. void __RPC_STUB IMSVidGraphSegmentUserInput_KeyUp_Stub(
  1396.     IRpcStubBuffer *This,
  1397.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1398.     PRPC_MESSAGE _pRpcMessage,
  1399.     DWORD *_pdwStubPhase);
  1400. HRESULT STDMETHODCALLTYPE IMSVidGraphSegmentUserInput_MouseDown_Proxy( 
  1401.     IMSVidGraphSegmentUserInput * This,
  1402.     short ButtonState,
  1403.     short ShiftState,
  1404.     /* external definition not present */ OLE_XPOS_PIXELS x,
  1405.     /* external definition not present */ OLE_YPOS_PIXELS y);
  1406. void __RPC_STUB IMSVidGraphSegmentUserInput_MouseDown_Stub(
  1407.     IRpcStubBuffer *This,
  1408.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1409.     PRPC_MESSAGE _pRpcMessage,
  1410.     DWORD *_pdwStubPhase);
  1411. HRESULT STDMETHODCALLTYPE IMSVidGraphSegmentUserInput_MouseMove_Proxy( 
  1412.     IMSVidGraphSegmentUserInput * This,
  1413.     short ButtonState,
  1414.     short ShiftState,
  1415.     /* external definition not present */ OLE_XPOS_PIXELS x,
  1416.     /* external definition not present */ OLE_YPOS_PIXELS y);
  1417. void __RPC_STUB IMSVidGraphSegmentUserInput_MouseMove_Stub(
  1418.     IRpcStubBuffer *This,
  1419.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1420.     PRPC_MESSAGE _pRpcMessage,
  1421.     DWORD *_pdwStubPhase);
  1422. HRESULT STDMETHODCALLTYPE IMSVidGraphSegmentUserInput_MouseUp_Proxy( 
  1423.     IMSVidGraphSegmentUserInput * This,
  1424.     short ButtonState,
  1425.     short ShiftState,
  1426.     /* external definition not present */ OLE_XPOS_PIXELS x,
  1427.     /* external definition not present */ OLE_YPOS_PIXELS y);
  1428. void __RPC_STUB IMSVidGraphSegmentUserInput_MouseUp_Stub(
  1429.     IRpcStubBuffer *This,
  1430.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1431.     PRPC_MESSAGE _pRpcMessage,
  1432.     DWORD *_pdwStubPhase);
  1433. #endif  /* __IMSVidGraphSegmentUserInput_INTERFACE_DEFINED__ */
  1434. #ifndef __IMSVidCompositionSegment_INTERFACE_DEFINED__
  1435. #define __IMSVidCompositionSegment_INTERFACE_DEFINED__
  1436. /* interface IMSVidCompositionSegment */
  1437. /* [unique][helpstring][uuid][object] */ 
  1438. EXTERN_C const IID IID_IMSVidCompositionSegment;
  1439. #if defined(__cplusplus) && !defined(CINTERFACE)
  1440.     
  1441.     MIDL_INTERFACE("1C15D483-911D-11d2-B632-00C04F79498E")
  1442.     IMSVidCompositionSegment : public IMSVidGraphSegment
  1443.     {
  1444.     public:
  1445.         virtual HRESULT STDMETHODCALLTYPE Compose( 
  1446.             /* [in] */ IMSVidGraphSegment *upstream,
  1447.             /* [in] */ IMSVidGraphSegment *downstream) = 0;
  1448.         
  1449.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Up( 
  1450.             /* [out] */ IMSVidGraphSegment **upstream) = 0;
  1451.         
  1452.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Down( 
  1453.             /* [out] */ IMSVidGraphSegment **downstream) = 0;
  1454.         
  1455.     };
  1456.     
  1457. #else  /* C style interface */
  1458.     typedef struct IMSVidCompositionSegmentVtbl
  1459.     {
  1460.         BEGIN_INTERFACE
  1461.         
  1462.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1463.             IMSVidCompositionSegment * This,
  1464.             /* [in] */ REFIID riid,
  1465.             /* [iid_is][out] */ void **ppvObject);
  1466.         
  1467.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1468.             IMSVidCompositionSegment * This);
  1469.         
  1470.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1471.             IMSVidCompositionSegment * This);
  1472.         
  1473.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  1474.             IMSVidCompositionSegment * This,
  1475.             /* [out] */ CLSID *pClassID);
  1476.         
  1477.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Init )( 
  1478.             IMSVidCompositionSegment * This,
  1479.             /* [retval][out] */ IUnknown **pInit);
  1480.         
  1481.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Init )( 
  1482.             IMSVidCompositionSegment * This,
  1483.             /* [in] */ IUnknown *pInit);
  1484.         
  1485.         HRESULT ( STDMETHODCALLTYPE *EnumFilters )( 
  1486.             IMSVidCompositionSegment * This,
  1487.             /* [out] */ IEnumFilters **pNewEnum);
  1488.         
  1489.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Container )( 
  1490.             IMSVidCompositionSegment * This,
  1491.             /* [retval][out] */ IMSVidGraphSegmentContainer **ppCtl);
  1492.         
  1493.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Container )( 
  1494.             IMSVidCompositionSegment * This,
  1495.             /* [in] */ IMSVidGraphSegmentContainer *pCtl);
  1496.         
  1497.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
  1498.             IMSVidCompositionSegment * This,
  1499.             /* [retval][out] */ MSVidSegmentType *pType);
  1500.         
  1501.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
  1502.             IMSVidCompositionSegment * This,
  1503.             /* [retval][out] */ GUID *pGuid);
  1504.         
  1505.         HRESULT ( STDMETHODCALLTYPE *Build )( 
  1506.             IMSVidCompositionSegment * This);
  1507.         
  1508.         HRESULT ( STDMETHODCALLTYPE *PreRun )( 
  1509.             IMSVidCompositionSegment * This);
  1510.         
  1511.         HRESULT ( STDMETHODCALLTYPE *PostRun )( 
  1512.             IMSVidCompositionSegment * This);
  1513.         
  1514.         HRESULT ( STDMETHODCALLTYPE *PreStop )( 
  1515.             IMSVidCompositionSegment * This);
  1516.         
  1517.         HRESULT ( STDMETHODCALLTYPE *PostStop )( 
  1518.             IMSVidCompositionSegment * This);
  1519.         
  1520.         HRESULT ( STDMETHODCALLTYPE *OnEventNotify )( 
  1521.             IMSVidCompositionSegment * This,
  1522.             LONG lEventCode,
  1523.             LONG_PTR lEventParm1,
  1524.             LONG_PTR lEventParm2);
  1525.         
  1526.         HRESULT ( STDMETHODCALLTYPE *Decompose )( 
  1527.             IMSVidCompositionSegment * This);
  1528.         
  1529.         HRESULT ( STDMETHODCALLTYPE *Compose )( 
  1530.             IMSVidCompositionSegment * This,
  1531.             /* [in] */ IMSVidGraphSegment *upstream,
  1532.             /* [in] */ IMSVidGraphSegment *downstream);
  1533.         
  1534.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Up )( 
  1535.             IMSVidCompositionSegment * This,
  1536.             /* [out] */ IMSVidGraphSegment **upstream);
  1537.         
  1538.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Down )( 
  1539.             IMSVidCompositionSegment * This,
  1540.             /* [out] */ IMSVidGraphSegment **downstream);
  1541.         
  1542.         END_INTERFACE
  1543.     } IMSVidCompositionSegmentVtbl;
  1544.     interface IMSVidCompositionSegment
  1545.     {
  1546.         CONST_VTBL struct IMSVidCompositionSegmentVtbl *lpVtbl;
  1547.     };
  1548.     
  1549. #ifdef COBJMACROS
  1550. #define IMSVidCompositionSegment_QueryInterface(This,riid,ppvObject)
  1551.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1552. #define IMSVidCompositionSegment_AddRef(This)
  1553.     (This)->lpVtbl -> AddRef(This)
  1554. #define IMSVidCompositionSegment_Release(This)
  1555.     (This)->lpVtbl -> Release(This)
  1556. #define IMSVidCompositionSegment_GetClassID(This,pClassID)
  1557.     (This)->lpVtbl -> GetClassID(This,pClassID)
  1558. #define IMSVidCompositionSegment_get_Init(This,pInit)
  1559.     (This)->lpVtbl -> get_Init(This,pInit)
  1560. #define IMSVidCompositionSegment_put_Init(This,pInit)
  1561.     (This)->lpVtbl -> put_Init(This,pInit)
  1562. #define IMSVidCompositionSegment_EnumFilters(This,pNewEnum)
  1563.     (This)->lpVtbl -> EnumFilters(This,pNewEnum)
  1564. #define IMSVidCompositionSegment_get_Container(This,ppCtl)
  1565.     (This)->lpVtbl -> get_Container(This,ppCtl)
  1566. #define IMSVidCompositionSegment_put_Container(This,pCtl)
  1567.     (This)->lpVtbl -> put_Container(This,pCtl)
  1568. #define IMSVidCompositionSegment_get_Type(This,pType)
  1569.     (This)->lpVtbl -> get_Type(This,pType)
  1570. #define IMSVidCompositionSegment_get_Category(This,pGuid)
  1571.     (This)->lpVtbl -> get_Category(This,pGuid)
  1572. #define IMSVidCompositionSegment_Build(This)
  1573.     (This)->lpVtbl -> Build(This)
  1574. #define IMSVidCompositionSegment_PreRun(This)
  1575.     (This)->lpVtbl -> PreRun(This)
  1576. #define IMSVidCompositionSegment_PostRun(This)
  1577.     (This)->lpVtbl -> PostRun(This)
  1578. #define IMSVidCompositionSegment_PreStop(This)
  1579.     (This)->lpVtbl -> PreStop(This)
  1580. #define IMSVidCompositionSegment_PostStop(This)
  1581.     (This)->lpVtbl -> PostStop(This)
  1582. #define IMSVidCompositionSegment_OnEventNotify(This,lEventCode,lEventParm1,lEventParm2)
  1583.     (This)->lpVtbl -> OnEventNotify(This,lEventCode,lEventParm1,lEventParm2)
  1584. #define IMSVidCompositionSegment_Decompose(This)
  1585.     (This)->lpVtbl -> Decompose(This)
  1586. #define IMSVidCompositionSegment_Compose(This,upstream,downstream)
  1587.     (This)->lpVtbl -> Compose(This,upstream,downstream)
  1588. #define IMSVidCompositionSegment_get_Up(This,upstream)
  1589.     (This)->lpVtbl -> get_Up(This,upstream)
  1590. #define IMSVidCompositionSegment_get_Down(This,downstream)
  1591.     (This)->lpVtbl -> get_Down(This,downstream)
  1592. #endif /* COBJMACROS */
  1593. #endif  /* C style interface */
  1594. HRESULT STDMETHODCALLTYPE IMSVidCompositionSegment_Compose_Proxy( 
  1595.     IMSVidCompositionSegment * This,
  1596.     /* [in] */ IMSVidGraphSegment *upstream,
  1597.     /* [in] */ IMSVidGraphSegment *downstream);
  1598. void __RPC_STUB IMSVidCompositionSegment_Compose_Stub(
  1599.     IRpcStubBuffer *This,
  1600.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1601.     PRPC_MESSAGE _pRpcMessage,
  1602.     DWORD *_pdwStubPhase);
  1603. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCompositionSegment_get_Up_Proxy( 
  1604.     IMSVidCompositionSegment * This,
  1605.     /* [out] */ IMSVidGraphSegment **upstream);
  1606. void __RPC_STUB IMSVidCompositionSegment_get_Up_Stub(
  1607.     IRpcStubBuffer *This,
  1608.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1609.     PRPC_MESSAGE _pRpcMessage,
  1610.     DWORD *_pdwStubPhase);
  1611. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCompositionSegment_get_Down_Proxy( 
  1612.     IMSVidCompositionSegment * This,
  1613.     /* [out] */ IMSVidGraphSegment **downstream);
  1614. void __RPC_STUB IMSVidCompositionSegment_get_Down_Stub(
  1615.     IRpcStubBuffer *This,
  1616.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1617.     PRPC_MESSAGE _pRpcMessage,
  1618.     DWORD *_pdwStubPhase);
  1619. #endif  /* __IMSVidCompositionSegment_INTERFACE_DEFINED__ */
  1620. #ifndef __IEnumMSVidGraphSegment_INTERFACE_DEFINED__
  1621. #define __IEnumMSVidGraphSegment_INTERFACE_DEFINED__
  1622. /* interface IEnumMSVidGraphSegment */
  1623. /* [unique][helpstring][uuid][object] */ 
  1624. EXTERN_C const IID IID_IEnumMSVidGraphSegment;
  1625. #if defined(__cplusplus) && !defined(CINTERFACE)
  1626.     
  1627.     MIDL_INTERFACE("3DD2903E-E0AA-11d2-B63A-00C04F79498E")
  1628.     IEnumMSVidGraphSegment : public IUnknown
  1629.     {
  1630.     public:
  1631.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1632.             /* [in] */ ULONG celt,
  1633.             /* [out] */ IMSVidGraphSegment **rgelt,
  1634.             /* [out] */ ULONG *pceltFetched) = 0;
  1635.         
  1636.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1637.             /* [in] */ ULONG celt) = 0;
  1638.         
  1639.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1640.         
  1641.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1642.             /* [out] */ IEnumMSVidGraphSegment **ppenum) = 0;
  1643.         
  1644.     };
  1645.     
  1646. #else  /* C style interface */
  1647.     typedef struct IEnumMSVidGraphSegmentVtbl
  1648.     {
  1649.         BEGIN_INTERFACE
  1650.         
  1651.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1652.             IEnumMSVidGraphSegment * This,
  1653.             /* [in] */ REFIID riid,
  1654.             /* [iid_is][out] */ void **ppvObject);
  1655.         
  1656.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1657.             IEnumMSVidGraphSegment * This);
  1658.         
  1659.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1660.             IEnumMSVidGraphSegment * This);
  1661.         
  1662.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1663.             IEnumMSVidGraphSegment * This,
  1664.             /* [in] */ ULONG celt,
  1665.             /* [out] */ IMSVidGraphSegment **rgelt,
  1666.             /* [out] */ ULONG *pceltFetched);
  1667.         
  1668.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1669.             IEnumMSVidGraphSegment * This,
  1670.             /* [in] */ ULONG celt);
  1671.         
  1672.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1673.             IEnumMSVidGraphSegment * This);
  1674.         
  1675.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1676.             IEnumMSVidGraphSegment * This,
  1677.             /* [out] */ IEnumMSVidGraphSegment **ppenum);
  1678.         
  1679.         END_INTERFACE
  1680.     } IEnumMSVidGraphSegmentVtbl;
  1681.     interface IEnumMSVidGraphSegment
  1682.     {
  1683.         CONST_VTBL struct IEnumMSVidGraphSegmentVtbl *lpVtbl;
  1684.     };
  1685.     
  1686. #ifdef COBJMACROS
  1687. #define IEnumMSVidGraphSegment_QueryInterface(This,riid,ppvObject)
  1688.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1689. #define IEnumMSVidGraphSegment_AddRef(This)
  1690.     (This)->lpVtbl -> AddRef(This)
  1691. #define IEnumMSVidGraphSegment_Release(This)
  1692.     (This)->lpVtbl -> Release(This)
  1693. #define IEnumMSVidGraphSegment_Next(This,celt,rgelt,pceltFetched)
  1694.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  1695. #define IEnumMSVidGraphSegment_Skip(This,celt)
  1696.     (This)->lpVtbl -> Skip(This,celt)
  1697. #define IEnumMSVidGraphSegment_Reset(This)
  1698.     (This)->lpVtbl -> Reset(This)
  1699. #define IEnumMSVidGraphSegment_Clone(This,ppenum)
  1700.     (This)->lpVtbl -> Clone(This,ppenum)
  1701. #endif /* COBJMACROS */
  1702. #endif  /* C style interface */
  1703. HRESULT STDMETHODCALLTYPE IEnumMSVidGraphSegment_Next_Proxy( 
  1704.     IEnumMSVidGraphSegment * This,
  1705.     /* [in] */ ULONG celt,
  1706.     /* [out] */ IMSVidGraphSegment **rgelt,
  1707.     /* [out] */ ULONG *pceltFetched);
  1708. void __RPC_STUB IEnumMSVidGraphSegment_Next_Stub(
  1709.     IRpcStubBuffer *This,
  1710.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1711.     PRPC_MESSAGE _pRpcMessage,
  1712.     DWORD *_pdwStubPhase);
  1713. HRESULT STDMETHODCALLTYPE IEnumMSVidGraphSegment_Skip_Proxy( 
  1714.     IEnumMSVidGraphSegment * This,
  1715.     /* [in] */ ULONG celt);
  1716. void __RPC_STUB IEnumMSVidGraphSegment_Skip_Stub(
  1717.     IRpcStubBuffer *This,
  1718.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1719.     PRPC_MESSAGE _pRpcMessage,
  1720.     DWORD *_pdwStubPhase);
  1721. HRESULT STDMETHODCALLTYPE IEnumMSVidGraphSegment_Reset_Proxy( 
  1722.     IEnumMSVidGraphSegment * This);
  1723. void __RPC_STUB IEnumMSVidGraphSegment_Reset_Stub(
  1724.     IRpcStubBuffer *This,
  1725.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1726.     PRPC_MESSAGE _pRpcMessage,
  1727.     DWORD *_pdwStubPhase);
  1728. HRESULT STDMETHODCALLTYPE IEnumMSVidGraphSegment_Clone_Proxy( 
  1729.     IEnumMSVidGraphSegment * This,
  1730.     /* [out] */ IEnumMSVidGraphSegment **ppenum);
  1731. void __RPC_STUB IEnumMSVidGraphSegment_Clone_Stub(
  1732.     IRpcStubBuffer *This,
  1733.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1734.     PRPC_MESSAGE _pRpcMessage,
  1735.     DWORD *_pdwStubPhase);
  1736. #endif  /* __IEnumMSVidGraphSegment_INTERFACE_DEFINED__ */
  1737. #ifndef __IMSVidVRGraphSegment_INTERFACE_DEFINED__
  1738. #define __IMSVidVRGraphSegment_INTERFACE_DEFINED__
  1739. /* interface IMSVidVRGraphSegment */
  1740. /* [unique][helpstring][uuid][object] */ 
  1741. EXTERN_C const IID IID_IMSVidVRGraphSegment;
  1742. #if defined(__cplusplus) && !defined(CINTERFACE)
  1743.     
  1744.     MIDL_INTERFACE("DD47DE3F-9874-4f7b-8B22-7CB2688461E7")
  1745.     IMSVidVRGraphSegment : public IMSVidGraphSegment
  1746.     {
  1747.     public:
  1748.         virtual /* [propput][restricted][hidden] */ HRESULT STDMETHODCALLTYPE put__VMRendererMode( 
  1749.             /* [in] */ LONG dwMode) = 0;
  1750.         
  1751.         virtual /* [propput][restricted][hidden] */ HRESULT STDMETHODCALLTYPE put_Owner( 
  1752.             /* [in] */ HWND Window) = 0;
  1753.         
  1754.         virtual /* [propget][restricted][hidden] */ HRESULT STDMETHODCALLTYPE get_Owner( 
  1755.             /* [retval][out] */ HWND *Window) = 0;
  1756.         
  1757.         virtual /* [propget][restricted][hidden] */ HRESULT STDMETHODCALLTYPE get_UseOverlay( 
  1758.             /* [retval][out] */ VARIANT_BOOL *UseOverlayVal) = 0;
  1759.         
  1760.         virtual /* [propput][restricted][hidden] */ HRESULT STDMETHODCALLTYPE put_UseOverlay( 
  1761.             /* [in] */ VARIANT_BOOL UseOverlayVal) = 0;
  1762.         
  1763.         virtual /* [propget][restricted][hidden] */ HRESULT STDMETHODCALLTYPE get_Visible( 
  1764.             /* [retval][out] */ VARIANT_BOOL *Visible) = 0;
  1765.         
  1766.         virtual /* [propput][restricted][hidden] */ HRESULT STDMETHODCALLTYPE put_Visible( 
  1767.             /* [in] */ VARIANT_BOOL Visible) = 0;
  1768.         
  1769.         virtual /* [restricted][hidden][propget] */ HRESULT STDMETHODCALLTYPE get_ColorKey( 
  1770.             /* [retval][out] */ OLE_COLOR *ColorKey) = 0;
  1771.         
  1772.         virtual /* [restricted][hidden][propput] */ HRESULT STDMETHODCALLTYPE put_ColorKey( 
  1773.             /* [in] */ OLE_COLOR ColorKey) = 0;
  1774.         
  1775.         virtual /* [restricted][hidden][propget] */ HRESULT STDMETHODCALLTYPE get_Source( 
  1776.             /* [retval][out] */ LPRECT r) = 0;
  1777.         
  1778.         virtual /* [restricted][hidden][propput] */ HRESULT STDMETHODCALLTYPE put_Source( 
  1779.             /* [in] */ RECT r) = 0;
  1780.         
  1781.         virtual /* [restricted][hidden][propget] */ HRESULT STDMETHODCALLTYPE get_Destination( 
  1782.             /* [retval][out] */ LPRECT r) = 0;
  1783.         
  1784.         virtual /* [restricted][hidden][propput] */ HRESULT STDMETHODCALLTYPE put_Destination( 
  1785.             /* [in] */ RECT r) = 0;
  1786.         
  1787.         virtual /* [restricted][hidden][propget] */ HRESULT STDMETHODCALLTYPE get_NativeSize( 
  1788.             /* [out] */ LPSIZE sizeval,
  1789.             /* [out] */ LPSIZE aspectratio) = 0;
  1790.         
  1791.         virtual /* [restricted][hidden][propget] */ HRESULT STDMETHODCALLTYPE get_BorderColor( 
  1792.             /* [retval][out] */ OLE_COLOR *color) = 0;
  1793.         
  1794.         virtual /* [restricted][hidden][propput] */ HRESULT STDMETHODCALLTYPE put_BorderColor( 
  1795.             /* [in] */ OLE_COLOR color) = 0;
  1796.         
  1797.         virtual /* [restricted][hidden][propget] */ HRESULT STDMETHODCALLTYPE get_MaintainAspectRatio( 
  1798.             /* [retval][out] */ VARIANT_BOOL *fMaintain) = 0;
  1799.         
  1800.         virtual /* [restricted][hidden][propput] */ HRESULT STDMETHODCALLTYPE put_MaintainAspectRatio( 
  1801.             /* [in] */ VARIANT_BOOL fMaintain) = 0;
  1802.         
  1803.         virtual /* [restricted][hidden] */ HRESULT STDMETHODCALLTYPE Refresh( void) = 0;
  1804.         
  1805.         virtual /* [restricted][hidden] */ HRESULT STDMETHODCALLTYPE DisplayChange( void) = 0;
  1806.         
  1807.         virtual /* [restricted][hidden] */ HRESULT STDMETHODCALLTYPE RePaint( 
  1808.             /* [in] */ HDC hdc) = 0;
  1809.         
  1810.     };
  1811.     
  1812. #else  /* C style interface */
  1813.     typedef struct IMSVidVRGraphSegmentVtbl
  1814.     {
  1815.         BEGIN_INTERFACE
  1816.         
  1817.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1818.             IMSVidVRGraphSegment * This,
  1819.             /* [in] */ REFIID riid,
  1820.             /* [iid_is][out] */ void **ppvObject);
  1821.         
  1822.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1823.             IMSVidVRGraphSegment * This);
  1824.         
  1825.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1826.             IMSVidVRGraphSegment * This);
  1827.         
  1828.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  1829.             IMSVidVRGraphSegment * This,
  1830.             /* [out] */ CLSID *pClassID);
  1831.         
  1832.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Init )( 
  1833.             IMSVidVRGraphSegment * This,
  1834.             /* [retval][out] */ IUnknown **pInit);
  1835.         
  1836.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Init )( 
  1837.             IMSVidVRGraphSegment * This,
  1838.             /* [in] */ IUnknown *pInit);
  1839.         
  1840.         HRESULT ( STDMETHODCALLTYPE *EnumFilters )( 
  1841.             IMSVidVRGraphSegment * This,
  1842.             /* [out] */ IEnumFilters **pNewEnum);
  1843.         
  1844.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Container )( 
  1845.             IMSVidVRGraphSegment * This,
  1846.             /* [retval][out] */ IMSVidGraphSegmentContainer **ppCtl);
  1847.         
  1848.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Container )( 
  1849.             IMSVidVRGraphSegment * This,
  1850.             /* [in] */ IMSVidGraphSegmentContainer *pCtl);
  1851.         
  1852.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
  1853.             IMSVidVRGraphSegment * This,
  1854.             /* [retval][out] */ MSVidSegmentType *pType);
  1855.         
  1856.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
  1857.             IMSVidVRGraphSegment * This,
  1858.             /* [retval][out] */ GUID *pGuid);
  1859.         
  1860.         HRESULT ( STDMETHODCALLTYPE *Build )( 
  1861.             IMSVidVRGraphSegment * This);
  1862.         
  1863.         HRESULT ( STDMETHODCALLTYPE *PreRun )( 
  1864.             IMSVidVRGraphSegment * This);
  1865.         
  1866.         HRESULT ( STDMETHODCALLTYPE *PostRun )( 
  1867.             IMSVidVRGraphSegment * This);
  1868.         
  1869.         HRESULT ( STDMETHODCALLTYPE *PreStop )( 
  1870.             IMSVidVRGraphSegment * This);
  1871.         
  1872.         HRESULT ( STDMETHODCALLTYPE *PostStop )( 
  1873.             IMSVidVRGraphSegment * This);
  1874.         
  1875.         HRESULT ( STDMETHODCALLTYPE *OnEventNotify )( 
  1876.             IMSVidVRGraphSegment * This,
  1877.             LONG lEventCode,
  1878.             LONG_PTR lEventParm1,
  1879.             LONG_PTR lEventParm2);
  1880.         
  1881.         HRESULT ( STDMETHODCALLTYPE *Decompose )( 
  1882.             IMSVidVRGraphSegment * This);
  1883.         
  1884.         /* [propput][restricted][hidden] */ HRESULT ( STDMETHODCALLTYPE *put__VMRendererMode )( 
  1885.             IMSVidVRGraphSegment * This,
  1886.             /* [in] */ LONG dwMode);
  1887.         
  1888.         /* [propput][restricted][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_Owner )( 
  1889.             IMSVidVRGraphSegment * This,
  1890.             /* [in] */ HWND Window);
  1891.         
  1892.         /* [propget][restricted][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_Owner )( 
  1893.             IMSVidVRGraphSegment * This,
  1894.             /* [retval][out] */ HWND *Window);
  1895.         
  1896.         /* [propget][restricted][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_UseOverlay )( 
  1897.             IMSVidVRGraphSegment * This,
  1898.             /* [retval][out] */ VARIANT_BOOL *UseOverlayVal);
  1899.         
  1900.         /* [propput][restricted][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_UseOverlay )( 
  1901.             IMSVidVRGraphSegment * This,
  1902.             /* [in] */ VARIANT_BOOL UseOverlayVal);
  1903.         
  1904.         /* [propget][restricted][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
  1905.             IMSVidVRGraphSegment * This,
  1906.             /* [retval][out] */ VARIANT_BOOL *Visible);
  1907.         
  1908.         /* [propput][restricted][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
  1909.             IMSVidVRGraphSegment * This,
  1910.             /* [in] */ VARIANT_BOOL Visible);
  1911.         
  1912.         /* [restricted][hidden][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ColorKey )( 
  1913.             IMSVidVRGraphSegment * This,
  1914.             /* [retval][out] */ OLE_COLOR *ColorKey);
  1915.         
  1916.         /* [restricted][hidden][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ColorKey )( 
  1917.             IMSVidVRGraphSegment * This,
  1918.             /* [in] */ OLE_COLOR ColorKey);
  1919.         
  1920.         /* [restricted][hidden][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
  1921.             IMSVidVRGraphSegment * This,
  1922.             /* [retval][out] */ LPRECT r);
  1923.         
  1924.         /* [restricted][hidden][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Source )( 
  1925.             IMSVidVRGraphSegment * This,
  1926.             /* [in] */ RECT r);
  1927.         
  1928.         /* [restricted][hidden][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Destination )( 
  1929.             IMSVidVRGraphSegment * This,
  1930.             /* [retval][out] */ LPRECT r);
  1931.         
  1932.         /* [restricted][hidden][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Destination )( 
  1933.             IMSVidVRGraphSegment * This,
  1934.             /* [in] */ RECT r);
  1935.         
  1936.         /* [restricted][hidden][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NativeSize )( 
  1937.             IMSVidVRGraphSegment * This,
  1938.             /* [out] */ LPSIZE sizeval,
  1939.             /* [out] */ LPSIZE aspectratio);
  1940.         
  1941.         /* [restricted][hidden][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BorderColor )( 
  1942.             IMSVidVRGraphSegment * This,
  1943.             /* [retval][out] */ OLE_COLOR *color);
  1944.         
  1945.         /* [restricted][hidden][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BorderColor )( 
  1946.             IMSVidVRGraphSegment * This,
  1947.             /* [in] */ OLE_COLOR color);
  1948.         
  1949.         /* [restricted][hidden][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaintainAspectRatio )( 
  1950.             IMSVidVRGraphSegment * This,
  1951.             /* [retval][out] */ VARIANT_BOOL *fMaintain);
  1952.         
  1953.         /* [restricted][hidden][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaintainAspectRatio )( 
  1954.             IMSVidVRGraphSegment * This,
  1955.             /* [in] */ VARIANT_BOOL fMaintain);
  1956.         
  1957.         /* [restricted][hidden] */ HRESULT ( STDMETHODCALLTYPE *Refresh )( 
  1958.             IMSVidVRGraphSegment * This);
  1959.         
  1960.         /* [restricted][hidden] */ HRESULT ( STDMETHODCALLTYPE *DisplayChange )( 
  1961.             IMSVidVRGraphSegment * This);
  1962.         
  1963.         /* [restricted][hidden] */ HRESULT ( STDMETHODCALLTYPE *RePaint )( 
  1964.             IMSVidVRGraphSegment * This,
  1965.             /* [in] */ HDC hdc);
  1966.         
  1967.         END_INTERFACE
  1968.     } IMSVidVRGraphSegmentVtbl;
  1969.     interface IMSVidVRGraphSegment
  1970.     {
  1971.         CONST_VTBL struct IMSVidVRGraphSegmentVtbl *lpVtbl;
  1972.     };
  1973.     
  1974. #ifdef COBJMACROS
  1975. #define IMSVidVRGraphSegment_QueryInterface(This,riid,ppvObject)
  1976.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1977. #define IMSVidVRGraphSegment_AddRef(This)
  1978.     (This)->lpVtbl -> AddRef(This)
  1979. #define IMSVidVRGraphSegment_Release(This)
  1980.     (This)->lpVtbl -> Release(This)
  1981. #define IMSVidVRGraphSegment_GetClassID(This,pClassID)
  1982.     (This)->lpVtbl -> GetClassID(This,pClassID)
  1983. #define IMSVidVRGraphSegment_get_Init(This,pInit)
  1984.     (This)->lpVtbl -> get_Init(This,pInit)
  1985. #define IMSVidVRGraphSegment_put_Init(This,pInit)
  1986.     (This)->lpVtbl -> put_Init(This,pInit)
  1987. #define IMSVidVRGraphSegment_EnumFilters(This,pNewEnum)
  1988.     (This)->lpVtbl -> EnumFilters(This,pNewEnum)
  1989. #define IMSVidVRGraphSegment_get_Container(This,ppCtl)
  1990.     (This)->lpVtbl -> get_Container(This,ppCtl)
  1991. #define IMSVidVRGraphSegment_put_Container(This,pCtl)
  1992.     (This)->lpVtbl -> put_Container(This,pCtl)
  1993. #define IMSVidVRGraphSegment_get_Type(This,pType)
  1994.     (This)->lpVtbl -> get_Type(This,pType)
  1995. #define IMSVidVRGraphSegment_get_Category(This,pGuid)
  1996.     (This)->lpVtbl -> get_Category(This,pGuid)
  1997. #define IMSVidVRGraphSegment_Build(This)
  1998.     (This)->lpVtbl -> Build(This)
  1999. #define IMSVidVRGraphSegment_PreRun(This)
  2000.     (This)->lpVtbl -> PreRun(This)
  2001. #define IMSVidVRGraphSegment_PostRun(This)
  2002.     (This)->lpVtbl -> PostRun(This)
  2003. #define IMSVidVRGraphSegment_PreStop(This)
  2004.     (This)->lpVtbl -> PreStop(This)
  2005. #define IMSVidVRGraphSegment_PostStop(This)
  2006.     (This)->lpVtbl -> PostStop(This)
  2007. #define IMSVidVRGraphSegment_OnEventNotify(This,lEventCode,lEventParm1,lEventParm2)
  2008.     (This)->lpVtbl -> OnEventNotify(This,lEventCode,lEventParm1,lEventParm2)
  2009. #define IMSVidVRGraphSegment_Decompose(This)
  2010.     (This)->lpVtbl -> Decompose(This)
  2011. #define IMSVidVRGraphSegment_put__VMRendererMode(This,dwMode)
  2012.     (This)->lpVtbl -> put__VMRendererMode(This,dwMode)
  2013. #define IMSVidVRGraphSegment_put_Owner(This,Window)
  2014.     (This)->lpVtbl -> put_Owner(This,Window)
  2015. #define IMSVidVRGraphSegment_get_Owner(This,Window)
  2016.     (This)->lpVtbl -> get_Owner(This,Window)
  2017. #define IMSVidVRGraphSegment_get_UseOverlay(This,UseOverlayVal)
  2018.     (This)->lpVtbl -> get_UseOverlay(This,UseOverlayVal)
  2019. #define IMSVidVRGraphSegment_put_UseOverlay(This,UseOverlayVal)
  2020.     (This)->lpVtbl -> put_UseOverlay(This,UseOverlayVal)
  2021. #define IMSVidVRGraphSegment_get_Visible(This,Visible)
  2022.     (This)->lpVtbl -> get_Visible(This,Visible)
  2023. #define IMSVidVRGraphSegment_put_Visible(This,Visible)
  2024.     (This)->lpVtbl -> put_Visible(This,Visible)
  2025. #define IMSVidVRGraphSegment_get_ColorKey(This,ColorKey)
  2026.     (This)->lpVtbl -> get_ColorKey(This,ColorKey)
  2027. #define IMSVidVRGraphSegment_put_ColorKey(This,ColorKey)
  2028.     (This)->lpVtbl -> put_ColorKey(This,ColorKey)
  2029. #define IMSVidVRGraphSegment_get_Source(This,r)
  2030.     (This)->lpVtbl -> get_Source(This,r)
  2031. #define IMSVidVRGraphSegment_put_Source(This,r)
  2032.     (This)->lpVtbl -> put_Source(This,r)
  2033. #define IMSVidVRGraphSegment_get_Destination(This,r)
  2034.     (This)->lpVtbl -> get_Destination(This,r)
  2035. #define IMSVidVRGraphSegment_put_Destination(This,r)
  2036.     (This)->lpVtbl -> put_Destination(This,r)
  2037. #define IMSVidVRGraphSegment_get_NativeSize(This,sizeval,aspectratio)
  2038.     (This)->lpVtbl -> get_NativeSize(This,sizeval,aspectratio)
  2039. #define IMSVidVRGraphSegment_get_BorderColor(This,color)
  2040.     (This)->lpVtbl -> get_BorderColor(This,color)
  2041. #define IMSVidVRGraphSegment_put_BorderColor(This,color)
  2042.     (This)->lpVtbl -> put_BorderColor(This,color)
  2043. #define IMSVidVRGraphSegment_get_MaintainAspectRatio(This,fMaintain)
  2044.     (This)->lpVtbl -> get_MaintainAspectRatio(This,fMaintain)
  2045. #define IMSVidVRGraphSegment_put_MaintainAspectRatio(This,fMaintain)
  2046.     (This)->lpVtbl -> put_MaintainAspectRatio(This,fMaintain)
  2047. #define IMSVidVRGraphSegment_Refresh(This)
  2048.     (This)->lpVtbl -> Refresh(This)
  2049. #define IMSVidVRGraphSegment_DisplayChange(This)
  2050.     (This)->lpVtbl -> DisplayChange(This)
  2051. #define IMSVidVRGraphSegment_RePaint(This,hdc)
  2052.     (This)->lpVtbl -> RePaint(This,hdc)
  2053. #endif /* COBJMACROS */
  2054. #endif  /* C style interface */
  2055. /* [propput][restricted][hidden] */ HRESULT STDMETHODCALLTYPE IMSVidVRGraphSegment_put__VMRendererMode_Proxy( 
  2056.     IMSVidVRGraphSegment * This,
  2057.     /* [in] */ LONG dwMode);
  2058. void __RPC_STUB IMSVidVRGraphSegment_put__VMRendererMode_Stub(
  2059.     IRpcStubBuffer *This,
  2060.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2061.     PRPC_MESSAGE _pRpcMessage,
  2062.     DWORD *_pdwStubPhase);
  2063. /* [propput][restricted][hidden] */ HRESULT STDMETHODCALLTYPE IMSVidVRGraphSegment_put_Owner_Proxy( 
  2064.     IMSVidVRGraphSegment * This,
  2065.     /* [in] */ HWND Window);
  2066. void __RPC_STUB IMSVidVRGraphSegment_put_Owner_Stub(
  2067.     IRpcStubBuffer *This,
  2068.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2069.     PRPC_MESSAGE _pRpcMessage,
  2070.     DWORD *_pdwStubPhase);
  2071. /* [propget][restricted][hidden] */ HRESULT STDMETHODCALLTYPE IMSVidVRGraphSegment_get_Owner_Proxy( 
  2072.     IMSVidVRGraphSegment * This,
  2073.     /* [retval][out] */ HWND *Window);
  2074. void __RPC_STUB IMSVidVRGraphSegment_get_Owner_Stub(
  2075.     IRpcStubBuffer *This,
  2076.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2077.     PRPC_MESSAGE _pRpcMessage,
  2078.     DWORD *_pdwStubPhase);
  2079. /* [propget][restricted][hidden] */ HRESULT STDMETHODCALLTYPE IMSVidVRGraphSegment_get_UseOverlay_Proxy( 
  2080.     IMSVidVRGraphSegment * This,
  2081.     /* [retval][out] */ VARIANT_BOOL *UseOverlayVal);
  2082. void __RPC_STUB IMSVidVRGraphSegment_get_UseOverlay_Stub(
  2083.     IRpcStubBuffer *This,
  2084.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2085.     PRPC_MESSAGE _pRpcMessage,
  2086.     DWORD *_pdwStubPhase);
  2087. /* [propput][restricted][hidden] */ HRESULT STDMETHODCALLTYPE IMSVidVRGraphSegment_put_UseOverlay_Proxy( 
  2088.     IMSVidVRGraphSegment * This,
  2089.     /* [in] */ VARIANT_BOOL UseOverlayVal);
  2090. void __RPC_STUB IMSVidVRGraphSegment_put_UseOverlay_Stub(
  2091.     IRpcStubBuffer *This,
  2092.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2093.     PRPC_MESSAGE _pRpcMessage,
  2094.     DWORD *_pdwStubPhase);
  2095. /* [propget][restricted][hidden] */ HRESULT STDMETHODCALLTYPE IMSVidVRGraphSegment_get_Visible_Proxy( 
  2096.     IMSVidVRGraphSegment * This,
  2097.     /* [retval][out] */ VARIANT_BOOL *Visible);
  2098. void __RPC_STUB IMSVidVRGraphSegment_get_Visible_Stub(
  2099.     IRpcStubBuffer *This,
  2100.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2101.     PRPC_MESSAGE _pRpcMessage,
  2102.     DWORD *_pdwStubPhase);
  2103. /* [propput][restricted][hidden] */ HRESULT STDMETHODCALLTYPE IMSVidVRGraphSegment_put_Visible_Proxy( 
  2104.     IMSVidVRGraphSegment * This,
  2105.     /* [in] */ VARIANT_BOOL Visible);
  2106. void __RPC_STUB IMSVidVRGraphSegment_put_Visible_Stub(
  2107.     IRpcStubBuffer *This,
  2108.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2109.     PRPC_MESSAGE _pRpcMessage,
  2110.     DWORD *_pdwStubPhase);
  2111. /* [restricted][hidden][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVRGraphSegment_get_ColorKey_Proxy( 
  2112.     IMSVidVRGraphSegment * This,
  2113.     /* [retval][out] */ OLE_COLOR *ColorKey);
  2114. void __RPC_STUB IMSVidVRGraphSegment_get_ColorKey_Stub(
  2115.     IRpcStubBuffer *This,
  2116.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2117.     PRPC_MESSAGE _pRpcMessage,
  2118.     DWORD *_pdwStubPhase);
  2119. /* [restricted][hidden][propput] */ HRESULT STDMETHODCALLTYPE IMSVidVRGraphSegment_put_ColorKey_Proxy( 
  2120.     IMSVidVRGraphSegment * This,
  2121.     /* [in] */ OLE_COLOR ColorKey);
  2122. void __RPC_STUB IMSVidVRGraphSegment_put_ColorKey_Stub(
  2123.     IRpcStubBuffer *This,
  2124.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2125.     PRPC_MESSAGE _pRpcMessage,
  2126.     DWORD *_pdwStubPhase);
  2127. /* [restricted][hidden][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVRGraphSegment_get_Source_Proxy( 
  2128.     IMSVidVRGraphSegment * This,
  2129.     /* [retval][out] */ LPRECT r);
  2130. void __RPC_STUB IMSVidVRGraphSegment_get_Source_Stub(
  2131.     IRpcStubBuffer *This,
  2132.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2133.     PRPC_MESSAGE _pRpcMessage,
  2134.     DWORD *_pdwStubPhase);
  2135. /* [restricted][hidden][propput] */ HRESULT STDMETHODCALLTYPE IMSVidVRGraphSegment_put_Source_Proxy( 
  2136.     IMSVidVRGraphSegment * This,
  2137.     /* [in] */ RECT r);
  2138. void __RPC_STUB IMSVidVRGraphSegment_put_Source_Stub(
  2139.     IRpcStubBuffer *This,
  2140.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2141.     PRPC_MESSAGE _pRpcMessage,
  2142.     DWORD *_pdwStubPhase);
  2143. /* [restricted][hidden][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVRGraphSegment_get_Destination_Proxy( 
  2144.     IMSVidVRGraphSegment * This,
  2145.     /* [retval][out] */ LPRECT r);
  2146. void __RPC_STUB IMSVidVRGraphSegment_get_Destination_Stub(
  2147.     IRpcStubBuffer *This,
  2148.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2149.     PRPC_MESSAGE _pRpcMessage,
  2150.     DWORD *_pdwStubPhase);
  2151. /* [restricted][hidden][propput] */ HRESULT STDMETHODCALLTYPE IMSVidVRGraphSegment_put_Destination_Proxy( 
  2152.     IMSVidVRGraphSegment * This,
  2153.     /* [in] */ RECT r);
  2154. void __RPC_STUB IMSVidVRGraphSegment_put_Destination_Stub(
  2155.     IRpcStubBuffer *This,
  2156.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2157.     PRPC_MESSAGE _pRpcMessage,
  2158.     DWORD *_pdwStubPhase);
  2159. /* [restricted][hidden][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVRGraphSegment_get_NativeSize_Proxy( 
  2160.     IMSVidVRGraphSegment * This,
  2161.     /* [out] */ LPSIZE sizeval,
  2162.     /* [out] */ LPSIZE aspectratio);
  2163. void __RPC_STUB IMSVidVRGraphSegment_get_NativeSize_Stub(
  2164.     IRpcStubBuffer *This,
  2165.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2166.     PRPC_MESSAGE _pRpcMessage,
  2167.     DWORD *_pdwStubPhase);
  2168. /* [restricted][hidden][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVRGraphSegment_get_BorderColor_Proxy( 
  2169.     IMSVidVRGraphSegment * This,
  2170.     /* [retval][out] */ OLE_COLOR *color);
  2171. void __RPC_STUB IMSVidVRGraphSegment_get_BorderColor_Stub(
  2172.     IRpcStubBuffer *This,
  2173.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2174.     PRPC_MESSAGE _pRpcMessage,
  2175.     DWORD *_pdwStubPhase);
  2176. /* [restricted][hidden][propput] */ HRESULT STDMETHODCALLTYPE IMSVidVRGraphSegment_put_BorderColor_Proxy( 
  2177.     IMSVidVRGraphSegment * This,
  2178.     /* [in] */ OLE_COLOR color);
  2179. void __RPC_STUB IMSVidVRGraphSegment_put_BorderColor_Stub(
  2180.     IRpcStubBuffer *This,
  2181.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2182.     PRPC_MESSAGE _pRpcMessage,
  2183.     DWORD *_pdwStubPhase);
  2184. /* [restricted][hidden][propget] */ HRESULT STDMETHODCALLTYPE IMSVidVRGraphSegment_get_MaintainAspectRatio_Proxy( 
  2185.     IMSVidVRGraphSegment * This,
  2186.     /* [retval][out] */ VARIANT_BOOL *fMaintain);
  2187. void __RPC_STUB IMSVidVRGraphSegment_get_MaintainAspectRatio_Stub(
  2188.     IRpcStubBuffer *This,
  2189.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2190.     PRPC_MESSAGE _pRpcMessage,
  2191.     DWORD *_pdwStubPhase);
  2192. /* [restricted][hidden][propput] */ HRESULT STDMETHODCALLTYPE IMSVidVRGraphSegment_put_MaintainAspectRatio_Proxy( 
  2193.     IMSVidVRGraphSegment * This,
  2194.     /* [in] */ VARIANT_BOOL fMaintain);
  2195. void __RPC_STUB IMSVidVRGraphSegment_put_MaintainAspectRatio_Stub(
  2196.     IRpcStubBuffer *This,
  2197.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2198.     PRPC_MESSAGE _pRpcMessage,
  2199.     DWORD *_pdwStubPhase);
  2200. /* [restricted][hidden] */ HRESULT STDMETHODCALLTYPE IMSVidVRGraphSegment_Refresh_Proxy( 
  2201.     IMSVidVRGraphSegment * This);
  2202. void __RPC_STUB IMSVidVRGraphSegment_Refresh_Stub(
  2203.     IRpcStubBuffer *This,
  2204.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2205.     PRPC_MESSAGE _pRpcMessage,
  2206.     DWORD *_pdwStubPhase);
  2207. /* [restricted][hidden] */ HRESULT STDMETHODCALLTYPE IMSVidVRGraphSegment_DisplayChange_Proxy( 
  2208.     IMSVidVRGraphSegment * This);
  2209. void __RPC_STUB IMSVidVRGraphSegment_DisplayChange_Stub(
  2210.     IRpcStubBuffer *This,
  2211.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2212.     PRPC_MESSAGE _pRpcMessage,
  2213.     DWORD *_pdwStubPhase);
  2214. /* [restricted][hidden] */ HRESULT STDMETHODCALLTYPE IMSVidVRGraphSegment_RePaint_Proxy( 
  2215.     IMSVidVRGraphSegment * This,
  2216.     /* [in] */ HDC hdc);
  2217. void __RPC_STUB IMSVidVRGraphSegment_RePaint_Stub(
  2218.     IRpcStubBuffer *This,
  2219.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2220.     PRPC_MESSAGE _pRpcMessage,
  2221.     DWORD *_pdwStubPhase);
  2222. #endif  /* __IMSVidVRGraphSegment_INTERFACE_DEFINED__ */
  2223. #ifndef __IMSVidDevice_INTERFACE_DEFINED__
  2224. #define __IMSVidDevice_INTERFACE_DEFINED__
  2225. /* interface IMSVidDevice */
  2226. /* [unique][helpstring][uuid][oleautomation][dual][object] */ 
  2227. EXTERN_C const IID IID_IMSVidDevice;
  2228. #if defined(__cplusplus) && !defined(CINTERFACE)
  2229.     
  2230.     MIDL_INTERFACE("1C15D47C-911D-11d2-B632-00C04F79498E")
  2231.     IMSVidDevice : public IDispatch
  2232.     {
  2233.     public:
  2234.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  2235.             /* [retval][out] */ BSTR *Name) = 0;
  2236.         
  2237.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
  2238.             /* [retval][out] */ long *Status) = 0;
  2239.         
  2240.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Power( 
  2241.             /* [in] */ VARIANT_BOOL Power) = 0;
  2242.         
  2243.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Power( 
  2244.             /* [out][retval] */ VARIANT_BOOL *Power) = 0;
  2245.         
  2246.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Category( 
  2247.             /* [retval][out] */ BSTR *Guid) = 0;
  2248.         
  2249.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ClassID( 
  2250.             /* [retval][out] */ BSTR *Clsid) = 0;
  2251.         
  2252.         virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__Category( 
  2253.             /* [retval][out] */ GUID *Guid) = 0;
  2254.         
  2255.         virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__ClassID( 
  2256.             /* [retval][out] */ GUID *Clsid) = 0;
  2257.         
  2258.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsEqualDevice( 
  2259.             /* [in] */ IMSVidDevice *Device,
  2260.             /* [retval][out] */ VARIANT_BOOL *IsEqual) = 0;
  2261.         
  2262.     };
  2263.     
  2264. #else  /* C style interface */
  2265.     typedef struct IMSVidDeviceVtbl
  2266.     {
  2267.         BEGIN_INTERFACE
  2268.         
  2269.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2270.             IMSVidDevice * This,
  2271.             /* [in] */ REFIID riid,
  2272.             /* [iid_is][out] */ void **ppvObject);
  2273.         
  2274.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2275.             IMSVidDevice * This);
  2276.         
  2277.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2278.             IMSVidDevice * This);
  2279.         
  2280.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2281.             IMSVidDevice * This,
  2282.             /* [out] */ UINT *pctinfo);
  2283.         
  2284.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2285.             IMSVidDevice * This,
  2286.             /* [in] */ UINT iTInfo,
  2287.             /* [in] */ LCID lcid,
  2288.             /* [out] */ ITypeInfo **ppTInfo);
  2289.         
  2290.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2291.             IMSVidDevice * This,
  2292.             /* [in] */ REFIID riid,
  2293.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2294.             /* [in] */ UINT cNames,
  2295.             /* [in] */ LCID lcid,
  2296.             /* [size_is][out] */ DISPID *rgDispId);
  2297.         
  2298.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2299.             IMSVidDevice * This,
  2300.             /* [in] */ DISPID dispIdMember,
  2301.             /* [in] */ REFIID riid,
  2302.             /* [in] */ LCID lcid,
  2303.             /* [in] */ WORD wFlags,
  2304.             /* [out][in] */ DISPPARAMS *pDispParams,
  2305.             /* [out] */ VARIANT *pVarResult,
  2306.             /* [out] */ EXCEPINFO *pExcepInfo,
  2307.             /* [out] */ UINT *puArgErr);
  2308.         
  2309.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  2310.             IMSVidDevice * This,
  2311.             /* [retval][out] */ BSTR *Name);
  2312.         
  2313.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
  2314.             IMSVidDevice * This,
  2315.             /* [retval][out] */ long *Status);
  2316.         
  2317.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Power )( 
  2318.             IMSVidDevice * This,
  2319.             /* [in] */ VARIANT_BOOL Power);
  2320.         
  2321.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Power )( 
  2322.             IMSVidDevice * This,
  2323.             /* [out][retval] */ VARIANT_BOOL *Power);
  2324.         
  2325.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
  2326.             IMSVidDevice * This,
  2327.             /* [retval][out] */ BSTR *Guid);
  2328.         
  2329.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassID )( 
  2330.             IMSVidDevice * This,
  2331.             /* [retval][out] */ BSTR *Clsid);
  2332.         
  2333.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__Category )( 
  2334.             IMSVidDevice * This,
  2335.             /* [retval][out] */ GUID *Guid);
  2336.         
  2337.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__ClassID )( 
  2338.             IMSVidDevice * This,
  2339.             /* [retval][out] */ GUID *Clsid);
  2340.         
  2341.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsEqualDevice )( 
  2342.             IMSVidDevice * This,
  2343.             /* [in] */ IMSVidDevice *Device,
  2344.             /* [retval][out] */ VARIANT_BOOL *IsEqual);
  2345.         
  2346.         END_INTERFACE
  2347.     } IMSVidDeviceVtbl;
  2348.     interface IMSVidDevice
  2349.     {
  2350.         CONST_VTBL struct IMSVidDeviceVtbl *lpVtbl;
  2351.     };
  2352.     
  2353. #ifdef COBJMACROS
  2354. #define IMSVidDevice_QueryInterface(This,riid,ppvObject)
  2355.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2356. #define IMSVidDevice_AddRef(This)
  2357.     (This)->lpVtbl -> AddRef(This)
  2358. #define IMSVidDevice_Release(This)
  2359.     (This)->lpVtbl -> Release(This)
  2360. #define IMSVidDevice_GetTypeInfoCount(This,pctinfo)
  2361.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2362. #define IMSVidDevice_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2363.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2364. #define IMSVidDevice_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2365.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2366. #define IMSVidDevice_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2367.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2368. #define IMSVidDevice_get_Name(This,Name)
  2369.     (This)->lpVtbl -> get_Name(This,Name)
  2370. #define IMSVidDevice_get_Status(This,Status)
  2371.     (This)->lpVtbl -> get_Status(This,Status)
  2372. #define IMSVidDevice_put_Power(This,Power)
  2373.     (This)->lpVtbl -> put_Power(This,Power)
  2374. #define IMSVidDevice_get_Power(This,Power)
  2375.     (This)->lpVtbl -> get_Power(This,Power)
  2376. #define IMSVidDevice_get_Category(This,Guid)
  2377.     (This)->lpVtbl -> get_Category(This,Guid)
  2378. #define IMSVidDevice_get_ClassID(This,Clsid)
  2379.     (This)->lpVtbl -> get_ClassID(This,Clsid)
  2380. #define IMSVidDevice_get__Category(This,Guid)
  2381.     (This)->lpVtbl -> get__Category(This,Guid)
  2382. #define IMSVidDevice_get__ClassID(This,Clsid)
  2383.     (This)->lpVtbl -> get__ClassID(This,Clsid)
  2384. #define IMSVidDevice_IsEqualDevice(This,Device,IsEqual)
  2385.     (This)->lpVtbl -> IsEqualDevice(This,Device,IsEqual)
  2386. #endif /* COBJMACROS */
  2387. #endif  /* C style interface */
  2388. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidDevice_get_Name_Proxy( 
  2389.     IMSVidDevice * This,
  2390.     /* [retval][out] */ BSTR *Name);
  2391. void __RPC_STUB IMSVidDevice_get_Name_Stub(
  2392.     IRpcStubBuffer *This,
  2393.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2394.     PRPC_MESSAGE _pRpcMessage,
  2395.     DWORD *_pdwStubPhase);
  2396. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidDevice_get_Status_Proxy( 
  2397.     IMSVidDevice * This,
  2398.     /* [retval][out] */ long *Status);
  2399. void __RPC_STUB IMSVidDevice_get_Status_Stub(
  2400.     IRpcStubBuffer *This,
  2401.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2402.     PRPC_MESSAGE _pRpcMessage,
  2403.     DWORD *_pdwStubPhase);
  2404. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidDevice_put_Power_Proxy( 
  2405.     IMSVidDevice * This,
  2406.     /* [in] */ VARIANT_BOOL Power);
  2407. void __RPC_STUB IMSVidDevice_put_Power_Stub(
  2408.     IRpcStubBuffer *This,
  2409.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2410.     PRPC_MESSAGE _pRpcMessage,
  2411.     DWORD *_pdwStubPhase);
  2412. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidDevice_get_Power_Proxy( 
  2413.     IMSVidDevice * This,
  2414.     /* [out][retval] */ VARIANT_BOOL *Power);
  2415. void __RPC_STUB IMSVidDevice_get_Power_Stub(
  2416.     IRpcStubBuffer *This,
  2417.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2418.     PRPC_MESSAGE _pRpcMessage,
  2419.     DWORD *_pdwStubPhase);
  2420. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidDevice_get_Category_Proxy( 
  2421.     IMSVidDevice * This,
  2422.     /* [retval][out] */ BSTR *Guid);
  2423. void __RPC_STUB IMSVidDevice_get_Category_Stub(
  2424.     IRpcStubBuffer *This,
  2425.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2426.     PRPC_MESSAGE _pRpcMessage,
  2427.     DWORD *_pdwStubPhase);
  2428. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidDevice_get_ClassID_Proxy( 
  2429.     IMSVidDevice * This,
  2430.     /* [retval][out] */ BSTR *Clsid);
  2431. void __RPC_STUB IMSVidDevice_get_ClassID_Stub(
  2432.     IRpcStubBuffer *This,
  2433.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2434.     PRPC_MESSAGE _pRpcMessage,
  2435.     DWORD *_pdwStubPhase);
  2436. /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidDevice_get__Category_Proxy( 
  2437.     IMSVidDevice * This,
  2438.     /* [retval][out] */ GUID *Guid);
  2439. void __RPC_STUB IMSVidDevice_get__Category_Stub(
  2440.     IRpcStubBuffer *This,
  2441.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2442.     PRPC_MESSAGE _pRpcMessage,
  2443.     DWORD *_pdwStubPhase);
  2444. /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidDevice_get__ClassID_Proxy( 
  2445.     IMSVidDevice * This,
  2446.     /* [retval][out] */ GUID *Clsid);
  2447. void __RPC_STUB IMSVidDevice_get__ClassID_Stub(
  2448.     IRpcStubBuffer *This,
  2449.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2450.     PRPC_MESSAGE _pRpcMessage,
  2451.     DWORD *_pdwStubPhase);
  2452. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSVidDevice_IsEqualDevice_Proxy( 
  2453.     IMSVidDevice * This,
  2454.     /* [in] */ IMSVidDevice *Device,
  2455.     /* [retval][out] */ VARIANT_BOOL *IsEqual);
  2456. void __RPC_STUB IMSVidDevice_IsEqualDevice_Stub(
  2457.     IRpcStubBuffer *This,
  2458.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2459.     PRPC_MESSAGE _pRpcMessage,
  2460.     DWORD *_pdwStubPhase);
  2461. #endif  /* __IMSVidDevice_INTERFACE_DEFINED__ */
  2462. #ifndef __IMSVidInputDevice_INTERFACE_DEFINED__
  2463. #define __IMSVidInputDevice_INTERFACE_DEFINED__
  2464. /* interface IMSVidInputDevice */
  2465. /* [unique][helpstring][uuid][oleautomation][dual][object] */ 
  2466. EXTERN_C const IID IID_IMSVidInputDevice;
  2467. #if defined(__cplusplus) && !defined(CINTERFACE)
  2468.     
  2469.     MIDL_INTERFACE("37B0353D-A4C8-11d2-B634-00C04F79498E")
  2470.     IMSVidInputDevice : public IMSVidDevice
  2471.     {
  2472.     public:
  2473.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE IsViewable( 
  2474.             /* [in] */ VARIANT *v,
  2475.             /* [retval][out] */ VARIANT_BOOL *pfViewable) = 0;
  2476.         
  2477.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE View( 
  2478.             /* [in] */ VARIANT *v) = 0;
  2479.         
  2480.     };
  2481.     
  2482. #else  /* C style interface */
  2483.     typedef struct IMSVidInputDeviceVtbl
  2484.     {
  2485.         BEGIN_INTERFACE
  2486.         
  2487.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2488.             IMSVidInputDevice * This,
  2489.             /* [in] */ REFIID riid,
  2490.             /* [iid_is][out] */ void **ppvObject);
  2491.         
  2492.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2493.             IMSVidInputDevice * This);
  2494.         
  2495.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2496.             IMSVidInputDevice * This);
  2497.         
  2498.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2499.             IMSVidInputDevice * This,
  2500.             /* [out] */ UINT *pctinfo);
  2501.         
  2502.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2503.             IMSVidInputDevice * This,
  2504.             /* [in] */ UINT iTInfo,
  2505.             /* [in] */ LCID lcid,
  2506.             /* [out] */ ITypeInfo **ppTInfo);
  2507.         
  2508.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2509.             IMSVidInputDevice * This,
  2510.             /* [in] */ REFIID riid,
  2511.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2512.             /* [in] */ UINT cNames,
  2513.             /* [in] */ LCID lcid,
  2514.             /* [size_is][out] */ DISPID *rgDispId);
  2515.         
  2516.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2517.             IMSVidInputDevice * This,
  2518.             /* [in] */ DISPID dispIdMember,
  2519.             /* [in] */ REFIID riid,
  2520.             /* [in] */ LCID lcid,
  2521.             /* [in] */ WORD wFlags,
  2522.             /* [out][in] */ DISPPARAMS *pDispParams,
  2523.             /* [out] */ VARIANT *pVarResult,
  2524.             /* [out] */ EXCEPINFO *pExcepInfo,
  2525.             /* [out] */ UINT *puArgErr);
  2526.         
  2527.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  2528.             IMSVidInputDevice * This,
  2529.             /* [retval][out] */ BSTR *Name);
  2530.         
  2531.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
  2532.             IMSVidInputDevice * This,
  2533.             /* [retval][out] */ long *Status);
  2534.         
  2535.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Power )( 
  2536.             IMSVidInputDevice * This,
  2537.             /* [in] */ VARIANT_BOOL Power);
  2538.         
  2539.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Power )( 
  2540.             IMSVidInputDevice * This,
  2541.             /* [out][retval] */ VARIANT_BOOL *Power);
  2542.         
  2543.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
  2544.             IMSVidInputDevice * This,
  2545.             /* [retval][out] */ BSTR *Guid);
  2546.         
  2547.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassID )( 
  2548.             IMSVidInputDevice * This,
  2549.             /* [retval][out] */ BSTR *Clsid);
  2550.         
  2551.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__Category )( 
  2552.             IMSVidInputDevice * This,
  2553.             /* [retval][out] */ GUID *Guid);
  2554.         
  2555.         /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__ClassID )( 
  2556.             IMSVidInputDevice * This,
  2557.             /* [retval][out] */ GUID *Clsid);
  2558.         
  2559.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsEqualDevice )( 
  2560.             IMSVidInputDevice * This,
  2561.             /* [in] */ IMSVidDevice *Device,
  2562.             /* [retval][out] */ VARIANT_BOOL *IsEqual);
  2563.         
  2564.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *IsViewable )( 
  2565.             IMSVidInputDevice * This,
  2566.             /* [in] */ VARIANT *v,
  2567.             /* [retval][out] */ VARIANT_BOOL *pfViewable);
  2568.         
  2569.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *View )( 
  2570.             IMSVidInputDevice * This,
  2571.             /* [in] */ VARIANT *v);
  2572.         
  2573.         END_INTERFACE
  2574.     } IMSVidInputDeviceVtbl;
  2575.     interface IMSVidInputDevice
  2576.     {
  2577.         CONST_VTBL struct IMSVidInputDeviceVtbl *lpVtbl;
  2578.     };
  2579.     
  2580. #ifdef COBJMACROS
  2581. #define IMSVidInputDevice_QueryInterface(This,riid,ppvObject)
  2582.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2583. #define IMSVidInputDevice_AddRef(This)
  2584.     (This)->lpVtbl -> AddRef(This)
  2585. #define IMSVidInputDevice_Release(This)
  2586.     (This)->lpVtbl -> Release(This)
  2587. #define IMSVidInputDevice_GetTypeInfoCount(This,pctinfo)
  2588.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2589. #define IMSVidInputDevice_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2590.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2591. #define IMSVidInputDevice_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2592.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2593. #define IMSVidInputDevice_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2594.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2595. #define IMSVidInputDevice_get_Name(This,Name)
  2596.     (This)->lpVtbl -> get_Name(This,Name)
  2597. #define IMSVidInputDevice_get_Status(This,Status)
  2598.     (This)->lpVtbl -> get_Status(This,Status)
  2599. #define IMSVidInputDevice_put_Power(This,Power)
  2600.     (This)->lpVtbl -> put_Power(This,Power)
  2601. #define IMSVidInputDevice_get_Power(This,Power)
  2602.     (This)->lpVtbl -> get_Power(This,Power)
  2603. #define IMSVidInputDevice_get_Category(This,Guid)
  2604.     (This)->lpVtbl -> get_Category(This,Guid)
  2605. #define IMSVidInputDevice_get_ClassID(This,Clsid)
  2606.     (This)->lpVtbl -> get_ClassID(This,Clsid)
  2607. #define IMSVidInputDevice_get__Category(This,Guid)
  2608.     (This)->lpVtbl -> get__Category(This,Guid)
  2609. #define IMSVidInputDevice_get__ClassID(This,Clsid)
  2610.     (This)->lpVtbl -> get__ClassID(This,Clsid)
  2611. #define IMSVidInputDevice_IsEqualDevice(This,Device,IsEqual)
  2612.     (This)->lpVtbl -> IsEqualDevice(This,Device,IsEqual)
  2613. #define IMSVidInputDevice_IsViewable(This,v,pfViewable)
  2614.     (This)->lpVtbl -> IsViewable(This,v,pfViewable)
  2615. #define IMSVidInputDevice_View(This,v)
  2616.     (This)->lpVtbl -> View(This,v)