5078daef9a96f4e1815341ac1bce5e3d941664fb
[reactos.git] / reactos / dll / directx / ksproxy / precomp.h
1 #pragma once
2
3 #define _FORCENAMELESSUNION
4 #define BUILDING_KS
5 #define _KSDDK_
6 #include <dshow.h>
7 //#include <streams.h>
8 #include <ks.h>
9 #define __STREAMS__
10 #include <ksproxy.h>
11 #include <stdio.h>
12 #include <wchar.h>
13 #include <tchar.h>
14 #include <uuids.h>
15 #include <dvp.h>
16 #include <vptype.h>
17 #include <vpconfig.h>
18 #include <setupapi.h>
19 #include <stdio.h>
20 #include <vector>
21 #include <assert.h>
22 //#include <debug.h>
23
24 typedef HRESULT (CALLBACK *LPFNCREATEINSTANCE)(IUnknown* pUnkOuter, REFIID riid, LPVOID* ppvObject);
25
26 typedef struct {
27 const GUID* riid;
28 LPFNCREATEINSTANCE lpfnCI;
29 } INTERFACE_TABLE;
30
31 /* classfactory.cpp */
32
33 IClassFactory *
34 CClassFactory_fnConstructor(
35 LPFNCREATEINSTANCE lpfnCI,
36 PLONG pcRefDll,
37 IID * riidInst);
38
39 /* datatype.cpp */
40 HRESULT
41 WINAPI
42 CKsDataTypeHandler_Constructor(
43 IUnknown * pUnkOuter,
44 REFIID riid,
45 LPVOID * ppv);
46
47 /* interface.cpp */
48 HRESULT
49 WINAPI
50 CKsInterfaceHandler_Constructor(
51 IUnknown * pUnkOuter,
52 REFIID riid,
53 LPVOID * ppv);
54
55 /* clockforward.cpp */
56 HRESULT
57 WINAPI
58 CKsClockForwarder_Constructor(
59 IUnknown * pUnkOuter,
60 REFIID riid,
61 LPVOID * ppv);
62
63 /* qualityforward.cpp */
64 HRESULT
65 WINAPI
66 CKsQualityForwarder_Constructor(
67 IUnknown * pUnkOuter,
68 REFIID riid,
69 LPVOID * ppv);
70
71 /* cvpconfig.cpp */
72 HRESULT
73 WINAPI
74 CVPConfig_Constructor(
75 IUnknown * pUnkOuter,
76 REFIID riid,
77 LPVOID * ppv);
78
79 /* cvpvbiconfig.cpp */
80 HRESULT
81 WINAPI
82 CVPVBIConfig_Constructor(
83 IUnknown * pUnkOuter,
84 REFIID riid,
85 LPVOID * ppv);
86
87 /* basicaudio.cpp */
88 HRESULT
89 WINAPI
90 CKsBasicAudio_Constructor(
91 IUnknown * pUnkOuter,
92 REFIID riid,
93 LPVOID * ppv);
94
95 /* proxy.cpp */
96 HRESULT
97 WINAPI
98 CKsProxy_Constructor(
99 IUnknown * pUnkOuter,
100 REFIID riid,
101 LPVOID * ppv);
102
103 /* input_pin.cpp */
104 HRESULT
105 WINAPI
106 CInputPin_Constructor(
107 IBaseFilter * ParentFilter,
108 LPCWSTR PinName,
109 HANDLE hFilter,
110 ULONG PinId,
111 KSPIN_COMMUNICATION Communication,
112 REFIID riid,
113 LPVOID * ppv);
114
115 /* output_pin.cpp */
116 HRESULT
117 WINAPI
118 COutputPin_Constructor(
119 IBaseFilter * ParentFilter,
120 LPCWSTR PinName,
121 ULONG PinId,
122 REFIID riid,
123 LPVOID * ppv);
124
125 /* enumpins.cpp */
126 HRESULT
127 WINAPI
128 CEnumPins_fnConstructor(
129 std::vector<IPin*> Pins,
130 REFIID riid,
131 LPVOID * ppv);
132
133 /* enum_mediatypes.cpp */
134 HRESULT
135 WINAPI
136 CEnumMediaTypes_fnConstructor(
137 ULONG MediaTypeCount,
138 AM_MEDIA_TYPE * MediaTypes,
139 REFIID riid,
140 LPVOID * ppv);
141
142 extern const GUID IID_IKsObject;