21cd4eb2e2793e81bf3bd9dc5a6b646dc848842d
[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 REFIID riid,
138 LPVOID * ppv);
139
140 /* enumpins.cpp */
141 HRESULT
142 WINAPI
143 CEnumPins_fnConstructor(
144 std::vector<IPin*> Pins,
145 REFIID riid,
146 LPVOID * ppv);
147
148 /* enum_mediatypes.cpp */
149 HRESULT
150 WINAPI
151 CEnumMediaTypes_fnConstructor(
152 ULONG MediaTypeCount,
153 AM_MEDIA_TYPE * MediaTypes,
154 REFIID riid,
155 LPVOID * ppv);
156
157 /* node.cpp */
158 HRESULT
159 WINAPI
160 CKsNode_Constructor(
161 IUnknown * pUnkOuter,
162 HANDLE ParentHandle,
163 ULONG NodeId,
164 ACCESS_MASK DesiredAccess,
165 REFIID riid,
166 LPVOID * ppv);
167
168 extern const GUID IID_IKsObject;
169 extern const GUID IID_IKsPinEx;