From 4b06d87aadadcb896f884159e39580796b1e8331 Mon Sep 17 00:00:00 2001 From: Maarten Bosma Date: Fri, 28 Oct 2005 12:09:22 +0000 Subject: [PATCH] Implement some DirectDraw related COM-Interfaces. svn path=/trunk/; revision=18829 --- reactos/w32api/include/ddk/dvp.h | 61 ++++++++++++++++++++++++++++++-- 1 file changed, 59 insertions(+), 2 deletions(-) diff --git a/reactos/w32api/include/ddk/dvp.h b/reactos/w32api/include/ddk/dvp.h index a916131c7b6..a729fab9c3e 100644 --- a/reactos/w32api/include/ddk/dvp.h +++ b/reactos/w32api/include/ddk/dvp.h @@ -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__