Implement some DirectDraw related COM-Interfaces.
authorMaarten Bosma <maarten@bosma.de>
Fri, 28 Oct 2005 12:09:22 +0000 (12:09 +0000)
committerMaarten Bosma <maarten@bosma.de>
Fri, 28 Oct 2005 12:09:22 +0000 (12:09 +0000)
svn path=/trunk/; revision=18829

reactos/w32api/include/ddk/dvp.h

index a916131..a729fab 100644 (file)
@@ -1,5 +1,5 @@
 
-/* $Id$
+/* $Id$
  *
  * COPYRIGHT:            See COPYING in the top level directory
  * PROJECT:              ReactOS kernel
@@ -207,4 +207,61 @@ typedef struct _DDVIDEOPORTBANDWIDTH *LPDDVIDEOPORTBANDWIDTH;
 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__