Implement some DirectDraw related COM-Interfaces.
Modified: trunk/reactos/w32api/include/ddk/dvp.h

Modified: trunk/reactos/w32api/include/ddk/dvp.h
--- trunk/reactos/w32api/include/ddk/dvp.h	2005-10-28 10:22:24 UTC (rev 18828)
+++ trunk/reactos/w32api/include/ddk/dvp.h	2005-10-28 12:09:22 UTC (rev 18829)
@@ -1,5 +1,5 @@
 
-/* $Id: $
+/* $Id$
  *
  * COPYRIGHT:            See COPYING in the top level directory
  * PROJECT:              ReactOS kernel
@@ -207,4 +207,61 @@
 typedef struct _DDVIDEOPORTSTATUS    *LPDDVIDEOPORTSTATUS;
 typedef struct _DDVIDEOPORTNOTIFY    *LPDDVIDEOPORTNOTIFY;
 
-#endif
+typedef struct IDirectDrawVideoPort* LPDIRECTDRAWVIDEOPORT;
+typedef struct IDDVideoPortContainer* LPDDVIDEOPORTCONTAINER;
+
+typedef HRESULT (FAR PASCAL * LPDDENUMVIDEOCALLBACK)(LPDDVIDEOPORTCAPS, LPVOID);
+
+#if !defined (_NO_COM) && defined (_WIN32) 
+
+#undef INTERFACE
+#define INTERFACE IDDVideoPortContainer
+DECLARE_INTERFACE_ (IDDVideoPortContainer, IUnknown)
+{
+    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
+    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
+    STDMETHOD_(ULONG,Release) (THIS) PURE;
+    STDMETHOD(CreateVideoPort)(THIS_ DWORD, LPDDVIDEOPORTDESC, LPDIRECTDRAWVIDEOPORT*, IUnknown*) PURE;
+    STDMETHOD(EnumVideoPorts) (THIS_ DWORD, LPDDVIDEOPORTCAPS, LPVOID, LPDDENUMVIDEOCALLBACK) PURE;
+    STDMETHOD(GetVideoPortConnectInfo) (THIS_ DWORD, LPDWORD, LPDDVIDEOPORTCONNECT) PURE;
+    STDMETHOD(QueryVideoPortStatus) (THIS_ DWORD, LPDDVIDEOPORTSTATUS) PURE;
+};
+
+#undef INTERFACE
+#define INTERFACE IDirectDrawVideoPort
+DECLARE_INTERFACE_ (IDirectDrawVideoPort, IUnknown)
+{
+    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
+    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
+    STDMETHOD_(ULONG,Release) (THIS) PURE;
+    STDMETHOD(Flip) (THIS_ LPDIRECTDRAWSURFACE, DWORD) PURE;
+    STDMETHOD(GetBandwidthInfo)(THIS_ LPDDPIXELFORMAT, DWORD, DWORD, DWORD, LPDDVIDEOPORTBANDWIDTH) PURE;
+    STDMETHOD(GetColorControls) (THIS_ LPDDCOLORCONTROL) PURE;
+    STDMETHOD(GetInputFormats)(THIS_ LPDWORD, LPDDPIXELFORMAT, DWORD) PURE;
+    STDMETHOD(GetOutputFormats)(THIS_ LPDDPIXELFORMAT, LPDWORD, LPDDPIXELFORMAT, DWORD) PURE;
+    STDMETHOD(GetFieldPolarity) (THIS_ LPBOOL) PURE;
+    STDMETHOD(GetVideoLine) (THIS_ LPDWORD) PURE;
+    STDMETHOD(GetVideoSignalStatus) (THIS_ LPDWORD) PURE;
+    STDMETHOD(SetColorControls) (THIS_ LPDDCOLORCONTROL) PURE;
+    STDMETHOD(SetTargetSurface) (THIS_ LPDIRECTDRAWSURFACE, DWORD) PURE;
+    STDMETHOD(StartVideo) (THIS_ LPDDVIDEOPORTINFO) PURE;
+    STDMETHOD(StopVideo) (THIS) PURE;
+    STDMETHOD(UpdateVideo) (THIS_ LPDDVIDEOPORTINFO) PURE;
+    STDMETHOD(WaitForSync) (THIS_ DWORD, DWORD, DWORD) PURE;
+};
+
+#undef INTERFACE
+#define INTERFACE IDirectDrawVideoPortNotify
+DECLARE_INTERFACE_( IDirectDrawVideoPortNotify, IUnknown )
+{
+    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
+    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
+    STDMETHOD_(ULONG,Release) (THIS) PURE;
+    STDMETHOD(AcquireNotification) (THIS_ HANDLE*, LPDDVIDEOPORTNOTIFY) PURE;
+    STDMETHOD(ReleaseNotification) (THIS_ HANDLE) PURE;
+};
+
+#undef INTERFACE
+
+#endif // !defined (_NO_COM) && defined (_WIN32) 
+#endif  // __DVP_INCLUDED__