1 //------------------------------------------------------------------------------
2 // File: DShow.h
3 //
4 // Desc: DirectShow top-level include file
5 //
6 // Copyright (c) 2000-2001, Microsoft Corporation.  All rights reserved.
7 //------------------------------------------------------------------------------
8
9 #ifndef __DSHOW_INCLUDED__
10 #define __DSHOW_INCLUDED__
11
12 ///////////////////////////////////////////////////////////////////////////
13 // Set up constants & pragmas for the compiler
14 ///////////////////////////////////////////////////////////////////////////
15 #ifdef  _MSC_VER
16 // disable some level-4 warnings, use #pragma warning(default:###) to re-enable
17 #pragma warning(disable:4100) // warning C4100: unreferenced formal parameter
18 #pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union
19 #pragma warning(disable:4511) // warning C4511: copy constructor could not be generated
20 #pragma warning(disable:4512) // warning C4512: assignment operator could not be generated
21 #pragma warning(disable:4514) // warning C4514: "unreferenced inline function has been removed"
22
23 #if _MSC_VER>=1100
24 #define AM_NOVTABLE __declspec(novtable)
25 #else
26 #define AM_NOVTABLE
27 #endif
28 #endif  // MSC_VER
29
30 ///////////////////////////////////////////////////////////////////////////
31 // Include standard Windows files
32 ///////////////////////////////////////////////////////////////////////////
33 #include <windows.h>
34 #include <windowsx.h>
35 #include <olectl.h>
Lines 36 ... 45 are skipped.
46 #endif
47
48 ///////////////////////////////////////////////////////////////////////////
49 // Include DirectShow include files
50 ///////////////////////////////////////////////////////////////////////////
51 #include <strmif.h>        // Generated IDL header file for streams interfaces
52 #include <amvideo.h>      // ActiveMovie video interfaces and definitions
53
54 #ifdef DSHOW_USE_AMAUDIO
55 #include <amaudio.h>      // ActiveMovie audio interfaces and definitions
56 #endif
57
58 #include <control.h>      // generated from control.odl
59 #include <evcode.h>        // event code definitions
60 #include <uuids.h>          // declaration of type GUIDs and well-known clsids
61 #include <errors.h>        // HRESULT status and error definitions
62 #include <edevdefs.h>     // External device control interface defines
63 #include <audevcod.h>     // audio filter device error event codes
64 #include <dvdevcod.h>     // DVD error event codes
65
66 ///////////////////////////////////////////////////////////////////////////
67 // Define OLE Automation constants
68 ///////////////////////////////////////////////////////////////////////////
69 #ifndef OATRUE
70 #define OATRUE (-1)
71 #endif // OATRUE
72 #ifndef OAFALSE
73 #define OAFALSE (0)
74 #endif // OAFALSE
75
76 ///////////////////////////////////////////////////////////////////////////
77 // Define Win64 interfaces if not already defined
78 ///////////////////////////////////////////////////////////////////////////
79
80 // InterlockedExchangePointer
81 #ifndef InterlockedExchangePointer
82 #define InterlockedExchangePointer(Target, Value) \
83      (PVOID)InterlockedExchange((PLONG)(Target), (LONG)(Value))
84 #endif 
85
86
87 #endif // __DSHOW_INCLUDED__
88