1 |
bearsoft |
1.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__
|