6df3ddfc5973dd21995f5fcae775896f69e28d48
[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 <ksmedia.h>
23 //#include <debug.h>
24
25
26 interface DECLSPEC_UUID("877E4351-6FEA-11D0-B863-00AA00A216A1") IKsClock;
27
28 #undef INTERFACE
29 #define INTERFACE IKsClock
30
31 DECLARE_INTERFACE_(IKsClock, IUnknown)
32 {
33 STDMETHOD_(HANDLE, KsGetClockHandle)(
34 THIS
35 ) PURE;
36 };
37
38
39 typedef HRESULT (CALLBACK *LPFNCREATEINSTANCE)(IUnknown* pUnkOuter, REFIID riid, LPVOID* ppvObject);
40
41 typedef struct {
42 const GUID* riid;
43 LPFNCREATEINSTANCE lpfnCI;
44 } INTERFACE_TABLE;
45
46 /* classfactory.cpp */
47
48 IClassFactory *
49 CClassFactory_fnConstructor(
50 LPFNCREATEINSTANCE lpfnCI,
51 PLONG pcRefDll,
52 IID * riidInst);
53
54 /* datatype.cpp */
55 HRESULT
56 WINAPI
57 CKsDataTypeHandler_Constructor(
58 IUnknown * pUnkOuter,
59 REFIID riid,
60 LPVOID * ppv);
61
62 /* interface.cpp */
63 HRESULT
64 WINAPI
65 CKsInterfaceHandler_Constructor(
66 IUnknown * pUnkOuter,
67 REFIID riid,
68 LPVOID * ppv);
69
70 /* clockforward.cpp */
71 HRESULT
72 WINAPI
73 CKsClockForwarder_Constructor(
74 IUnknown * pUnkOuter,
75 REFIID riid,
76 LPVOID * ppv);
77
78 /* qualityforward.cpp */
79 HRESULT
80 WINAPI
81 CKsQualityForwarder_Constructor(
82 IUnknown * pUnkOuter,
83 REFIID riid,
84 LPVOID * ppv);
85
86 /* cvpconfig.cpp */
87 HRESULT
88 WINAPI
89 CVPConfig_Constructor(
90 IUnknown * pUnkOuter,
91 REFIID riid,
92 LPVOID * ppv);
93
94 /* cvpvbiconfig.cpp */
95 HRESULT
96 WINAPI
97 CVPVBIConfig_Constructor(
98 IUnknown * pUnkOuter,
99 REFIID riid,
100 LPVOID * ppv);
101
102 /* basicaudio.cpp */
103 HRESULT
104 WINAPI
105 CKsBasicAudio_Constructor(
106 IUnknown * pUnkOuter,
107 REFIID riid,
108 LPVOID * ppv);
109
110 /* proxy.cpp */
111 HRESULT
112 WINAPI
113 CKsProxy_Constructor(
114 IUnknown * pUnkOuter,
115 REFIID riid,
116 LPVOID * ppv);
117
118 /* input_pin.cpp */
119 HRESULT
120 WINAPI
121 CInputPin_Constructor(
122 IBaseFilter * ParentFilter,
123 LPCWSTR PinName,
124 HANDLE hFilter,
125 ULONG PinId,
126 KSPIN_COMMUNICATION Communication,
127 REFIID riid,
128 LPVOID * ppv);
129
130 /* output_pin.cpp */
131 HRESULT
132 WINAPI
133 COutputPin_Constructor(
134 IBaseFilter * ParentFilter,
135 LPCWSTR PinName,
136 ULONG PinId,
137 KSPIN_COMMUNICATION Communication,
138 REFIID riid,
139 LPVOID * ppv);
140
141 /* enumpins.cpp */
142 HRESULT
143 WINAPI
144 CEnumPins_fnConstructor(
145 std::vector<IPin*> Pins,
146 REFIID riid,
147 LPVOID * ppv);
148
149 /* enum_mediatypes.cpp */
150 HRESULT
151 WINAPI
152 CEnumMediaTypes_fnConstructor(
153 ULONG MediaTypeCount,
154 AM_MEDIA_TYPE * MediaTypes,
155 REFIID riid,
156 LPVOID * ppv);
157
158 /* node.cpp */
159 HRESULT
160 WINAPI
161 CKsNode_Constructor(
162 IUnknown * pUnkOuter,
163 HANDLE ParentHandle,
164 ULONG NodeId,
165 ACCESS_MASK DesiredAccess,
166 REFIID riid,
167 LPVOID * ppv);
168
169 extern const GUID IID_IKsObject;
170 extern const GUID IID_IKsPinEx;
171 extern const GUID IID_IKsAggregateControl;
172 extern const GUID IID_IKsPinPipe;
173 extern const GUID IID_IKsPinFactory;
174 extern KSPIN_INTERFACE StandardPinInterface;
175 extern KSPIN_MEDIUM StandardPinMedium;