diff --git a/dlls/dmusic/dmusic_misc.c b/dlls/dmusic/dmusic_misc.c index a9417bc02d3..fed87b51081 100644 --- a/dlls/dmusic/dmusic_misc.c +++ b/dlls/dmusic/dmusic_misc.c @@ -37,7 +37,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(dmusic); /* IReferenceClock IUnknown parts follow: */ -HRESULT WINAPI IReferenceClockImpl_QueryInterface (LPREFERENCECLOCK iface, REFIID riid, LPVOID *ppobj) +HRESULT WINAPI IReferenceClockImpl_QueryInterface (IReferenceClock *iface, REFIID riid, LPVOID *ppobj) { ICOM_THIS(IReferenceClockImpl,iface); @@ -52,14 +52,14 @@ HRESULT WINAPI IReferenceClockImpl_QueryInterface (LPREFERENCECLOCK iface, REFII return E_NOINTERFACE; } -ULONG WINAPI IReferenceClockImpl_AddRef (LPREFERENCECLOCK iface) +ULONG WINAPI IReferenceClockImpl_AddRef (IReferenceClock *iface) { ICOM_THIS(IReferenceClockImpl,iface); TRACE("(%p) : AddRef from %ld\n", This, This->ref); return ++(This->ref); } -ULONG WINAPI IReferenceClockImpl_Release (LPREFERENCECLOCK iface) +ULONG WINAPI IReferenceClockImpl_Release (IReferenceClock *iface) { ICOM_THIS(IReferenceClockImpl,iface); ULONG ref = --This->ref; @@ -72,7 +72,7 @@ ULONG WINAPI IReferenceClockImpl_Release (LPREFERENCECLOCK iface) } /* IReferenceClock Interface follow: */ -HRESULT WINAPI IReferenceClockImpl_GetTime (LPREFERENCECLOCK iface, REFERENCE_TIME* pTime) +HRESULT WINAPI IReferenceClockImpl_GetTime (IReferenceClock *iface, REFERENCE_TIME* pTime) { ICOM_THIS(IReferenceClockImpl,iface); @@ -81,7 +81,7 @@ HRESULT WINAPI IReferenceClockImpl_GetTime (LPREFERENCECLOCK iface, REFERENCE_TI return S_OK; } -HRESULT WINAPI IReferenceClockImpl_AdviseTime (LPREFERENCECLOCK iface, REFERENCE_TIME baseTime, REFERENCE_TIME streamTime, HANDLE hEvent, DWORD* pdwAdviseCookie) +HRESULT WINAPI IReferenceClockImpl_AdviseTime (IReferenceClock *iface, REFERENCE_TIME baseTime, REFERENCE_TIME streamTime, HANDLE hEvent, DWORD* pdwAdviseCookie) { ICOM_THIS(IReferenceClockImpl,iface); @@ -90,7 +90,7 @@ HRESULT WINAPI IReferenceClockImpl_AdviseTime (LPREFERENCECLOCK iface, REFERENCE return S_OK; } -HRESULT WINAPI IReferenceClockImpl_AdvisePeriodic (LPREFERENCECLOCK iface, REFERENCE_TIME startTime, REFERENCE_TIME periodTime, HANDLE hSemaphore, DWORD* pdwAdviseCookie) +HRESULT WINAPI IReferenceClockImpl_AdvisePeriodic (IReferenceClock *iface, REFERENCE_TIME startTime, REFERENCE_TIME periodTime, HANDLE hSemaphore, DWORD* pdwAdviseCookie) { ICOM_THIS(IReferenceClockImpl,iface); @@ -99,7 +99,7 @@ HRESULT WINAPI IReferenceClockImpl_AdvisePeriodic (LPREFERENCECLOCK iface, REFER return S_OK; } -HRESULT WINAPI IReferenceClockImpl_Unadvise (LPREFERENCECLOCK iface, DWORD dwAdviseCookie) +HRESULT WINAPI IReferenceClockImpl_Unadvise (IReferenceClock *iface, DWORD dwAdviseCookie) { ICOM_THIS(IReferenceClockImpl,iface); diff --git a/dlls/dmusic/dmusic_private.h b/dlls/dmusic/dmusic_private.h index eb714cd4821..ed33eb57ca5 100644 --- a/dlls/dmusic/dmusic_private.h +++ b/dlls/dmusic/dmusic_private.h @@ -497,14 +497,14 @@ struct IReferenceClockImpl }; /* IUnknown: */ -extern HRESULT WINAPI IReferenceClockImpl_QueryInterface (LPREFERENCECLOCK iface, REFIID riid, LPVOID *ppobj); -extern ULONG WINAPI IReferenceClockImpl_AddRef (LPREFERENCECLOCK iface); -extern ULONG WINAPI IReferenceClockImpl_Release (LPREFERENCECLOCK iface); +extern HRESULT WINAPI IReferenceClockImpl_QueryInterface (IReferenceClock *iface, REFIID riid, LPVOID *ppobj); +extern ULONG WINAPI IReferenceClockImpl_AddRef (IReferenceClock *iface); +extern ULONG WINAPI IReferenceClockImpl_Release (IReferenceClock *iface); /* IReferenceClock: */ -extern HRESULT WINAPI IReferenceClockImpl_GetTime (LPREFERENCECLOCK iface, REFERENCE_TIME* pTime); -extern HRESULT WINAPI IReferenceClockImpl_AdviseTime (LPREFERENCECLOCK iface, REFERENCE_TIME baseTime, REFERENCE_TIME streamTime, HANDLE hEvent, DWORD* pdwAdviseCookie); -extern HRESULT WINAPI IReferenceClockImpl_AdvisePeriodic (LPREFERENCECLOCK iface, REFERENCE_TIME startTime, REFERENCE_TIME periodTime, HANDLE hSemaphore, DWORD* pdwAdviseCookie); -extern HRESULT WINAPI IReferenceClockImpl_Unadvise (LPREFERENCECLOCK iface, DWORD dwAdviseCookie); +extern HRESULT WINAPI IReferenceClockImpl_GetTime (IReferenceClock *iface, REFERENCE_TIME* pTime); +extern HRESULT WINAPI IReferenceClockImpl_AdviseTime (IReferenceClock *iface, REFERENCE_TIME baseTime, REFERENCE_TIME streamTime, HANDLE hEvent, DWORD* pdwAdviseCookie); +extern HRESULT WINAPI IReferenceClockImpl_AdvisePeriodic (IReferenceClock *iface, REFERENCE_TIME startTime, REFERENCE_TIME periodTime, HANDLE hSemaphore, DWORD* pdwAdviseCookie); +extern HRESULT WINAPI IReferenceClockImpl_Unadvise (IReferenceClock *iface, DWORD dwAdviseCookie); /***************************************************************************** diff --git a/include/axextend.idl b/include/axextend.idl index 9466e992c8f..9ccc9716d51 100644 --- a/include/axextend.idl +++ b/include/axextend.idl @@ -893,3 +893,36 @@ interface IResourceManager : IUnknown [in] IUnknown* pFocusObject); } + +cpp_quote("#ifndef _IKsPropertySet_") +cpp_quote("#define _IKsPropertySet_") +cpp_quote("#define KSPROPERTY_SUPPORT_GET 1") +cpp_quote("#define KSPROPERTY_SUPPORT_SET 2") + +[ + object, + uuid(31efac30-515c-11d0-a9aa-00aa0061be93), + pointer_default(unique) +] +interface IKsPropertySet : IUnknown +{ + HRESULT Set( [in] REFGUID guidPropSet, + [in] DWORD dwPropID, + [in, size_is(cbInstanceData)] LPVOID pInstanceData, + [in] DWORD cbInstanceData, + [in, size_is(cbPropData)] LPVOID pPropData, + [in] DWORD cbPropData ); + + HRESULT Get( [in] REFGUID guidPropSet, + [in] DWORD dwPropID, + [in, size_is(cbInstanceData)] LPVOID pInstanceData, + [in] DWORD cbInstanceData, + [out, size_is(cbPropData)] LPVOID pPropData, + [in] DWORD cbPropData, + [out] DWORD *pcbReturned ); + + HRESULT QuerySupported( [in] REFGUID guidPropSet, + [in] DWORD dwPropID, + [out] DWORD *pTypeSupport); +} +cpp_quote("#endif /* _IKsPropertySet_ */") diff --git a/include/dmusicc.h b/include/dmusicc.h index c0008c2d340..d2d3af761a6 100644 --- a/include/dmusicc.h +++ b/include/dmusicc.h @@ -43,8 +43,11 @@ DEFINE_GUID(CLSID_DirectMusic, 0x636b9f10, 0x0c7d, 0x11d1, 0x95, 0xb2, 0x00 DEFINE_GUID(CLSID_DirectMusicCollection, 0x480ff4b0, 0x28b2, 0x11d1, 0xbe, 0xf7, 0x0, 0xc0, 0x4f, 0xbf, 0x8f, 0xef); DEFINE_GUID(CLSID_DirectMusicSynth, 0x58C2B4D0, 0x46E7, 0x11D1, 0x89, 0xAC, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x29); -DEFINE_GUID(IID_IReferenceClock, 0x56a86897,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70); -typedef struct IReferenceClock IReferenceClock, *LPREFERENCECLOCK; +#ifndef __IReferenceClock_FWD_DEFINED__ +#define __IReferenceClock_FWD_DEFINED__ +typedef struct IReferenceClock IReferenceClock; +#endif + DEFINE_GUID(IID_IDirectMusic, 0x6536115a,0x7b2d,0x11d2,0xba,0x18,0x00,0x00,0xf8,0x75,0xac,0x12); typedef struct IDirectMusic IDirectMusic, *LPDIRECTMUSIC; DEFINE_GUID(IID_IDirectMusicBuffer, 0xd2ac2878,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd); @@ -635,6 +638,8 @@ ICOM_DEFINE(IDirectMusicThru,IUnknown) #ifndef __IReferenceClock_INTERFACE_DEFINED__ #define __IReferenceClock_INTERFACE_DEFINED__ +DEFINE_GUID(IID_IReferenceClock,0x56a86897,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70); + /***************************************************************************** * IReferenceClock interface */ diff --git a/include/dsound.h b/include/dsound.h index 7c11240ee4c..cb7fbfacdb3 100644 --- a/include/dsound.h +++ b/include/dsound.h @@ -76,9 +76,6 @@ DEFINE_GUID(IID_IDirectSoundFullDuplex, 0xEDCB4C7A,0xDAAB,0x4216,0xA4,0x2E,0x6C, typedef struct IDirectSoundFullDuplex IDirectSoundFullDuplex,*LPDIRECTSOUNDFULLDUPLEX; #define IID_IDirectSoundFullDuplex8 IID_IDirectSoundFullDuplex -DEFINE_GUID(IID_IKsPropertySet, 0x31EFAC30,0x515C,0x11D0,0xA9,0xAA,0x00,0xAA,0x00,0x61,0xBE,0x93); -typedef struct IKsPropertySet IKsPropertySet,*LPKSPROPERTYSET; - DEFINE_GUID(DSDEVID_DefaultPlayback, 0xDEF00000,0x9C6D,0x47Ed,0xAA,0xF1,0x4D,0xDA,0x8F,0x2B,0x5C,0x03); DEFINE_GUID(DSDEVID_DefaultCapture, 0xDEF00001,0x9C6D,0x47Ed,0xAA,0xF1,0x4D,0xDA,0x8F,0x2B,0x5C,0x03); DEFINE_GUID(DSDEVID_DefaultVoicePlayback,0xDEF00002,0x9C6D,0x47Ed,0xAA,0xF1,0x4D,0xDA,0x8F,0x2B,0x5C,0x03); @@ -779,6 +776,13 @@ ICOM_DEFINE(IDirectSound3DBuffer,IUnknown) /***************************************************************************** * IKsPropertySet interface */ +#ifndef _IKsPropertySet_ +#define _IKsPropertySet_ + +typedef struct IKsPropertySet IKsPropertySet,*LPKSPROPERTYSET; + +DEFINE_GUID(IID_IKsPropertySet,0x31EFAC30,0x515C,0x11D0,0xA9,0xAA,0x00,0xAA,0x00,0x61,0xBE,0x93); + #define KSPROPERTY_SUPPORT_GET 1 #define KSPROPERTY_SUPPORT_SET 2 @@ -800,6 +804,7 @@ ICOM_DEFINE(IKsPropertySet,IUnknown) #define IKsPropertySet_QuerySupport(p,a,b,c) (p)->lpVtbl->QuerySupport(p,a,b,c) #endif +#endif /* _IKsPropertySet_ */ /***************************************************************************** * IDirectSoundFullDuplex interface diff --git a/include/strmif.h b/include/strmif.h index d691332c080..4e4a44114a6 100644 --- a/include/strmif.h +++ b/include/strmif.h @@ -7020,6 +7020,154 @@ void __RPC_STUB IResourceManager_ReleaseFocus_Stub( #endif /* __IResourceManager_INTERFACE_DEFINED__ */ +#ifndef _IKsPropertySet_ +#define _IKsPropertySet_ +#define KSPROPERTY_SUPPORT_GET 1 +#define KSPROPERTY_SUPPORT_SET 2 +/***************************************************************************** + * IKsPropertySet interface + */ +#ifndef __IKsPropertySet_INTERFACE_DEFINED__ +#define __IKsPropertySet_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9,0xaa, 0x00,0xaa,0x00,0x61,0xbe,0x93); +#if defined(__cplusplus) && !defined(CINTERFACE) +struct IKsPropertySet : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Set( + REFGUID guidPropSet, + DWORD dwPropID, + LPVOID pInstanceData, + DWORD cbInstanceData, + LPVOID pPropData, + DWORD cbPropData) = 0; + + virtual HRESULT STDMETHODCALLTYPE Get( + REFGUID guidPropSet, + DWORD dwPropID, + LPVOID pInstanceData, + DWORD cbInstanceData, + LPVOID pPropData, + DWORD cbPropData, + DWORD* pcbReturned) = 0; + + virtual HRESULT STDMETHODCALLTYPE QuerySupported( + REFGUID guidPropSet, + DWORD dwPropID, + DWORD* pTypeSupport) = 0; + +}; +#else +typedef struct IKsPropertySetVtbl IKsPropertySetVtbl; +struct IKsPropertySet { + const IKsPropertySetVtbl* lpVtbl; +}; +struct IKsPropertySetVtbl { + ICOM_MSVTABLE_COMPAT_FIELDS + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IKsPropertySet* This, + REFIID riid, + void** ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IKsPropertySet* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IKsPropertySet* This); + + /*** IKsPropertySet methods ***/ + HRESULT (STDMETHODCALLTYPE *Set)( + IKsPropertySet* This, + REFGUID guidPropSet, + DWORD dwPropID, + LPVOID pInstanceData, + DWORD cbInstanceData, + LPVOID pPropData, + DWORD cbPropData); + + HRESULT (STDMETHODCALLTYPE *Get)( + IKsPropertySet* This, + REFGUID guidPropSet, + DWORD dwPropID, + LPVOID pInstanceData, + DWORD cbInstanceData, + LPVOID pPropData, + DWORD cbPropData, + DWORD* pcbReturned); + + HRESULT (STDMETHODCALLTYPE *QuerySupported)( + IKsPropertySet* This, + REFGUID guidPropSet, + DWORD dwPropID, + DWORD* pTypeSupport); + +}; + +/*** IUnknown methods ***/ +#define IKsPropertySet_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IKsPropertySet_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IKsPropertySet_Release(p) (p)->lpVtbl->Release(p) +/*** IKsPropertySet methods ***/ +#define IKsPropertySet_Set(p,a,b,c,d,e,f) (p)->lpVtbl->Set(p,a,b,c,d,e,f) +#define IKsPropertySet_Get(p,a,b,c,d,e,f,g) (p)->lpVtbl->Get(p,a,b,c,d,e,f,g) +#define IKsPropertySet_QuerySupported(p,a,b,c) (p)->lpVtbl->QuerySupported(p,a,b,c) + +#endif + +#define IKsPropertySet_METHODS \ + ICOM_MSVTABLE_COMPAT_FIELDS \ + /*** IUnknown methods ***/ \ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ + STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ + STDMETHOD_(ULONG,Release)(THIS) PURE; \ + /*** IKsPropertySet methods ***/ \ + STDMETHOD_(HRESULT,Set)(THIS_ REFGUID guidPropSet, DWORD dwPropID, LPVOID pInstanceData, DWORD cbInstanceData, LPVOID pPropData, DWORD cbPropData) PURE; \ + STDMETHOD_(HRESULT,Get)(THIS_ REFGUID guidPropSet, DWORD dwPropID, LPVOID pInstanceData, DWORD cbInstanceData, LPVOID pPropData, DWORD cbPropData, DWORD* pcbReturned) PURE; \ + STDMETHOD_(HRESULT,QuerySupported)(THIS_ REFGUID guidPropSet, DWORD dwPropID, DWORD* pTypeSupport) PURE; + +HRESULT CALLBACK IKsPropertySet_Set_Proxy( + IKsPropertySet* This, + REFGUID guidPropSet, + DWORD dwPropID, + LPVOID pInstanceData, + DWORD cbInstanceData, + LPVOID pPropData, + DWORD cbPropData); +void __RPC_STUB IKsPropertySet_Set_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IKsPropertySet_Get_Proxy( + IKsPropertySet* This, + REFGUID guidPropSet, + DWORD dwPropID, + LPVOID pInstanceData, + DWORD cbInstanceData, + LPVOID pPropData, + DWORD cbPropData, + DWORD* pcbReturned); +void __RPC_STUB IKsPropertySet_Get_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IKsPropertySet_QuerySupported_Proxy( + IKsPropertySet* This, + REFGUID guidPropSet, + DWORD dwPropID, + DWORD* pTypeSupport); +void __RPC_STUB IKsPropertySet_QuerySupported_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IKsPropertySet_INTERFACE_DEFINED__ */ + +#endif /* _IKsPropertySet_ */ #ifndef __IPinConnection_FWD_DEFINED__ #define __IPinConnection_FWD_DEFINED__ typedef struct IPinConnection IPinConnection; diff --git a/include/uuids.h b/include/uuids.h index 07442f7e8c0..44d678de9cd 100644 --- a/include/uuids.h +++ b/include/uuids.h @@ -270,9 +270,7 @@ OUR_GUID_ENTRY(CLSID_VideoProcAmpPropertyPage, 0x71f96464, 0x78f3, 0x11d0, OUR_GUID_ENTRY(CLSID_CameraControlPropertyPage, 0x71f96465, 0x78f3, 0x11d0, 0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56) OUR_GUID_ENTRY(CLSID_AnalogVideoDecoderPropertyPage, 0x71f96466, 0x78f3, 0x11d0, 0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56) OUR_GUID_ENTRY(CLSID_VideoStreamConfigPropertyPage, 0x71f96467, 0x78f3, 0x11d0, 0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56) -OUR_GUID_ENTRY(IID_IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70) OUR_GUID_ENTRY(IID_IMediaControl, 0x56a868b1, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70) -OUR_GUID_ENTRY(IID_IMediaSeeking, 0x36b73880, 0xc2c8, 0x11cf, 0x8b, 0x46, 0x00, 0x80, 0x5f, 0x6c, 0xef, 0x60) OUR_GUID_ENTRY(IID_IBasicVideo, 0x56a868b5, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70) OUR_GUID_ENTRY(IID_IVideoWindow, 0x56a868b4, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70) OUR_GUID_ENTRY(IID_IMediaEvent, 0x56a868b6, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70) diff --git a/libs/uuid/uuid.c b/libs/uuid/uuid.c index 22278c5acf1..4f9b207a868 100644 --- a/libs/uuid/uuid.c +++ b/libs/uuid/uuid.c @@ -58,11 +58,14 @@ DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0); #include "vfw.h" -/* for dshow */ -/*#include "strmif.h"*/ -/*#include "control.h"*/ #include "uuids.h" +/* the GUID for these interfaces are already defined by dxguid.c */ +#define __IReferenceClock_INTERFACE_DEFINED__ +#define __IKsPropertySet_INTERFACE_DEFINED__ +#include "strmif.h" +#include "control.h" + /* GUIDs not declared in an exported header file */ DEFINE_GUID(IID_IDirectPlaySP,0xc9f6360,0xcc61,0x11cf,0xac,0xec,0x00,0xaa,0x00,0x68,0x86,0xe3); DEFINE_GUID(IID_ISFHelper,0x1fe68efb,0x1874,0x9812,0x56,0xdc,0x00,0x00,0x00,0x00,0x00,0x00);