[KSPROXY]
[reactos.git] / reactos / dll / directx / ksproxy / precomp.h
index f0e2a8d..2ea89aa 100644 (file)
@@ -1,6 +1,6 @@
-#ifndef PRECOMP_H_
-#define PRECOMP_H_
+#pragma once
 
+#define _FORCENAMELESSUNION
 #define BUILDING_KS
 #define _KSDDK_
 #include <dshow.h>
 #include <dvp.h>
 #include <vptype.h>
 #include <vpconfig.h>
-
 #include <setupapi.h>
+#include <stdio.h>
+#include <vector>
+#include <assert.h>
+#include <ksmedia.h>
 //#include <debug.h>
 
+
+interface DECLSPEC_UUID("877E4351-6FEA-11D0-B863-00AA00A216A1") IKsClock;
+
+#undef INTERFACE
+#define INTERFACE IKsClock
+
+DECLARE_INTERFACE_(IKsClock, IUnknown)
+{
+    STDMETHOD_(HANDLE, KsGetClockHandle)(
+        THIS
+    ) PURE;
+};
+
+
 typedef HRESULT (CALLBACK *LPFNCREATEINSTANCE)(IUnknown* pUnkOuter, REFIID riid, LPVOID* ppvObject);
 
 typedef struct {
@@ -98,4 +115,58 @@ CKsProxy_Constructor(
     REFIID riid,
     LPVOID * ppv);
 
-#endif
+/* input_pin.cpp */
+HRESULT
+WINAPI
+CInputPin_Constructor(
+    IBaseFilter * ParentFilter,
+    LPCWSTR PinName,
+    HANDLE hFilter,
+    ULONG PinId,
+    KSPIN_COMMUNICATION Communication,
+    REFIID riid,
+    LPVOID * ppv);
+
+/* output_pin.cpp */
+HRESULT
+WINAPI
+COutputPin_Constructor(
+    IBaseFilter * ParentFilter,
+    LPCWSTR PinName,
+    ULONG PinId,
+    REFIID riid,
+    LPVOID * ppv);
+
+/* enumpins.cpp */
+HRESULT
+WINAPI
+CEnumPins_fnConstructor(
+    std::vector<IPin*> Pins,
+    REFIID riid,
+    LPVOID * ppv);
+
+/* enum_mediatypes.cpp */
+HRESULT
+WINAPI
+CEnumMediaTypes_fnConstructor(
+    ULONG MediaTypeCount,
+    AM_MEDIA_TYPE * MediaTypes,
+    REFIID riid,
+    LPVOID * ppv);
+
+/* node.cpp */
+HRESULT
+WINAPI
+CKsNode_Constructor(
+    IUnknown * pUnkOuter,
+    HANDLE ParentHandle,
+    ULONG NodeId,
+    ACCESS_MASK DesiredAccess,
+    REFIID riid,
+    LPVOID * ppv);
+
+extern const GUID IID_IKsObject;
+extern const GUID IID_IKsPinEx;
+extern const GUID IID_IKsAggregateControl;
+extern const GUID IID_IKsPinPipe;
+extern const GUID IID_IKsPinFactory;