| /* $Id$ | |
| * | |
| * COPYRIGHT: This file is in the public domain. | |
| * PROJECT: ReactOS kernel | |
| * FILE: | |
| * PURPOSE: Directx headers | |
| * PROGRAMMER: Magnus Olsen (greatlrd) | |
| * | |
| */ | |
| #ifndef __DVP_INCLUDED__ | |
| #define __DVP_INCLUDED__ | |
| #if defined( _WIN32 ) && !defined( _NO_COM ) | |
| DEFINE_GUID(IID_IDDVideoPortContainer, 0x6C142760,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60); | |
| DEFINE_GUID(IID_IDirectDrawVideoPort, 0xB36D93E0,0x2B43,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xB9,0x33,0x56); | |
| DEFINE_GUID(IID_IDirectDrawVideoPortNotify, 0xA655FB94,0x0589,0x4E57,0xB3,0x33,0x56,0x7A,0x89,0x46,0x8C,0x88); | |
| DEFINE_GUID(DDVPTYPE_E_HREFH_VREFH, 0x54F39980L,0xDA60,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8); | |
| DEFINE_GUID(DDVPTYPE_E_HREFH_VREFL, 0x92783220L,0xDA60,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8); | |
| DEFINE_GUID(DDVPTYPE_E_HREFL_VREFH, 0xA07A02E0L,0xDA60,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8); | |
| DEFINE_GUID(DDVPTYPE_E_HREFL_VREFL, 0xE09C77E0L,0xDA60,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8); | |
| DEFINE_GUID(DDVPTYPE_CCIR656, 0xFCA326A0L,0xDA60,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8); | |
| DEFINE_GUID(DDVPTYPE_BROOKTREE, 0x1352A560L,0xDA61,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8); | |
| DEFINE_GUID(DDVPTYPE_PHILIPS, 0x332CF160L,0xDA61,0x11CF,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8); | |
| #endif | |
| #ifndef GUID_DEFS_ONLY | |
| #if defined(_WIN32) && !defined(_NO_COM) | |
| #define COM_NO_WINDOWS_H | |
| #include <objbase.h> | |
| #else | |
| #define IUnknown void | |
| #endif /* _WIN32 && !_NO_COM */ | |
| #ifndef MAXULONG_PTR | |
| #define ULONG_PTR DWORD | |
| #endif | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| typedef struct _DDVIDEOPORTCONNECT | |
| { | |
| DWORD dwSize; | |
| DWORD dwPortWidth; | |
| GUID guidTypeID; | |
| DWORD dwFlags; | |
| ULONG_PTR dwReserved1; | |
| } DDVIDEOPORTCONNECT, *LPDDVIDEOPORTCONNECT; | |
| typedef struct _DDVIDEOPORTDESC | |
| { | |
| DWORD dwSize; | |
| DWORD dwFieldWidth; | |
| DWORD dwVBIWidth; | |
| DWORD dwFieldHeight; | |
| DWORD dwMicrosecondsPerField; | |
| DWORD dwMaxPixelsPerSecond; | |
| DWORD dwVideoPortID; | |
| DWORD dwReserved1; | |
| DDVIDEOPORTCONNECT VideoPortType; | |
| ULONG_PTR dwReserved2; | |
| ULONG_PTR dwReserved3; | |
| } DDVIDEOPORTDESC, *LPDDVIDEOPORTDESC; | |
| typedef struct _DDVIDEOPORTBANDWIDTH | |
| { | |
| DWORD dwSize; | |
| DWORD dwOverlay; | |
| DWORD dwColorkey; | |
| DWORD dwYInterpolate; | |
| DWORD dwYInterpAndColorkey; | |
| ULONG_PTR dwReserved1; | |
| ULONG_PTR dwReserved2; | |
| } DDVIDEOPORTBANDWIDTH, *LPDDVIDEOPORTBANDWIDTH; | |
| typedef struct _DDVIDEOPORTCAPS | |
| { | |
| DWORD dwSize; | |
| DWORD dwFlags; | |
| DWORD dwMaxWidth; | |
| DWORD dwMaxVBIWidth; | |
| DWORD dwMaxHeight; | |
| DWORD dwVideoPortID; | |
| DWORD dwCaps; | |
| DWORD dwFX; | |
| DWORD dwNumAutoFlipSurfaces; | |
| DWORD dwAlignVideoPortBoundary; | |
| DWORD dwAlignVideoPortPrescaleWidth; | |
| DWORD dwAlignVideoPortCropBoundary; | |
| DWORD dwAlignVideoPortCropWidth; | |
| DWORD dwPreshrinkXStep; | |
| DWORD dwPreshrinkYStep; | |
| DWORD dwNumVBIAutoFlipSurfaces; | |
| DWORD dwNumPreferredAutoflip; | |
| WORD wNumFilterTapsX; | |
| WORD wNumFilterTapsY; | |
| } DDVIDEOPORTCAPS, *LPDDVIDEOPORTCAPS; | |
| typedef struct _DDVIDEOPORTINFO | |
| { | |
| DWORD dwSize; | |
| DWORD dwOriginX; | |
| DWORD dwOriginY; | |
| DWORD dwVPFlags; | |
| RECT rCrop; | |
| DWORD dwPrescaleWidth; | |
| DWORD dwPrescaleHeight; | |
| LPDDPIXELFORMAT lpddpfInputFormat; | |
| LPDDPIXELFORMAT lpddpfVBIInputFormat; | |
| LPDDPIXELFORMAT lpddpfVBIOutputFormat; | |
| DWORD dwVBIHeight; | |
| ULONG_PTR dwReserved1; | |
| ULONG_PTR dwReserved2; | |
| } DDVIDEOPORTINFO, *LPDDVIDEOPORTINFO; | |
| typedef struct _DDVIDEOPORTSTATUS | |
| { | |
| DWORD dwSize; | |
| WINBOOL bInUse; | |
| DWORD dwFlags; | |
| DWORD dwReserved1; | |
| DDVIDEOPORTCONNECT VideoPortType; | |
| ULONG_PTR dwReserved2; | |
| ULONG_PTR dwReserved3; | |
| } DDVIDEOPORTSTATUS, *LPDDVIDEOPORTSTATUS; | |
| typedef struct _DDVIDEOPORTNOTIFY | |
| { | |
| LARGE_INTEGER ApproximateTimeStamp; | |
| LONG lField; | |
| UINT dwSurfaceIndex; | |
| LONG lDone; | |
| } DDVIDEOPORTNOTIFY, *LPDDVIDEOPORTNOTIFY; | |
| #define DDVPD_WIDTH 0x00000001 | |
| #define DDVPD_HEIGHT 0x00000002 | |
| #define DDVPD_ID 0x00000004 | |
| #define DDVPD_CAPS 0x00000008 | |
| #define DDVPD_FX 0x00000010 | |
| #define DDVPD_AUTOFLIP 0x00000020 | |
| #define DDVPD_ALIGN 0x00000040 | |
| #define DDVPD_PREFERREDAUTOFLIP 0x00000080 | |
| #define DDVPD_FILTERQUALITY 0x00000100 | |
| #define DDVPCONNECT_DOUBLECLOCK 0x00000001 | |
| #define DDVPCONNECT_VACT 0x00000002 | |
| #define DDVPCONNECT_INVERTPOLARITY 0x00000004 | |
| #define DDVPCONNECT_DISCARDSVREFDATA 0x00000008 | |
| #define DDVPCONNECT_HALFLINE 0x00000010 | |
| #define DDVPCONNECT_INTERLACED 0x00000020 | |
| #define DDVPCONNECT_SHAREEVEN 0x00000040 | |
| #define DDVPCONNECT_SHAREODD 0x00000080 | |
| #define DDVPCAPS_AUTOFLIP 0x00000001 | |
| #define DDVPCAPS_INTERLACED 0x00000002 | |
| #define DDVPCAPS_NONINTERLACED 0x00000004 | |
| #define DDVPCAPS_READBACKFIELD 0x00000008 | |
| #define DDVPCAPS_READBACKLINE 0x00000010 | |
| #define DDVPCAPS_SHAREABLE 0x00000020 | |
| #define DDVPCAPS_SKIPEVENFIELDS 0x00000040 | |
| #define DDVPCAPS_SKIPODDFIELDS 0x00000080 | |
| #define DDVPCAPS_SYNCMASTER 0x00000100 | |
| #define DDVPCAPS_VBISURFACE 0x00000200 | |
| #define DDVPCAPS_COLORCONTROL 0x00000400 | |
| #define DDVPCAPS_OVERSAMPLEDVBI 0x00000800 | |
| #define DDVPCAPS_SYSTEMMEMORY 0x00001000 | |
| #define DDVPCAPS_VBIANDVIDEOINDEPENDENT 0x00002000 | |
| #define DDVPCAPS_HARDWAREDEINTERLACE 0x00004000 | |
| #define DDVPFX_CROPTOPDATA 0x00000001 | |
| #define DDVPFX_CROPX 0x00000002 | |
| #define DDVPFX_CROPY 0x00000004 | |
| #define DDVPFX_INTERLEAVE 0x00000008 | |
| #define DDVPFX_MIRRORLEFTRIGHT 0x00000010 | |
| #define DDVPFX_MIRRORUPDOWN 0x00000020 | |
| #define DDVPFX_PRESHRINKX 0x00000040 | |
| #define DDVPFX_PRESHRINKY 0x00000080 | |
| #define DDVPFX_PRESHRINKXB 0x00000100 | |
| #define DDVPFX_PRESHRINKYB 0x00000200 | |
| #define DDVPFX_PRESHRINKXS 0x00000400 | |
| #define DDVPFX_PRESHRINKYS 0x00000800 | |
| #define DDVPFX_PRESTRETCHX 0x00001000 | |
| #define DDVPFX_PRESTRETCHY 0x00002000 | |
| #define DDVPFX_PRESTRETCHXN 0x00004000 | |
| #define DDVPFX_PRESTRETCHYN 0x00008000 | |
| #define DDVPFX_VBICONVERT 0x00010000 | |
| #define DDVPFX_VBINOSCALE 0x00020000 | |
| #define DDVPFX_IGNOREVBIXCROP 0x00040000 | |
| #define DDVPFX_VBINOINTERLEAVE 0x00080000 | |
| #define DDVP_AUTOFLIP 0x00000001 | |
| #define DDVP_CONVERT 0x00000002 | |
| #define DDVP_CROP 0x00000004 | |
| #define DDVP_INTERLEAVE 0x00000008 | |
| #define DDVP_MIRRORLEFTRIGHT 0x00000010 | |
| #define DDVP_MIRRORUPDOWN 0x00000020 | |
| #define DDVP_PRESCALE 0x00000040 | |
| #define DDVP_SKIPEVENFIELDS 0x00000080 | |
| #define DDVP_SKIPODDFIELDS 0x00000100 | |
| #define DDVP_SYNCMASTER 0x00000200 | |
| #define DDVP_VBICONVERT 0x00000400 | |
| #define DDVP_VBINOSCALE 0x00000800 | |
| #define DDVP_OVERRIDEBOBWEAVE 0x00001000 | |
| #define DDVP_IGNOREVBIXCROP 0x00002000 | |
| #define DDVP_VBINOINTERLEAVE 0x00004000 | |
| #define DDVP_HARDWAREDEINTERLACE 0x00008000 | |
| #define DDVPFORMAT_VIDEO 0x00000001 | |
| #define DDVPFORMAT_VBI 0x00000002 | |
| #define DDVPTARGET_VIDEO 0x00000001 | |
| #define DDVPTARGET_VBI 0x00000002 | |
| #define DDVPWAIT_BEGIN 0x00000001 | |
| #define DDVPWAIT_END 0x00000002 | |
| #define DDVPWAIT_LINE 0x00000003 | |
| #define DDVPFLIP_VIDEO 0x00000001 | |
| #define DDVPFLIP_VBI 0x00000002 | |
| #define DDVPSQ_NOSIGNAL 0x00000001 | |
| #define DDVPSQ_SIGNALOK 0x00000002 | |
| #define DDVPB_VIDEOPORT 0x00000001 | |
| #define DDVPB_OVERLAY 0x00000002 | |
| #define DDVPB_TYPE 0x00000004 | |
| #define DDVPBCAPS_SOURCE 0x00000001 | |
| #define DDVPBCAPS_DESTINATION 0x00000002 | |
| #define DDVPCREATE_VBIONLY 0x00000001 | |
| #define DDVPCREATE_VIDEOONLY 0x00000002 | |
| #define DDVPSTATUS_VBIONLY 0x00000001 | |
| #define DDVPSTATUS_VIDEOONLY 0x00000002 | |
| struct IDirectDraw; | |
| struct IDirectDrawSurface; | |
| struct IDirectDrawPalette; | |
| struct IDirectDrawClipper; | |
| typedef struct IDirectDrawVideoPort *LPDIRECTDRAWVIDEOPORT; | |
| typedef struct IDDVideoPortContainer *LPDDVIDEOPORTCONTAINER; | |
| typedef struct IDirectDrawVideoPortNotify *LPDIRECTDRAWVIDEOPORTNOTIFY; | |
| typedef struct IDDVideoPortContainerVtbl DDVIDEOPORTCONTAINERCALLBACKS; | |
| typedef struct IDirectDrawVideoPortVtbl DIRECTDRAWVIDEOPORTCALLBACKS; | |
| typedef struct IDirectDrawVideoPortNotifyVtbl DIRECTDRAWVIDEOPORTNOTIFYCALLBACKS; | |
| typedef HRESULT (*LPDDENUMVIDEOCALLBACK)(LPDDVIDEOPORTCAPS, LPVOID); | |
| #if defined( _WIN32 ) && !defined( _NO_COM ) | |
| #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; | |
| }; | |
| #if !defined(__cplusplus) || defined(CINTERFACE) | |
| # define IVideoPortContainer_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b) | |
| # define IVideoPortContainer_AddRef(p) (p)->lpVtbl->AddRef(p) | |
| # define IVideoPortContainer_Release(p) (p)->lpVtbl->Release(p) | |
| # define IVideoPortContainer_CreateVideoPort(p, a, b, c, d) (p)->lpVtbl->CreateVideoPort(p, a, b, c, d) | |
| # define IVideoPortContainer_EnumVideoPorts(p, a, b, c, d) (p)->lpVtbl->EnumVideoPorts(p, a, b, c, d) | |
| # define IVideoPortContainer_GetVideoPortConnectInfo(p, a, b, c) (p)->lpVtbl->GetVideoPortConnectInfo(p, a, b, c) | |
| # define IVideoPortContainer_QueryVideoPortStatus(p, a, b) (p)->lpVtbl->QueryVideoPortStatus(p, a, b) | |
| #else | |
| # define IVideoPortContainer_QueryInterface(p, a, b) (p)->QueryInterface(a, b) | |
| # define IVideoPortContainer_AddRef(p) (p)->AddRef() | |
| # define IVideoPortContainer_Release(p) (p)->Release() | |
| # define IVideoPortContainer_CreateVideoPort(p, a, b, c, d) (p)->CreateVideoPort(a, b, c, d) | |
| # define IVideoPortContainer_EnumVideoPorts(p, a, b, c, d) (p)->EnumVideoPorts(a, b, c, d) | |
| # define IVideoPortContainer_GetVideoPortConnectInfo(p, a, b, c) (p)->GetVideoPortConnectInfo(a, b, c) | |
| # define IVideoPortContainer_QueryVideoPortStatus(p, a, b) (p)->QueryVideoPortStatus(a, b) | |
| #endif /* !__cplusplus || defined(CINTERFACE) */ | |
| #endif /* defined( _WIN32 ) && !defined( _NO_COM ) */ | |
| #if defined( _WIN32 ) && !defined( _NO_COM ) | |
| #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; | |
| }; | |
| #if !defined(__cplusplus) || defined(CINTERFACE) | |
| # define IVideoPort_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) | |
| # define IVideoPort_AddRef(p) (p)->lpVtbl->AddRef(p) | |
| # define IVideoPort_Release(p) (p)->lpVtbl->Release(p) | |
| # define IVideoPort_SetTargetSurface(p,a,b) (p)->lpVtbl->SetTargetSurface(p,a,b) | |
| # define IVideoPort_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b) | |
| # define IVideoPort_GetBandwidthInfo(p,a,b,c,d,e) (p)->lpVtbl->GetBandwidthInfo(p,a,b,c,d,e) | |
| # define IVideoPort_GetColorControls(p,a) (p)->lpVtbl->GetColorControls(p,a) | |
| # define IVideoPort_GetInputFormats(p,a,b,c) (p)->lpVtbl->GetInputFormats(p,a,b,c) | |
| # define IVideoPort_GetOutputFormats(p,a,b,c,d) (p)->lpVtbl->GetOutputFormats(p,a,b,c,d) | |
| # define IVideoPort_GetFieldPolarity(p,a) (p)->lpVtbl->GetFieldPolarity(p,a) | |
| # define IVideoPort_GetVideoLine(p,a) (p)->lpVtbl->GetVideoLine(p,a) | |
| # define IVideoPort_GetVideoSignalStatus(p,a) (p)->lpVtbl->GetVideoSignalStatus(p,a) | |
| # define IVideoPort_SetColorControls(p,a) (p)->lpVtbl->SetColorControls(p,a) | |
| # define IVideoPort_StartVideo(p,a) (p)->lpVtbl->StartVideo(p,a) | |
| # define IVideoPort_StopVideo(p) (p)->lpVtbl->StopVideo(p) | |
| # define IVideoPort_UpdateVideo(p,a) (p)->lpVtbl->UpdateVideo(p,a) | |
| # define IVideoPort_WaitForSync(p,a,b,c) (p)->lpVtbl->WaitForSync(p,a,b,c) | |
| #else | |
| # define IVideoPort_QueryInterface(p,a,b) (p)->QueryInterface(a,b) | |
| # define IVideoPort_AddRef(p) (p)->AddRef() | |
| # define IVideoPort_Release(p) (p)->Release() | |
| # define IVideoPort_SetTargetSurface(p,a,b) (p)->SetTargetSurface(a,b) | |
| # define IVideoPort_Flip(p,a,b) (p)->Flip(a,b) | |
| # define IVideoPort_GetBandwidthInfo(p,a,b,c,d,e) (p)->GetBandwidthInfo(a,b,c,d,e) | |
| # define IVideoPort_GetColorControls(p,a) (p)->GetColorControls(a) | |
| # define IVideoPort_GetInputFormats(p,a,b,c) (p)->GetInputFormats(a,b,c) | |
| # define IVideoPort_GetOutputFormats(p,a,b,c,d) (p)->GetOutputFormats(a,b,c,d) | |
| # define IVideoPort_GetFieldPolarity(p,a) (p)->GetFieldPolarity(a) | |
| # define IVideoPort_GetVideoLine(p,a) (p)->GetVideoLine(a) | |
| # define IVideoPort_GetVideoSignalStatus(p,a) (p)->GetVideoSignalStatus(a) | |
| # define IVideoPort_SetColorControls(p,a) (p)->SetColorControls(a) | |
| # define IVideoPort_StartVideo(p,a) (p)->StartVideo(a) | |
| # define IVideoPort_StopVideo(p) (p)->StopVideo() | |
| # define IVideoPort_UpdateVideo(p,a) (p)->UpdateVideo(a) | |
| # define IVideoPort_WaitForSync(p,a,b,c) (p)->WaitForSync(a,b,c) | |
| #endif /* !__cplusplus || defined(CINTERFACE) */ | |
| #endif /* defined( _WIN32 ) && !defined( _NO_COM ) */ | |
| #if defined( _WIN32 ) && !defined( _NO_COM ) | |
| #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; | |
| }; | |
| #if !defined(__cplusplus) || defined(CINTERFACE) | |
| # define IVideoPortNotify_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) | |
| # define IVideoPortNotify_AddRef(p) (p)->lpVtbl->AddRef(p) | |
| # define IVideoPortNotify_Release(p) (p)->lpVtbl->Release(p) | |
| # define IVideoPortNotify_AcquireNotification(p,a,b) (p)->lpVtbl->AcquireNotification(p,a,b) | |
| # define IVideoPortNotify_ReleaseNotification(p,a) (p)->lpVtbl->ReleaseNotification(p,a) | |
| #else | |
| # define IVideoPortNotify_QueryInterface(p,a,b) (p)->QueryInterface(a,b) | |
| # define IVideoPortNotify_AddRef(p) (p)->AddRef() | |
| # define IVideoPortNotify_Release(p) (p)->Release() | |
| # define IVideoPortNotify_AcquireNotification(p,a,b) (p)->lpVtbl->AcquireNotification(a,b) | |
| # define IVideoPortNotify_ReleaseNotification(p,a) (p)->lpVtbl->ReleaseNotification(a) | |
| #endif /* !__cplusplus || defined(CINTERFACE) */ | |
| #endif /* defined( _WIN32 ) && !defined( _NO_COM ) */ | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif /* ! GUID_DEFS_ONLY */ | |
| #endif /* __DVP_INCLUDED__ */ | |