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