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