4 #pragma GCC system_header
11 /*--- DirectShow Reference - DirectShow Enumerated Types - TVAudioMode Enumeration */
12 #define TVAUDIO_MODE_MASK 0x000000FF
13 #define TVAUDIO_PRESET_MASK 0x0000FF00
14 /*--- DirectShow Reference - DirectShow Data Types */
15 typedef LONGLONG REFERENCE_TIME
;
16 typedef double REFTIME
;
17 /*--- DirectShow Reference - Constants and GUIDs */
19 MERIT_PREFERRED
= 0x800000,
20 MERIT_NORMAL
= 0x600000,
21 MERIT_UNLIKELY
= 0x400000,
22 MERIT_DO_NOT_USE
= 0x200000,
23 MERIT_SW_COMPRESSOR
= 0x100000,
24 MERIT_HW_COMPRESSOR
= 0x100050
26 /*--- DirectShow Reference - DirectShow Enumerated Types */
27 typedef enum _AM_AUDIO_RENDERER_STAT_PARAM
{
28 AM_AUDREND_STAT_PARAM_BREAK_COUNT
= 1,
29 AM_AUDREND_STAT_PARAM_SLAVE_MODE
,
30 AM_AUDREND_STAT_PARAM_SILENCE_DUR
,
31 AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR
,
32 AM_AUDREND_STAT_PARAM_DISCONTINUITIES
,
33 AM_AUDREND_STAT_PARAM_SLAVE_RATE
,
34 AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR
,
35 AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR
,
36 AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR
,
37 AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR
,
38 AM_AUDREND_STAT_PARAM_BUFFERFULLNESS
,
39 AM_AUDREND_STAT_PARAM_JITTER
40 } AM_AUDIO_RENDERER_STAT_PARAM
;
41 typedef enum _AM_DVD_GRAPH_FLAGS
{
42 AM_DVD_HWDEC_PREFER
= 0x01,
43 AM_DVD_HWDEC_ONLY
= 0x02,
44 AM_DVD_SWDEC_PREFER
= 0x04,
45 AM_DVD_SWDEC_ONLY
= 0x08,
47 AM_DVD_VMR9_ONLY
= 0x800,
48 AM_DVD_EVR_ONLY
= 0x1000
50 typedef enum _AM_DVD_STREAM_FLAGS
{
51 AM_DVD_STREAM_VIDEO
= 0x01,
52 AM_DVD_STREAM_AUDIO
= 0x02,
53 AM_DVD_STREAM_SUBPIC
= 0x04
54 } AM_DVD_STREAM_FLAGS
;
55 typedef enum _AM_FILTER_MISC_FLAGS
{
56 AM_FILTER_MISC_FLAGS_IS_RENDERER
= 0x00000001,
57 AM_FILTER_MISC_FLAGS_IS_SOURCE
= 0x00000002
58 } AM_FILTER_MISC_FLAGS
;
59 typedef enum _AM_GRAPH_CONFIG_RECONNECT_FLAGS
{
60 AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT
= 0x00000001,
61 AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS
= 0x00000002,
62 AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS
= 0x00000004
63 } AM_GRAPH_CONFIG_RECONNECT_FLAGS
;
64 typedef enum _AM_INTF_SEARCH_FLAGS
{
65 AM_INTF_SEARCH_INPUT_PIN
= 0x00000001,
66 AM_INTF_SEARCH_OUTPUT_PIN
= 0x00000002,
67 AM_INTF_SEARCH_FILTER
= 0x00000004
68 } AM_INTF_SEARCH_FLAGS
;
69 typedef enum _AM_OVERLAY_NOTIFY_FLAGS
{
70 AM_OVERLAY_NOTIFY_VISIBLE_CHANGE
= 0x00000001,
71 AM_OVERLAY_NOTIFY_SOURCE_CHANGE
= 0x00000002,
72 AM_OVERLAY_NOTIFY_DEST_CHANGE
= 0x00000004
73 } AM_OVERLAY_NOTIFY_FLAGS
;
74 typedef enum _AM_PIN_CONNECTION_BLOCK_FLAGS
{
75 AM_PIN_FLOW_CONTROL_BLOCK
= 0x00000001,
76 AM_PIN_PUSH_THROUGH_DATA
= 0x00000002
77 } AM_PIN_CONNECTION_BLOCK_FLAGS
;
78 typedef enum _AM_PUSHSOURCE_FLAGS
{
79 AM_PUSHSOURCECAPS_INTERNAL_RM
= 0x00000001,
80 AM_PUSHSOURCECAPS_NOT_LIVE
= 0x00000002,
81 AM_PUSHSOURCECAPS_PRIVATE_CLOCK
= 0x00000004,
82 AM_PUSHSOURCEREQS_USE_STREAM_CLOCK
= 0x00010000
83 } AM_PUSHSOURCE_FLAGS
;
84 typedef enum tagAM_SAMPLE_PROPERTY_FLAGS
{
85 AM_SAMPLE_SPLICEPOINT
= 0x01,
86 AM_SAMPLE_PREROLL
= 0x02,
87 AM_SAMPLE_DATADISCONTINUITY
= 0x04,
88 AM_SAMPLE_TYPECHANGED
= 0x08,
89 AM_SAMPLE_TIMEVALID
= 0x10,
90 AM_SAMPLE_TIMEDISCONTINUITY
= 0x40,
91 AM_SAMPLE_FLUSH_ON_PAUSE
= 0x80,
92 AM_SAMPLE_STOPVALID
= 0x100,
93 AM_SAMPLE_ENDOFSTREAM
= 0x200,
96 } AM_SAMPLE_PROPERTY_FLAGS
;
97 typedef enum AM_SEEKING_SeekingCapabilities
{
98 AM_SEEKING_CanSeekAbsolute
= 0x1,
99 AM_SEEKING_CanSeekForwards
= 0x2,
100 AM_SEEKING_CanSeekBackwards
= 0x4,
101 AM_SEEKING_CanGetCurrentPos
= 0x8,
102 AM_SEEKING_CanGetStopPos
= 0x10,
103 AM_SEEKING_CanGetDuration
= 0x20,
104 AM_SEEKING_CanPlayBackwards
= 0x40,
105 AM_SEEKING_CanDoSegments
= 0x80,
106 AM_SEEKING_Source
= 0x100
107 } AM_SEEKING_SEEKING_CAPABILITIES
;
109 AM_STREAM_INFO_START_DEFINED
= 0x00000001,
110 AM_STREAM_INFO_STOP_DEFINED
= 0x00000002,
111 AM_STREAM_INFO_DISCARDING
= 0x00000004,
112 AM_STREAM_INFO_STOP_SEND_EXTRA
= 0x00000010
113 } AM_STREAM_INFO_FLAGS
;
115 AMOVERFX_NOFX
= 0x00000000,
116 AMOVERFX_MIRRORLEFTRIGHT
= 0x00000002,
117 AMOVERFX_MIRRORUPDOWN
= 0x00000004,
118 AMOVERFX_DEINTERLACE
= 0x00000008
120 typedef enum _AMRESCTL_RESERVEFLAGS
{
121 AMRESCTL_RESERVEFLAGS_RESERVE
= 0x00,
122 AMRESCTL_RESERVEFLAGS_UNRESERVE
= 0x01
123 } AMRESCTL_RESERVEFLAGS
;
124 typedef enum tagAMTunerModeType
{
125 AMTUNER_MODE_DEFAULT
= 0x0000,
126 AMTUNER_MODE_TV
= 0x0001,
127 AMTUNER_MODE_FM_RADIO
= 0x0002,
128 AMTUNER_MODE_AM_RADIO
= 0x0004,
129 AMTUNER_MODE_DSS
= 0x0008
131 typedef enum tagAnalogVideoStandard
{
132 AnalogVideo_None
= 0x00000000,
133 AnalogVideo_NTSC_M
= 0x00000001,
134 AnalogVideo_NTSC_M_J
= 0x00000002,
135 AnalogVideo_NTSC_433
= 0x00000004,
136 AnalogVideo_PAL_B
= 0x00000010,
137 AnalogVideo_PAL_D
= 0x00000020,
138 AnalogVideo_PAL_H
= 0x00000080,
139 AnalogVideo_PAL_I
= 0x00000100,
140 AnalogVideo_PAL_M
= 0x00000200,
141 AnalogVideo_PAL_N
= 0x00000400,
142 AnalogVideo_PAL_60
= 0x00000800,
143 AnalogVideo_SECAM_B
= 0x00001000,
144 AnalogVideo_SECAM_D
= 0x00002000,
145 AnalogVideo_SECAM_G
= 0x00004000,
146 AnalogVideo_SECAM_H
= 0x00008000,
147 AnalogVideo_SECAM_K
= 0x00010000,
148 AnalogVideo_SECAM_K1
= 0x00020000,
149 AnalogVideo_SECAM_L
= 0x00040000,
150 AnalogVideo_SECAM_L1
= 0x00080000,
151 AnalogVideo_PAL_N_COMBO
= 0x00100000
152 } AnalogVideoStandard
;
154 CameraControl_Flags_Auto
= 0x0001,
155 CameraControl_Flags_Manual
= 0x0002
156 } CameraControlFlags
;
158 CameraControl_Pan
= 1,
162 CameraControl_Exposure
,
165 } CameraControlProperty
;
167 CompressionCaps_CanQuality
= 0x01,
168 CompressionCaps_CanCrunch
= 0x02,
169 CompressionCaps_CanKeyFrame
= 0x04,
170 CompressionCaps_CanBFrame
= 0x08,
171 CompressionCaps_CanWindow
= 0x10
175 DECIMATION_USE_DECODER_ONLY
,
176 DECIMATION_USE_VIDEOPORT_ONLY
,
177 DECIMATION_USE_OVERLAY_ONLY
,
180 typedef enum tagDVD_AUDIO_APPMODE
{
181 DVD_AudioMode_None
= 0,
182 DVD_AudioMode_Karaoke
= 1,
183 DVD_AudioMode_Surround
= 2,
184 DVD_AudioMode_Other
= 3
186 typedef enum tagDVD_AUDIO_FORMAT
{
187 DVD_AudioFormat_AC3
= 0,
188 DVD_AudioFormat_MPEG1
= 1,
189 DVD_AudioFormat_MPEG1_DRC
= 2,
190 DVD_AudioFormat_MPEG2
= 3,
191 DVD_AudioFormat_MPEG2_DRC
= 4,
192 DVD_AudioFormat_LPCM
= 5,
193 DVD_AudioFormat_DTS
= 6,
194 DVD_AudioFormat_SDDS
= 7,
195 DVD_AudioFormat_Other
= 8
197 typedef enum tagDVD_AUDIO_LANG_EXT
{
198 DVD_AUD_EXT_NotSpecified
= 0,
199 DVD_AUD_EXT_Captions
= 1,
200 DVD_AUD_EXT_VisuallyImpaired
= 2,
201 DVD_AUD_EXT_DirectorComments1
= 3,
202 DVD_AUD_EXT_DirectorComments2
= 4
203 } DVD_AUDIO_LANG_EXT
;
205 DVD_CMD_FLAG_None
= 0x00000000,
206 DVD_CMD_FLAG_Flush
= 0x00000001,
207 DVD_CMD_FLAG_SendEvents
= 0x00000002,
208 DVD_CMD_FLAG_Block
= 0x00000004,
209 DVD_CMD_FLAG_StartWhenRendered
= 0x00000008,
210 DVD_CMD_FLAG_EndAfterRendered
= 0x00000010
212 typedef enum tagDVD_DISC_SIDE
{
216 typedef enum tagDVD_DOMAIN
{
217 DVD_DOMAIN_FirstPlay
,
218 DVD_DOMAIN_VideoManagerMenu
,
219 DVD_DOMAIN_VideoTitleSetMenu
,
223 typedef enum tagDVD_FRAMERATE
{
225 DVD_FPS_30NonDrop
= 3
227 typedef enum tagDVD_KARAOKE_ASSIGNMENT
{
228 DVD_Assignment_reserved0
= 0,
229 DVD_Assignment_reserved1
= 1,
230 DVD_Assignment_LR
= 2,
231 DVD_Assignment_LRM
= 3,
232 DVD_Assignment_LR1
= 4,
233 DVD_Assignment_LRM1
= 5,
234 DVD_Assignment_LR12
= 6,
235 DVD_Assignment_LRM12
= 7
236 } DVD_KARAOKE_ASSIGNMENT
;
237 typedef enum tagDVD_KARAOKE_CONTENTS
{
238 DVD_Karaoke_GuideVocal1
= 0x0001,
239 DVD_Karaoke_GuideVocal2
= 0x0002,
240 DVD_Karaoke_GuideMelody1
= 0x0004,
241 DVD_Karaoke_GuideMelody2
= 0x0008,
242 DVD_Karaoke_GuideMelodyA
= 0x0010,
243 DVD_Karaoke_GuideMelodyB
= 0x0020,
244 DVD_Karaoke_SoundEffectA
= 0x0040,
245 DVD_Karaoke_SoundEffectB
= 0x0080
246 } DVD_KARAOKE_CONTENTS
;
247 typedef enum tagDVD_KARAOKE_DOWNMIX
{
248 DVD_Mix_0to0
= 0x0001,
249 DVD_Mix_1to0
= 0x0002,
250 DVD_Mix_2to0
= 0x0004,
251 DVD_Mix_3to0
= 0x0008,
252 DVD_Mix_4to0
= 0x0010,
253 DVD_Mix_Lto0
= 0x0020,
254 DVD_Mix_Rto0
= 0x0040,
255 DVD_Mix_0to1
= 0x0100,
256 DVD_Mix_1to1
= 0x0200,
257 DVD_Mix_2to1
= 0x0400,
258 DVD_Mix_3to1
= 0x0800,
259 DVD_Mix_4to1
= 0x1000,
260 DVD_Mix_Lto1
= 0x2000,
261 DVD_Mix_Rto1
= 0x4000
262 } DVD_KARAOKE_DOWNMIX
;
263 typedef enum tagDVD_MENU_ID
{
266 DVD_MENU_Subpicture
= 4,
273 DVD_NotifyParentalLevelChange
= 2,
274 DVD_HMSF_TimeCodeEvents
= 3,
275 DVD_AudioDuringFFwdRew
= 4,
276 DVD_EnableNonblockingAPIs
= 5,
277 DVD_CacheSizeInMB
= 6,
278 DVD_EnablePortableBookmarks
= 7
280 typedef enum tagDVD_PARENTAL_LEVEL
{
281 DVD_PARENTAL_LEVEL_8
= 0x8000,
282 DVD_PARENTAL_LEVEL_7
= 0x4000,
283 DVD_PARENTAL_LEVEL_6
= 0x2000,
284 DVD_PARENTAL_LEVEL_5
= 0x1000,
285 DVD_PARENTAL_LEVEL_4
= 0x0800,
286 DVD_PARENTAL_LEVEL_3
= 0x0400,
287 DVD_PARENTAL_LEVEL_2
= 0x0200,
288 DVD_PARENTAL_LEVEL_1
= 0x0100
289 } DVD_PARENTAL_LEVEL
;
290 typedef enum tagDVD_PREFERRED_DISPLAY_MODE
{
291 DISPLAY_CONTENT_DEFAULT
= 0,
293 DISPLAY_4x3_PANSCAN_PREFERRED
= 2,
294 DISPLAY_4x3_LETTERBOX_PREFERRED
= 3
295 } DVD_PREFERRED_DISPLAY_MODE
;
296 typedef enum tagDVD_RELATIVE_BUTTON
{
297 DVD_Relative_Upper
= 1,
298 DVD_Relative_Lower
= 2,
299 DVD_Relative_Left
= 3,
300 DVD_Relative_Right
= 4
301 } DVD_RELATIVE_BUTTON
;
302 typedef enum tagDVD_SUBPICTURE_LANG_EXT
{
303 DVD_SP_EXT_NotSpecified
= 0,
304 DVD_SP_EXT_Caption_Normal
= 1,
305 DVD_SP_EXT_Caption_Big
= 2,
306 DVD_SP_EXT_Caption_Children
= 3,
307 DVD_SP_EXT_CC_Normal
= 5,
308 DVD_SP_EXT_CC_Big
= 6,
309 DVD_SP_EXT_CC_Children
= 7,
310 DVD_SP_EXT_Forced
= 9,
311 DVD_SP_EXT_DirectorComments_Normal
= 13,
312 DVD_SP_EXT_DirectorComments_Big
= 14,
313 DVD_SP_EXT_DirectorComments_Children
= 15
314 } DVD_SUBPICTURE_LANG_EXT
;
315 typedef enum tagDVD_SUBPICTURE_TYPE
{
316 DVD_SPType_NotSpecified
= 0,
317 DVD_SPType_Language
= 1,
319 } DVD_SUBPICTURE_TYPE
;
320 typedef enum tagDVD_SUBPICTURE_CODING
{
321 DVD_SPCoding_RunLength
= 0,
322 DVD_SPCoding_Extended
= 1,
323 DVD_SPCoding_Other
= 2
324 } DVD_SUBPICTURE_CODING
;
325 enum DVD_TextCharSet
{
326 DVD_CharSet_Unicode
= 0,
327 DVD_CharSet_ISO646
= 1,
328 DVD_CharSet_JIS_Roman_Kanji
= 2,
329 DVD_CharSet_ISO8859_1
= 3,
330 DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana
= 4
332 enum DVD_TextStringType
{
333 DVD_Struct_Volume
= 0x01,
334 DVD_Struct_Title
= 0x02,
335 DVD_Struct_ParentalID
= 0x03,
336 DVD_Struct_PartOfTitle
= 0x04,
337 DVD_Struct_Cell
= 0x05,
338 DVD_Stream_Audio
= 0x10,
339 DVD_Stream_Subpicture
= 0x11,
340 DVD_Stream_Angle
= 0x12,
341 DVD_Channel_Audio
= 0x20,
342 DVD_General_Name
= 0x30,
343 DVD_General_Comments
= 0x31,
344 DVD_Title_Series
= 0x38,
345 DVD_Title_Movie
= 0x39,
346 DVD_Title_Video
= 0x3a,
347 DVD_Title_Album
= 0x3b,
348 DVD_Title_Song
= 0x3c,
349 DVD_Title_Other
= 0x3f,
350 DVD_Title_Sub_Series
= 0x40,
351 DVD_Title_Sub_Movie
= 0x41,
352 DVD_Title_Sub_Video
= 0x42,
353 DVD_Title_Sub_Album
= 0x43,
354 DVD_Title_Sub_Song
= 0x44,
355 DVD_Title_Sub_Other
= 0x47,
356 DVD_Title_Orig_Series
= 0x48,
357 DVD_Title_Orig_Movie
= 0x49,
358 DVD_Title_Orig_Video
= 0x4a,
359 DVD_Title_Orig_Album
= 0x4b,
360 DVD_Title_Orig_Song
= 0x4c,
361 DVD_Title_Orig_Other
= 0x4f,
362 DVD_Other_Scene
= 0x50,
363 DVD_Other_Cut
= 0x51,
364 DVD_Other_Take
= 0x52
366 typedef enum tagDVD_TIMECODE_FLAGS
{
367 DVD_TC_FLAG_25fps
= 0x00000001,
368 DVD_TC_FLAG_30fps
= 0x00000002,
369 DVD_TC_FLAG_DropFrame
= 0x00000004,
370 DVD_TC_FLAG_Interpolated
= 0x00000008
371 } DVD_TIMECODE_FLAGS
;
372 typedef enum tagDVD_TITLE_APPMODE
{
373 DVD_AppMode_Not_Specified
= 0,
374 DVD_AppMode_Karaoke
= 1,
375 DVD_AppMode_Other
= 3
377 typedef enum tagDVD_VIDEO_COMPRESSION
{
378 DVD_VideoCompression_Other
= 0,
379 DVD_VideoCompression_MPEG1
= 1,
380 DVD_VideoCompression_MPEG2
= 2
381 } DVD_VIDEO_COMPRESSION
;
382 typedef enum _DVDECODERRESOLUTION
{
383 DVDECODERRESOLUTION_720x480
= 1000,
384 DVDECODERRESOLUTION_360x240
= 1001,
385 DVDECODERRESOLUTION_180x120
= 1002,
386 DVDECODERRESOLUTION_88x60
= 1003
387 } DVDECODERRESOLUTION
;
388 typedef enum _DVRESOLUTION
{
389 DVRESOLUTION_FULL
= 1000,
390 DVRESOLUTION_HALF
= 1001,
391 DVRESOLUTION_QUARTER
= 1002,
392 DVRESOLUTION_DC
= 1003
394 typedef enum _DVENCODERFORMAT
{
395 DVENCODERFORMAT_DVSD
= 2007,
396 DVENCODERFORMAT_DVHD
= 2008,
397 DVENCODERFORMAT_DVSL
= 2009
399 typedef enum _DVENCODERRESOLUTION
{
400 DVENCODERRESOLUTION_720x480
= 2012,
401 DVENCODERRESOLUTION_360x240
= 2013,
402 DVENCODERRESOLUTION_180x120
= 2014,
403 DVENCODERRESOLUTION_88x60
= 2015
404 } DVENCODERRESOLUTION
;
405 typedef enum _DVENCODERVIDEOFORMAT
{
406 DVENCODERVIDEOFORMAT_NTSC
= 2000,
407 DVENCODERVIDEOFORMAT_PAL
= 2001
408 } DVENCODERVIDEOFORMAT
;
409 typedef enum _FilterState
{
418 INTERLEAVE_NONE_BUFFERED
421 PhysConn_Video_Tuner
= 1,
422 PhysConn_Video_Composite
,
423 PhysConn_Video_SVideo
,
425 PhysConn_Video_YRYBY
,
426 PhysConn_Video_SerialDigital
,
427 PhysConn_Video_ParallelDigital
,
432 PhysConn_Video_VideoDecoder
,
433 PhysConn_Video_VideoEncoder
,
434 PhysConn_Video_SCART
,
435 PhysConn_Video_Black
,
436 PhysConn_Audio_Tuner
= 4096,
439 PhysConn_Audio_AESDigital
,
440 PhysConn_Audio_SPDIFDigital
,
445 PhysConn_Audio_AudioDecoder
446 } PhysicalConnectorType
;
447 typedef enum _PinDirection
{
454 } QualityMessageType
;
456 REG_PINFLAG_B_ZERO
= 0x1,
457 REG_PINFLAG_B_RENDERER
= 0x2,
458 REG_PINFLAG_B_MANY
= 0x4,
459 REG_PINFLAG_B_OUTPUT
= 0x8
461 typedef enum _REM_FILTER_FLAGS
{
462 REMFILTERF_LEAVECONNECTED
= 0x00000001
468 typedef enum tagTVAudioMode
{
469 AMTVAUDIO_MODE_MONO
= 0x0001,
470 AMTVAUDIO_MODE_STEREO
= 0x0002,
471 AMTVAUDIO_MODE_LANG_A
= 0x0010,
472 AMTVAUDIO_MODE_LANG_B
= 0x0020,
473 AMTVAUDIO_MODE_LANG_C
= 0x0040,
474 AMTVAUDIO_PRESET_STEREO
= 0x0200,
475 AMTVAUDIO_PRESET_LANG_A
= 0x1000,
476 AMTVAUDIO_PRESET_LANG_B
= 0x2000,
477 AMTVAUDIO_PRESET_LANG_C
= 0x4000
480 UOP_FLAG_Play_Title_Or_AtTime
= 0x00000001,
481 UOP_FLAG_Play_Chapter
= 0x00000002,
482 UOP_FLAG_Play_Title
= 0x00000004,
483 UOP_FLAG_Stop
= 0x00000008,
484 UOP_FLAG_ReturnFromSubMenu
= 0x00000010,
485 UOP_FLAG_Play_Chapter_Or_AtTime
= 0x00000020,
486 UOP_FLAG_PlayPrev_Or_Replay_Chapter
= 0x00000040,
487 UOP_FLAG_PlayNext_Chapter
= 0x00000080,
488 UOP_FLAG_Play_Forwards
= 0x00000100,
489 UOP_FLAG_Play_Backwards
= 0x00000200,
490 UOP_FLAG_ShowMenu_Title
= 0x00000400,
491 UOP_FLAG_ShowMenu_Root
= 0x00000800,
492 UOP_FLAG_ShowMenu_SubPic
= 0x00001000,
493 UOP_FLAG_ShowMenu_Audio
= 0x00002000,
494 UOP_FLAG_ShowMenu_Angle
= 0x00004000,
495 UOP_FLAG_ShowMenu_Chapter
= 0x00008000,
496 UOP_FLAG_Resume
= 0x00010000,
497 UOP_FLAG_Select_Or_Activate_Button
= 0x00020000,
498 UOP_FLAG_Still_Off
= 0x00040000,
499 UOP_FLAG_Pause_On
= 0x00080000,
500 UOP_FLAG_Select_Audio_Stream
= 0x00100000,
501 UOP_FLAG_Select_SubPic_Stream
= 0x00200000,
502 UOP_FLAG_Select_Angle
= 0x00400000,
503 UOP_FLAG_Select_Karaoke_Audio_Presentation_Mode
= 0x00800000,
504 UOP_FLAG_Select_Video_Mode_Preference
= 0x01000000
507 VfwCaptureDialog_Source
= 0x01,
508 VfwCaptureDialog_Format
= 0x02,
509 VfwCaptureDialog_Display
= 0x04
512 VfwCompressDialog_Config
= 0x01,
513 VfwCompressDialog_About
= 0x02,
514 VfwCompressDialog_QueryConfig
= 0x04,
515 VfwCompressDialog_QueryAbout
= 0x08
516 } VfwCompressDialogs
;
517 typedef enum tagVideoControlFlags
{
518 VideoControlFlag_FlipHorizontal
= 0x0001,
519 VideoControlFlag_FlipVertical
= 0x0002,
520 VideoControlFlag_ExternalTriggerEnable
= 0x0004,
521 VideoControlFlag_Trigger
= 0x0008
525 VariableBitRateAverage
,
527 } VIDEOENCODER_BITRATE_MODE
;
528 typedef enum tagVideoProcAmpFlags
{
529 VideoProcAmp_Flags_Auto
= 0x0001,
530 VideoProcAmp_Flags_Manual
= 0x0002
532 typedef enum tagVideoProcAmpProperty
{
533 VideoProcAmp_Brightness
,
534 VideoProcAmp_Contrast
,
536 VideoProcAmp_Saturation
,
537 VideoProcAmp_Sharpness
,
539 VideoProcAmp_ColorEnable
,
540 VideoProcAmp_WhiteBalance
,
541 VideoProcAmp_BacklightCompensation
,
543 } VideoProcAmpProperty
;
544 enum VMR_ASPECT_RATIO_MODE
{
546 VMR_ARMODE_LETTER_BOX
549 DeinterlacePref_NextBest
= 0x01,
550 DeinterlacePref_BOB
= 0x02,
551 DeinterlacePref_Weave
= 0x04,
552 DeinterlacePref_Mask
= 0x07
553 } VMRDeinterlacePrefs
;
555 DeinterlaceTech_Unknown
= 0x0000,
556 DeinterlaceTech_BOBLineReplicate
= 0x0001,
557 DeinterlaceTech_BOBVerticalStretch
= 0x0002,
558 DeinterlaceTech_MedianFiltering
= 0x0004,
559 DeinterlaceTech_EdgeFiltering
= 0x0010,
560 DeinterlaceTech_FieldAdaptive
= 0x0020,
561 DeinterlaceTech_PixelAdaptive
= 0x0040,
562 DeinterlaceTech_MotionVectorSteered
= 0x0080
563 } VMRDeinterlaceTech
;
565 MixerPref_NoDecimation
= 0x00000001,
566 MixerPref_DecimateOutput
= 0x00000002,
567 MixerPref_ARAdjustXorY
= 0x00000004,
568 MixerPref_DecimationReserved
= 0x00000008,
569 MixerPref_DecimateMask
= 0x0000000F,
570 MixerPref_BiLinearFiltering
= 0x00000010,
571 MixerPref_PointFiltering
= 0x00000020,
572 MixerPref_FilteringMask
= 0x000000F0,
573 MixerPref_RenderTargetRGB
= 0x00000100,
574 MixerPref_RenderTargetYUV
= 0x00001000,
575 MixerPref_RenderTargetYUV420
= 0x00000200,
576 MixerPref_RenderTargetYUV422
= 0x00000400,
577 MixerPref_RenderTargetYUV444
= 0x00000800,
578 MixerPref_RenderTargetReserved
= 0x0000E000,
579 MixerPref_RenderTargetMask
= 0x0000FF00,
580 MixerPref_DynamicSwitchToBOB
= 0x00010000,
581 MixerPref_DynamicDecimateBy2
= 0x00020000,
582 MixerPref_DynamicReserved
= 0x000C0000,
583 MixerPref_DynamicMask
= 0x000F0000
586 VMRMode_Windowed
= 0x00000001,
587 VMRMode_Windowless
= 0x00000002,
588 VMRMode_Renderless
= 0x00000004,
589 VMRMode_Mask
= 0x00000007
592 VMRSample_SyncPoint
= 0x00000001,
593 VMRSample_Preroll
= 0x00000002,
594 VMRSample_Discontinuity
= 0x00000004,
595 VMRSample_TimeValid
= 0x00000008
596 } VMRPresentationFlags
;
598 RenderPrefs_ForceOffscreen
= 0x00000001,
599 RenderPrefs_ForceOverlays
= 0x00000002,
600 RenderPrefs_AllowOverlays
= 0x00000000,
601 RenderPrefs_AllowOffscreen
= 0x00000000,
602 RenderPrefs_DoNotRenderColorKeyAndBorder
= 0x00000008,
603 RenderPrefs_RestrictToInitialMonitor
= 0x00000010,
604 RenderPrefs_PreferAGPMemWhenMixing
= 0x00000020,
605 RenderPrefs_Mask
= 0x0000003f
608 AMAP_PIXELFORMAT_VALID
= 0x01,
609 AMAP_3D_TARGET
= 0x02,
610 AMAP_ALLOW_SYSMEM
= 0x04,
611 AMAP_FORCE_SYSMEM
= 0x08,
612 AMAP_DIRECTED_FLIP
= 0x10,
613 AMAP_DXVA_TARGET
= 0x20
614 } VMRSurfaceAllocationFlags
;
615 /*--- DirectShow Reference - DirectShow Structures */
616 typedef struct _AllocatorProperties
{
621 } ALLOCATOR_PROPERTIES
;
629 int iNumStreamsFailed
;
630 DWORD dwFailedStreamsFlag
;
631 } AM_DVD_RENDERSTATUS
;
632 typedef struct _AMCOPPCommand
{
637 BYTE CommandData
[4056];
638 } AMCOPPCommand
,*LPAMCOPPCommand
;
639 typedef struct _AMCOPPSignature
{
642 typedef struct _AMCOPPStatusInput
{
644 GUID guidStatusRequestID
;
647 BYTE StatusData
[4056];
648 } AMCOPPStatusInput
,*LPAMCOPPStatusInput
;
649 typedef struct _AMCOPPStatusOutput
{
652 BYTE COPPStatus
[4076];
653 } AMCOPPStatusOutput
,*LPAMCOPPStatusOutput
;
654 typedef struct _AMMediaType
{
657 BOOL bFixedSizeSamples
;
658 BOOL bTemporalCompression
;
665 typedef struct tagAM_SAMPLE2_PROPERTIES
{
667 DWORD dwTypeSpecificFlags
;
670 REFERENCE_TIME tStart
;
671 REFERENCE_TIME tStop
;
673 AM_MEDIA_TYPE
*pMediaType
;
676 } AM_SAMPLE2_PROPERTIES
;
678 REFERENCE_TIME tStart
;
679 REFERENCE_TIME tStop
;
685 const CLSID
*clsMajorType
;
686 const CLSID
*clsMinorType
;
688 typedef REGPINTYPES AMOVIESETUP_MEDIATYPE
,*PAMOVIESETUP_MEDIATYPE
,*LPAMOVIESETUP_MEDIATYPE
;
695 const CLSID
*clsConnectsToFilter
;
696 const WCHAR
*strConnectsToPin
;
698 const REGPINTYPES
*lpMediaType
;
700 typedef REGFILTERPINS AMOVIESETUP_PIN
,*PAMOVIESETUP_PIN
,*LPAMOVIESETUP_PIN
;
701 typedef struct _AMOVIESETUP_FILTER
{
703 const WCHAR
*strName
;
706 const AMOVIESETUP_PIN
*lpPin
;
707 } AMOVIESETUP_FILTER
,*PAMOVIESETUP_FILTER
,*LPAMOVIESETUP_FILTER
;
708 typedef struct _AUDIO_STREAM_CONFIG_CAPS
{
710 ULONG MinimumChannels
;
711 ULONG MaximumChannels
;
712 ULONG ChannelsGranularity
;
713 ULONG MinimumBitsPerSample
;
714 ULONG MaximumBitsPerSample
;
715 ULONG BitsPerSampleGranularity
;
716 ULONG MinimumSampleFrequency
;
717 ULONG MaximumSampleFrequency
;
718 ULONG SampleFrequencyGranularity
;
719 } AUDIO_STREAM_CONFIG_CAPS
;
720 struct CodecAPIEventData
{
725 typedef struct tagCOLORKEY
{
728 COLORREF LowColorValue
;
729 COLORREF HighColorValue
;
731 #define CK_NOCOLORKEY 0x00000000
732 #define CK_INDEX 0x00000001
733 #define CK_RGB 0x00000002
738 typedef struct tagDVD_AudioAttributes
{
739 DVD_AUDIO_APPMODE AppMode
;
740 DVD_AUDIO_FORMAT AudioFormat
;
742 DVD_AUDIO_LANG_EXT LanguageExtension
;
743 BOOL fHasMultichannelInfo
;
746 BYTE bNumberOfChannels
;
748 } DVD_AudioAttributes
;
749 typedef struct tagDVD_DECODER_CAPS
{
752 double dFwdMaxRateVideo
;
753 double dFwdMaxRateAudio
;
754 double dFwdMaxRateSP
;
755 double dBwdMaxRateVideo
;
756 double dBwdMaxRateAudio
;
757 double dBwdMaxRateSP
;
763 #define DVD_AUDIO_CAPS_AC3 0x00000001
764 #define DVD_AUDIO_CAPS_MPEG2 0x00000002
765 #define DVD_AUDIO_CAPS_LPCM 0x00000004
766 #define DVD_AUDIO_CAPS_DTS 0x00000008
767 #define DVD_AUDIO_CAPS_SDDS 0x00000010
768 typedef struct tagDVD_HMSF_TIMECODE
{
774 typedef struct tagDVD_KaraokeAttributes
{
776 BOOL fMasterOfCeremoniesInGuideVocal1
;
778 DVD_KARAOKE_ASSIGNMENT ChannelAssignment
;
779 WORD wChannelContents
[8];
780 } DVD_KaraokeAttributes
;
781 typedef struct tagDVD_MUA_Coeff
{
785 typedef struct tagDVD_MUA_MixingInfo
{
790 DWORD dwSpeakerPosition
;
791 } DVD_MUA_MixingInfo
;
792 #define KSAUDIO_SPEAKER_LEFT 0x00000001
793 #define KSAUDIO_SPEAKER_RIGHT 0x00000002
794 #define KSAUDIO_SPEAKER_CENTER 0x00000004
795 #define KSAUDIO_SPEAKER_SURROUND_LEFT 0x00000008
796 #define KSAUDIO_SPEAKER_SURROUND_RIGHT 0x00000010
797 #define KSAUDIO_SPEAKER_SUBWOOFER 0x00000020
798 #define KSAUDIO_SPEAKER_LEFT_OF_CENTER 0x00000040
799 #define KSAUDIO_SPEAKER_RIGHT_OF_CENTER 0x00000080
800 #define KSAUDIO_SPEAKER_SURROUND_MONO 0x00000100
801 #define KSAUDIO_SPEAKER_SIDE_LEFT 0x00000200
802 #define KSAUDIO_SPEAKER_SIDE_RIGHT 0x00000400
803 #define KSAUDIO_SPEAKER_TOP 0x00000800
804 typedef struct tagDVD_MultichannelAudioAttributes
{
805 DVD_MUA_MixingInfo Info
[8];
806 DVD_MUA_Coeff Coeff
[8];
807 } DVD_MultichannelAudioAttributes
;
808 typedef struct tagDVD_PLAYBACK_LOCATION
{
812 } DVD_PLAYBACK_LOCATION
;
813 typedef struct tagDVD_PLAYBACK_LOCATION2
{
816 DVD_HMSF_TIMECODE TimeCode
;
818 } DVD_PLAYBACK_LOCATION2
;
819 typedef struct tagDVD_SubpictureAttributes
{
820 DVD_SUBPICTURE_TYPE Type
;
821 DVD_SUBPICTURE_CODING CodingMode
;
823 DVD_SUBPICTURE_LANG_EXT LanguageExtension
;
824 } DVD_SubpictureAttributes
;
825 typedef struct tagDVD_TIMECODE
{
834 ULONG FrameRateCode
:2;
836 typedef struct tagDVD_VideoAttributes
{
837 BOOL fPanscanPermitted
;
838 BOOL fLetterboxPermitted
;
843 DVD_VIDEO_COMPRESSION Compression
;
844 BOOL fLine21Field1InGOP
;
845 BOOL fLine21Field2InGOP
;
846 ULONG ulSourceResolutionX
;
847 ULONG ulSourceResolutionY
;
848 BOOL fIsSourceLetterboxed
;
850 } DVD_VideoAttributes
;
851 struct tagDVD_MenuAttributes
{
852 BOOL fCompatibleRegion
[8];
853 DVD_VideoAttributes VideoAttributes
;
855 DVD_AudioAttributes AudioAttributes
;
856 BOOL fSubpicturePresent
;
857 DVD_SubpictureAttributes SubpictureAttributes
;
858 } DVD_MenuAttributes
;
859 typedef struct tagDVD_TitleMainAttributes
{
860 DVD_TITLE_APPMODE AppMode
;
861 DVD_VideoAttributes VideoAttributes
;
862 ULONG ulNumberOfAudioStreams
;
863 DVD_AudioAttributes AudioAttributes
[8];
864 DVD_MultichannelAudioAttributes MultichannelAudioAttributes
[8];
865 ULONG ulNumberOfSubpictureStreams
;
866 DVD_SubpictureAttributes SubpictureAttributes
[32];
867 } DVD_TitleAttributes
;
868 typedef struct tag_DVINFO
{
875 DWORD dwDVReserved
[2];
878 #define MAX_FILTER_NAME 128
879 typedef struct _FilterInfo {
880 WCHAR achName[MAX_FILTER_NAME];
881 IFilterGraph *pGraph;
884 typedef struct _NORMALIZEDRECT
{
889 } NORMALIZEDRECT
,*PNORMALIZEDRECT
;
890 #define MAX_PIN_NAME 128
891 typedef struct _PinInfo
{
892 IBaseFilter
*pFilter
;
894 WCHAR achName
[MAX_PIN_NAME
];
897 QualityMessageType Type
;
900 REFERENCE_TIME TimeStamp
;
911 const REGPINTYPES
*lpMediaType
;
913 const REGPINMEDIUM
*lpMedium
;
914 const CLSID
*clsPinCategory
;
922 const REGFILTERPINS
*rgPins
;
926 const REGFILTERPINS2
*rgPins2
;
932 DWORD dwMediaSampleContent
;
933 ULONG ulSubstreamFilterValue
;
936 #define MPEG2_PROGRAM_STREAM_MAP 0x00000000
937 #define MPEG2_PROGRAM_ELEMENTARY_STREAM 0x00000001
938 #define MPEG2_PROGRAM_DIRECTORY_PES_PACKET 0x00000002
939 #define MPEG2_PROGRAM_PACK_HEADER 0x00000003
940 #define MPEG2_PROGRAM_PES_STREAM 0x00000004
941 #define MPEG2_PROGRAM_SYSTEM_HEADER 0x00000005
942 #define SUBSTREAM_FILTER_VAL_NONE 0x10000000
943 typedef struct tagTIMECODE
{
948 #define ED_FORMAT_SMPTE_30 0x00001196
949 #define ED_FORMAT_SMPTE_30DROP 0x00001197
950 #define ED_FORMAT_SMPTE_25 0x00001198
951 #define ED_FORMAT_SMPTE_24 0x00001199
952 typedef struct tagTIMECODE_SAMPLE
{
958 /*#define AM_TIMECODE_FLAG_FCM */
959 /*#define AM_TIMECODE_FLAG_CF */
960 /*#define AM_TIMECODE_FLAG_FIELD */
961 /*#define AM_TIMECODE_FLAG_DF */
962 /*#define AM_TIMECODE_COLORFRAME */
963 /*#define AM_TIMECODE_COLORSEQUENCE */
964 /*#define AM_TIMECODE_FILMSEQUENCE_TYPE */
965 typedef struct _VIDEO_STREAM_CONFIG_CAPS
{
969 SIZE MinCroppingSize
;
970 SIZE MaxCroppingSize
;
971 int CropGranularityX
;
972 int CropGranularityY
;
977 int OutputGranularityX
;
978 int OutputGranularityY
;
983 LONGLONG MinFrameInterval
;
984 LONGLONG MaxFrameInterval
;
985 LONG MinBitsPerSecond
;
986 LONG MaxBitsPerSecond
;
987 } VIDEO_STREAM_CONFIG_CAPS
;
988 typedef struct tagVMRALLOCATIONINFO
{
990 LPBITMAPINFOHEADER lpHdr
;
991 LPDDPIXELFORMAT lpPixFmt
;
995 DWORD dwInterlaceFlags
;
999 typedef struct _VMRALPHABITMAP {
1002 LPDIRECTDRAWSURFACE7 pDDS;
1004 NORMALIZEDRECT rDest;
1007 } VMRALPHABITMAP,*PVMRALPHABITMAP;
1009 #define VMRBITMAP_DISABLE 0x00000001
1010 #define VMRBITMAP_HDC 0x00000002
1011 #define VMRBITMAP_ENTIREDDS 0x00000004
1012 #define VMRBITMAP_SRCCOLORKEY 0x00000008
1013 #define VMRBITMAP_SRCRECT 0x00000010
1014 typedef struct _VMRDeinterlaceCaps
{
1016 DWORD dwNumPreviousOutputFrames
;
1017 DWORD dwNumForwardRefSamples
;
1018 DWORD dwNumBackwardRefSamples
;
1019 VMRDeinterlaceTech DeinterlaceTechnology
;
1020 } VMRDeinterlaceCaps
;
1021 typedef struct _VMRFrequency
{
1023 DWORD dwDenominator
;
1025 typedef struct tagVMRGUID
{
1029 typedef struct tagVMRMONITORINFO
{
1034 wchar_t szDevice
[32];
1035 wchar_t szDescription
[256];
1038 typedef struct tagVMRPRESENTATIONINFO {
1040 LPDIRECTDRAWSURFACE7 lpSurf;
1041 REFERENCE_TIME rtStart;
1042 REFERENCE_TIME rtEnd;
1046 DWORD dwTypeSpecificFlags;
1047 DWORD dwInterlaceFlags;
1048 } VMRPRESENTATIONINFO;
1050 typedef struct _VMRVideoDesc
{
1052 DWORD dwSampleWidth
;
1053 DWORD dwSampleHeight
;
1054 BOOL SingleFieldPerSample
;
1056 VMRFrequency InputSampleFreq
;
1057 VMRFrequency OutputFrameFreq
;
1060 typedef struct _VMRVIDEOSTREAMINFO {
1061 LPDIRECTDRAWSURFACE7 pddsVideoSurface;
1066 DDCOLORKEY ddClrKey;
1067 NORMALIZEDRECT rNormal;
1068 } VMRVIDEOSTREAMINFO;
1070 /*--- DirectShow Reference - Interfaces */
1071 #define INTERFACE IAMAnalogVideoDecoder
1072 DECLARE_INTERFACE_(IAMAnalogVideoDecoder
, IUnknown
)
1074 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
1075 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
1076 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
1077 STDMETHOD_(HRESULT
,get_AvailableTVFormats
)(THIS_
long*) PURE
;
1078 STDMETHOD_(HRESULT
,get_HorizontalLocked
)(THIS_
long*) PURE
;
1079 STDMETHOD_(HRESULT
,get_NumberOfLines
)(THIS_
long*) PURE
;
1080 STDMETHOD_(HRESULT
,get_OutputEnable
)(THIS_
long*) PURE
;
1081 STDMETHOD_(HRESULT
,get_TVFormat
)(THIS_
long*) PURE
;
1082 STDMETHOD_(HRESULT
,get_VCRHorizontalLocking
)(THIS_
long*) PURE
;
1083 STDMETHOD_(HRESULT
,put_OutputEnable
)(THIS_
long) PURE
;
1084 STDMETHOD_(HRESULT
,put_TVFormat
)(THIS_
long) PURE
;
1085 STDMETHOD_(HRESULT
,put_VCRHorizontalLocking
)(THIS_
long) PURE
;
1088 #define INTERFACE IAMAudioInputMixer
1089 DECLARE_INTERFACE_(IAMAudioInputMixer
, IUnknown
)
1091 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
1092 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
1093 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
1094 STDMETHOD_(HRESULT
,get_Bass
)(THIS_
double*) PURE
;
1095 STDMETHOD_(HRESULT
,get_BassRange
)(THIS_
double*) PURE
;
1096 STDMETHOD_(HRESULT
,get_Enable
)(THIS_ BOOL
*) PURE
;
1097 STDMETHOD_(HRESULT
,get_Loudness
)(THIS_ BOOL
*) PURE
;
1098 STDMETHOD_(HRESULT
,get_MixLevel
)(THIS_
double*) PURE
;
1099 STDMETHOD_(HRESULT
,get_Mono
)(THIS_ BOOL
*) PURE
;
1100 STDMETHOD_(HRESULT
,get_Pan
)(THIS_
double*) PURE
;
1101 STDMETHOD_(HRESULT
,get_Treble
)(THIS_
double*) PURE
;
1102 STDMETHOD_(HRESULT
,get_TrebleRange
)(THIS_
double*) PURE
;
1103 STDMETHOD_(HRESULT
,put_Bass
)(THIS_
double) PURE
;
1104 STDMETHOD_(HRESULT
,put_Enable
)(THIS_ BOOL
) PURE
;
1105 STDMETHOD_(HRESULT
,put_Loudness
)(THIS_ BOOL
) PURE
;
1106 STDMETHOD_(HRESULT
,put_MixLevel
)(THIS_
double) PURE
;
1107 STDMETHOD_(HRESULT
,put_Mono
)(THIS_ BOOL
) PURE
;
1108 STDMETHOD_(HRESULT
,put_Pan
)(THIS_
double) PURE
;
1109 STDMETHOD_(HRESULT
,put_Treble
)(THIS_
double) PURE
;
1112 #define INTERFACE IAMAudioRendererStats
1113 DECLARE_INTERFACE_(IAMAudioRendererStats
, IUnknown
)
1115 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
1116 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
1117 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
1118 STDMETHOD_(HRESULT
,GetStatParam
)(THIS_ DWORD
,DWORD
*,DWORD
*) PURE
;
1121 #define INTERFACE IAMBufferNegotiation
1122 DECLARE_INTERFACE_(IAMBufferNegotiation
, IUnknown
)
1124 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
1125 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
1126 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
1127 STDMETHOD_(HRESULT
,GetAllocatorProperties
)(THIS_ ALLOCATOR_PROPERTIES
*) PURE
;
1128 STDMETHOD_(HRESULT
,SuggestAllocatorProperties
)(THIS_
const ALLOCATOR_PROPERTIES
*) PURE
;
1131 #define INTERFACE IAMCameraControl
1132 DECLARE_INTERFACE_(IAMCameraControl
, IUnknown
)
1134 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
1135 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
1136 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
1137 STDMETHOD_(HRESULT
,Get
)(THIS_
long,long*,long*) PURE
;
1138 STDMETHOD_(HRESULT
,GetRange
)(THIS_
long,long*,long*,long*,long*,long*) PURE
;
1139 STDMETHOD_(HRESULT
,Set
)(THIS_
long,long,long) PURE
;
1143 #define INTERFACE IAMCertifiedOutputProtection
1144 DECLARE_INTERFACE_(IAMCertifiedOutputProtection
, IUnknown
)
1146 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
1147 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
1148 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
1149 STDMETHOD_(HRESULT
,KeyExchange
)(THIS_ GUID
*,BYTE
**,DWORD
*) PURE
;
1150 STDMETHOD_(HRESULT
,ProtectionCommand
)(THIS_
const AMCOPPCommand
*) PURE
;
1151 STDMETHOD_(HRESULT
,ProtectionStatus
)(THIS_
const AMCOPPStatusInput
*,AMCOPPStatusOutput
*) PURE
;
1152 STDMETHOD_(HRESULT
,SessionSequenceStart
)(THIS_
const AMCOPPSignature
*) PURE
;