Added some stubs.
This commit is contained in:
parent
89b415f76a
commit
8eebd2c93d
|
@ -11,10 +11,16 @@ SYMBOLFILE = $(MODULE).tmp.o
|
|||
C_SRCS = \
|
||||
amerror.c \
|
||||
complist.c \
|
||||
devenum.c \
|
||||
fgraph.c \
|
||||
fmap.c \
|
||||
fmap2.c \
|
||||
ibasaud.c \
|
||||
ibasvid.c \
|
||||
idevenum.c \
|
||||
ifgraph.c \
|
||||
ifmap.c \
|
||||
ifmap3.c \
|
||||
imcntl.c \
|
||||
imem.c \
|
||||
imevent.c \
|
||||
|
@ -25,6 +31,7 @@ C_SRCS = \
|
|||
ividwin.c \
|
||||
main.c \
|
||||
memalloc.c \
|
||||
regsvr.c \
|
||||
sysclock.c
|
||||
|
||||
@MAKE_DLL_RULES@
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
/*
|
||||
* Implementation of CLSID_SystemDeviceEnum.
|
||||
*
|
||||
* FIXME - stub.
|
||||
*
|
||||
* hidenori@a2.ctktv.ne.jp
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winerror.h"
|
||||
#include "wine/obj_base.h"
|
||||
#include "wine/obj_oleaut.h"
|
||||
#include "strmif.h"
|
||||
#include "control.h"
|
||||
#include "uuids.h"
|
||||
|
||||
#include "debugtools.h"
|
||||
DEFAULT_DEBUG_CHANNEL(quartz);
|
||||
|
||||
#include "quartz_private.h"
|
||||
#include "devenum.h"
|
||||
|
||||
/* can I use offsetof safely? - FIXME? */
|
||||
static QUARTZ_IFEntry IFEntries[] =
|
||||
{
|
||||
{ &IID_ICreateDevEnum, offsetof(CSysDevEnum,createdevenum)-offsetof(CSysDevEnum,unk) },
|
||||
};
|
||||
|
||||
|
||||
static void QUARTZ_DestroySystemDeviceEnum(IUnknown* punk)
|
||||
{
|
||||
CSysDevEnum_THIS(punk,unk);
|
||||
|
||||
CSysDevEnum_UninitICreateDevEnum( This );
|
||||
}
|
||||
|
||||
HRESULT QUARTZ_CreateSystemDeviceEnum(IUnknown* punkOuter,void** ppobj)
|
||||
{
|
||||
CSysDevEnum* psde;
|
||||
|
||||
TRACE("(%p,%p)\n",punkOuter,ppobj);
|
||||
|
||||
psde = (CSysDevEnum*)QUARTZ_AllocObj( sizeof(CSysDevEnum) );
|
||||
if ( psde == NULL )
|
||||
return E_OUTOFMEMORY;
|
||||
|
||||
QUARTZ_IUnkInit( &psde->unk, punkOuter );
|
||||
|
||||
CSysDevEnum_InitICreateDevEnum( psde );
|
||||
|
||||
psde->unk.pEntries = IFEntries;
|
||||
psde->unk.dwEntries = sizeof(IFEntries)/sizeof(IFEntries[0]);
|
||||
psde->unk.pOnFinalRelease = QUARTZ_DestroySystemDeviceEnum;
|
||||
|
||||
*ppobj = (void*)(&psde->unk);
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
#ifndef WINE_DSHOW_DEVENUM_H
|
||||
#define WINE_DSHOW_DEVENUM_H
|
||||
|
||||
/*
|
||||
implements CLSID_SystemDeviceEnum.
|
||||
|
||||
- At least, the following interfaces should be implemented:
|
||||
|
||||
IUnknown
|
||||
+ ICreateDevEnum
|
||||
*/
|
||||
|
||||
#include "iunk.h"
|
||||
|
||||
typedef struct SDE_ICreateDevEnumImpl
|
||||
{
|
||||
ICOM_VFIELD(ICreateDevEnum);
|
||||
} SDE_ICreateDevEnumImpl;
|
||||
|
||||
typedef struct CSysDevEnum
|
||||
{
|
||||
QUARTZ_IUnkImpl unk;
|
||||
SDE_ICreateDevEnumImpl createdevenum;
|
||||
} CSysDevEnum;
|
||||
|
||||
#define CSysDevEnum_THIS(iface,member) CSysDevEnum* This = ((CSysDevEnum*)(((char*)iface)-offsetof(CSysDevEnum,member)))
|
||||
|
||||
HRESULT QUARTZ_CreateSystemDeviceEnum(IUnknown* punkOuter,void** ppobj);
|
||||
|
||||
|
||||
void CSysDevEnum_InitICreateDevEnum( CSysDevEnum* psde );
|
||||
void CSysDevEnum_UninitICreateDevEnum( CSysDevEnum* psde );
|
||||
|
||||
|
||||
#endif /* WINE_DSHOW_DEVENUM_H */
|
||||
|
|
@ -36,10 +36,26 @@ static QUARTZ_IFEntry IFEntries[] =
|
|||
{ &IID_IMediaPosition, offsetof(CFilterGraph,mediaposition)-offsetof(CFilterGraph,unk) },
|
||||
{ &IID_IMediaSeeking, offsetof(CFilterGraph,mediaseeking)-offsetof(CFilterGraph,unk) },
|
||||
{ &IID_IBasicVideo, offsetof(CFilterGraph,basvid)-offsetof(CFilterGraph,unk) },
|
||||
{ &IID_IBasicVideo2, offsetof(CFilterGraph,basvid)-offsetof(CFilterGraph,unk) },
|
||||
{ &IID_IBasicAudio, offsetof(CFilterGraph,basaud)-offsetof(CFilterGraph,unk) },
|
||||
{ &IID_IVideoWindow, offsetof(CFilterGraph,vidwin)-offsetof(CFilterGraph,unk) },
|
||||
};
|
||||
|
||||
|
||||
static void QUARTZ_DestroyFilterGraph(IUnknown* punk)
|
||||
{
|
||||
CFilterGraph_THIS(punk,unk);
|
||||
|
||||
CFilterGraph_UninitIFilterGraph2( This );
|
||||
CFilterGraph_UninitIMediaControl( This );
|
||||
CFilterGraph_UninitIMediaEventEx( This );
|
||||
CFilterGraph_UninitIMediaPosition( This );
|
||||
CFilterGraph_UninitIMediaSeeking( This );
|
||||
CFilterGraph_UninitIBasicVideo2( This );
|
||||
CFilterGraph_UninitIBasicAudio( This );
|
||||
CFilterGraph_UninitIVideoWindow( This );
|
||||
}
|
||||
|
||||
HRESULT QUARTZ_CreateFilterGraph(IUnknown* punkOuter,void** ppobj)
|
||||
{
|
||||
CFilterGraph* pfg;
|
||||
|
@ -62,8 +78,11 @@ HRESULT QUARTZ_CreateFilterGraph(IUnknown* punkOuter,void** ppobj)
|
|||
|
||||
pfg->unk.pEntries = IFEntries;
|
||||
pfg->unk.dwEntries = sizeof(IFEntries)/sizeof(IFEntries[0]);
|
||||
pfg->unk.pOnFinalRelease = QUARTZ_DestroyFilterGraph;
|
||||
|
||||
*ppobj = (void*)(&pfg->unk);
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -15,6 +15,10 @@
|
|||
+ IDispatch - IBasicVideo (pass to a renderer)
|
||||
+ IDispatch - IBasicAudio (pass to a renderer)
|
||||
+ IDispatch - IVideoWindow (pass to a renderer)
|
||||
(following interfaces are not implemented)
|
||||
+ IDispatch
|
||||
+ IMediaEventSink
|
||||
+ IGraphVerson
|
||||
*/
|
||||
|
||||
#include "iunk.h"
|
||||
|
@ -77,7 +81,7 @@ typedef struct CFilterGraph
|
|||
/* IMediaEvent fields. */
|
||||
/* IMediaPosition fields. */
|
||||
/* IMediaSeeking fields. */
|
||||
/* IBasicVideo fields. */
|
||||
/* IBasicVideo2 fields. */
|
||||
/* IBasicAudio fields. */
|
||||
/* IVideoWindow fields. */
|
||||
} CFilterGraph;
|
||||
|
@ -87,13 +91,21 @@ typedef struct CFilterGraph
|
|||
HRESULT QUARTZ_CreateFilterGraph(IUnknown* punkOuter,void** ppobj);
|
||||
|
||||
void CFilterGraph_InitIFilterGraph2( CFilterGraph* pfg );
|
||||
void CFilterGraph_UninitIFilterGraph2( CFilterGraph* pfg );
|
||||
void CFilterGraph_InitIMediaControl( CFilterGraph* pfg );
|
||||
void CFilterGraph_UninitIMediaControl( CFilterGraph* pfg );
|
||||
void CFilterGraph_InitIMediaEventEx( CFilterGraph* pfg );
|
||||
void CFilterGraph_UninitIMediaEventEx( CFilterGraph* pfg );
|
||||
void CFilterGraph_InitIMediaPosition( CFilterGraph* pfg );
|
||||
void CFilterGraph_UninitIMediaPosition( CFilterGraph* pfg );
|
||||
void CFilterGraph_InitIMediaSeeking( CFilterGraph* pfg );
|
||||
void CFilterGraph_UninitIMediaSeeking( CFilterGraph* pfg );
|
||||
void CFilterGraph_InitIBasicVideo2( CFilterGraph* pfg );
|
||||
void CFilterGraph_UninitIBasicVideo2( CFilterGraph* pfg );
|
||||
void CFilterGraph_InitIBasicAudio( CFilterGraph* pfg );
|
||||
void CFilterGraph_UninitIBasicAudio( CFilterGraph* pfg );
|
||||
void CFilterGraph_InitIVideoWindow( CFilterGraph* pfg );
|
||||
void CFilterGraph_UninitIVideoWindow( CFilterGraph* pfg );
|
||||
|
||||
|
||||
#endif /* WINE_DSHOW_FGRAPH_H */
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
* Implementation of CLSID_FilterMapper.
|
||||
*
|
||||
* FIXME - stub.
|
||||
*
|
||||
* hidenori@a2.ctktv.ne.jp
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winerror.h"
|
||||
#include "wine/obj_base.h"
|
||||
#include "wine/obj_oleaut.h"
|
||||
#include "strmif.h"
|
||||
#include "control.h"
|
||||
#include "uuids.h"
|
||||
|
||||
#include "debugtools.h"
|
||||
DEFAULT_DEBUG_CHANNEL(quartz);
|
||||
|
||||
#include "quartz_private.h"
|
||||
#include "fmap.h"
|
||||
|
||||
/* can I use offsetof safely? - FIXME? */
|
||||
static QUARTZ_IFEntry IFEntries[] =
|
||||
{
|
||||
{ &IID_IFilterMapper, offsetof(CFilterMapper,fmap)-offsetof(CFilterMapper,unk) },
|
||||
};
|
||||
|
||||
|
||||
static void QUARTZ_DestroyFilterMapper(IUnknown* punk)
|
||||
{
|
||||
CFilterMapper_THIS(punk,unk);
|
||||
|
||||
CFilterMapper_UninitIFilterMapper( This );
|
||||
}
|
||||
|
||||
HRESULT QUARTZ_CreateFilterMapper(IUnknown* punkOuter,void** ppobj)
|
||||
{
|
||||
CFilterMapper* pfm;
|
||||
|
||||
TRACE("(%p,%p)\n",punkOuter,ppobj);
|
||||
|
||||
pfm = (CFilterMapper*)QUARTZ_AllocObj( sizeof(CFilterMapper) );
|
||||
if ( pfm == NULL )
|
||||
return E_OUTOFMEMORY;
|
||||
|
||||
QUARTZ_IUnkInit( &pfm->unk, punkOuter );
|
||||
CFilterMapper_InitIFilterMapper( pfm );
|
||||
|
||||
pfm->unk.pEntries = IFEntries;
|
||||
pfm->unk.dwEntries = sizeof(IFEntries)/sizeof(IFEntries[0]);
|
||||
pfm->unk.pOnFinalRelease = QUARTZ_DestroyFilterMapper;
|
||||
|
||||
*ppobj = (void*)(&pfm->unk);
|
||||
|
||||
return S_OK;
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
#ifndef WINE_DSHOW_FMAP_H
|
||||
#define WINE_DSHOW_FMAP_H
|
||||
|
||||
/*
|
||||
implements CLSID_FilterMapper.
|
||||
|
||||
- At least, the following interfaces should be implemented:
|
||||
|
||||
IUnknown
|
||||
+ IFilterMapper
|
||||
*/
|
||||
|
||||
#include "iunk.h"
|
||||
|
||||
|
||||
typedef struct FM_IFilterMapperImpl
|
||||
{
|
||||
ICOM_VFIELD(IFilterMapper);
|
||||
} FM_IFilterMapperImpl;
|
||||
|
||||
typedef struct CFilterMapper
|
||||
{
|
||||
QUARTZ_IUnkImpl unk;
|
||||
FM_IFilterMapperImpl fmap;
|
||||
} CFilterMapper;
|
||||
|
||||
#define CFilterMapper_THIS(iface,member) CFilterMapper* This = ((CFilterMapper*)(((char*)iface)-offsetof(CFilterMapper,member)))
|
||||
|
||||
HRESULT QUARTZ_CreateFilterMapper(IUnknown* punkOuter,void** ppobj);
|
||||
|
||||
|
||||
void CFilterMapper_InitIFilterMapper( CFilterMapper* pfm );
|
||||
void CFilterMapper_UninitIFilterMapper( CFilterMapper* pfm );
|
||||
|
||||
|
||||
#endif /* WINE_DSHOW_FMAP_H */
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
/*
|
||||
* Implementation of CLSID_FilterMapper2.
|
||||
*
|
||||
* FIXME - stub.
|
||||
*
|
||||
* hidenori@a2.ctktv.ne.jp
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winerror.h"
|
||||
#include "wine/obj_base.h"
|
||||
#include "wine/obj_oleaut.h"
|
||||
#include "strmif.h"
|
||||
#include "control.h"
|
||||
#include "uuids.h"
|
||||
|
||||
#include "debugtools.h"
|
||||
DEFAULT_DEBUG_CHANNEL(quartz);
|
||||
|
||||
#include "quartz_private.h"
|
||||
#include "fmap2.h"
|
||||
|
||||
/* can I use offsetof safely? - FIXME? */
|
||||
static QUARTZ_IFEntry IFEntries[] =
|
||||
{
|
||||
{ &IID_IFilterMapper2, offsetof(CFilterMapper2,fmap3)-offsetof(CFilterMapper2,unk) },
|
||||
{ &IID_IFilterMapper3, offsetof(CFilterMapper2,fmap3)-offsetof(CFilterMapper2,unk) },
|
||||
};
|
||||
|
||||
|
||||
static void QUARTZ_DestroyFilterMapper2(IUnknown* punk)
|
||||
{
|
||||
CFilterMapper2_THIS(punk,unk);
|
||||
|
||||
CFilterMapper2_UninitIFilterMapper3( This );
|
||||
}
|
||||
|
||||
HRESULT QUARTZ_CreateFilterMapper2(IUnknown* punkOuter,void** ppobj)
|
||||
{
|
||||
CFilterMapper2* pfm;
|
||||
|
||||
TRACE("(%p,%p)\n",punkOuter,ppobj);
|
||||
|
||||
pfm = (CFilterMapper2*)QUARTZ_AllocObj( sizeof(CFilterMapper2) );
|
||||
if ( pfm == NULL )
|
||||
return E_OUTOFMEMORY;
|
||||
|
||||
QUARTZ_IUnkInit( &pfm->unk, punkOuter );
|
||||
CFilterMapper2_InitIFilterMapper3( pfm );
|
||||
|
||||
pfm->unk.pEntries = IFEntries;
|
||||
pfm->unk.dwEntries = sizeof(IFEntries)/sizeof(IFEntries[0]);
|
||||
pfm->unk.pOnFinalRelease = QUARTZ_DestroyFilterMapper2;
|
||||
|
||||
*ppobj = (void*)(&pfm->unk);
|
||||
|
||||
return S_OK;
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
#ifndef WINE_DSHOW_FMAP2_H
|
||||
#define WINE_DSHOW_FMAP2_H
|
||||
|
||||
/*
|
||||
implements CLSID_FilterMapper2.
|
||||
|
||||
- At least, the following interfaces should be implemented:
|
||||
|
||||
IUnknown
|
||||
+ IFilterMapper2 - IFilterMapper3
|
||||
*/
|
||||
|
||||
#include "iunk.h"
|
||||
|
||||
|
||||
typedef struct FM2_IFilterMapper3Impl
|
||||
{
|
||||
ICOM_VFIELD(IFilterMapper3);
|
||||
} FM2_IFilterMapper3Impl;
|
||||
|
||||
typedef struct CFilterMapper2
|
||||
{
|
||||
QUARTZ_IUnkImpl unk;
|
||||
FM2_IFilterMapper3Impl fmap3;
|
||||
} CFilterMapper2;
|
||||
|
||||
#define CFilterMapper2_THIS(iface,member) CFilterMapper2* This = ((CFilterMapper2*)(((char*)iface)-offsetof(CFilterMapper2,member)))
|
||||
|
||||
HRESULT QUARTZ_CreateFilterMapper2(IUnknown* punkOuter,void** ppobj);
|
||||
|
||||
|
||||
void CFilterMapper2_InitIFilterMapper3( CFilterMapper2* psde );
|
||||
void CFilterMapper2_UninitIFilterMapper3( CFilterMapper2* psde );
|
||||
|
||||
|
||||
#endif /* WINE_DSHOW_FMAP2_H */
|
||||
|
|
@ -164,3 +164,8 @@ void CFilterGraph_InitIBasicAudio( CFilterGraph* pfg )
|
|||
ICOM_VTBL(&pfg->basaud) = &ibasicaudio;
|
||||
}
|
||||
|
||||
void CFilterGraph_UninitIBasicAudio( CFilterGraph* pfg )
|
||||
{
|
||||
TRACE("(%p)\n",pfg);
|
||||
}
|
||||
|
||||
|
|
|
@ -485,3 +485,7 @@ void CFilterGraph_InitIBasicVideo2( CFilterGraph* pfg )
|
|||
ICOM_VTBL(&pfg->basvid) = &ibasicvideo;
|
||||
}
|
||||
|
||||
void CFilterGraph_UninitIBasicVideo2( CFilterGraph* pfg )
|
||||
{
|
||||
TRACE("(%p)\n",pfg);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,87 @@
|
|||
/*
|
||||
* Implementation of ICreateDevEnum for CLSID_SystemDeviceEnum.
|
||||
*
|
||||
* FIXME - stub.
|
||||
*
|
||||
* hidenori@a2.ctktv.ne.jp
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winerror.h"
|
||||
#include "wine/obj_base.h"
|
||||
#include "wine/obj_oleaut.h"
|
||||
#include "strmif.h"
|
||||
#include "control.h"
|
||||
#include "uuids.h"
|
||||
|
||||
#include "debugtools.h"
|
||||
DEFAULT_DEBUG_CHANNEL(quartz);
|
||||
|
||||
#include "quartz_private.h"
|
||||
#include "devenum.h"
|
||||
|
||||
static HRESULT WINAPI
|
||||
ICreateDevEnum_fnQueryInterface(ICreateDevEnum* iface,REFIID riid,void** ppobj)
|
||||
{
|
||||
CSysDevEnum_THIS(iface,createdevenum);
|
||||
|
||||
TRACE("(%p)->()\n",This);
|
||||
|
||||
return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj);
|
||||
}
|
||||
|
||||
static ULONG WINAPI
|
||||
ICreateDevEnum_fnAddRef(ICreateDevEnum* iface)
|
||||
{
|
||||
CSysDevEnum_THIS(iface,createdevenum);
|
||||
|
||||
TRACE("(%p)->()\n",This);
|
||||
|
||||
return IUnknown_AddRef(This->unk.punkControl);
|
||||
}
|
||||
|
||||
static ULONG WINAPI
|
||||
ICreateDevEnum_fnRelease(ICreateDevEnum* iface)
|
||||
{
|
||||
CSysDevEnum_THIS(iface,createdevenum);
|
||||
|
||||
TRACE("(%p)->()\n",This);
|
||||
|
||||
return IUnknown_Release(This->unk.punkControl);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI
|
||||
ICreateDevEnum_fnCreateClassEnumerator(ICreateDevEnum* iface,REFCLSID rclsidDeviceClass,IEnumMoniker** ppobj, DWORD dwFlags)
|
||||
{
|
||||
CSysDevEnum_THIS(iface,createdevenum);
|
||||
|
||||
FIXME("(%p)->() stub!\n",This);
|
||||
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static ICOM_VTABLE(ICreateDevEnum) icreatedevenum =
|
||||
{
|
||||
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
|
||||
/* IUnknown fields */
|
||||
ICreateDevEnum_fnQueryInterface,
|
||||
ICreateDevEnum_fnAddRef,
|
||||
ICreateDevEnum_fnRelease,
|
||||
/* ICreateDevEnum fields */
|
||||
ICreateDevEnum_fnCreateClassEnumerator,
|
||||
};
|
||||
|
||||
void CSysDevEnum_InitICreateDevEnum( CSysDevEnum* psde )
|
||||
{
|
||||
TRACE("(%p)\n",psde);
|
||||
ICOM_VTBL(&psde->createdevenum) = &icreatedevenum;
|
||||
}
|
||||
|
||||
void CSysDevEnum_UninitICreateDevEnum( CSysDevEnum* psde )
|
||||
{
|
||||
TRACE("(%p)\n",psde);
|
||||
}
|
|
@ -260,3 +260,8 @@ void CFilterGraph_InitIFilterGraph2( CFilterGraph* pfg )
|
|||
TRACE("(%p)\n",pfg);
|
||||
ICOM_VTBL(&pfg->fgraph) = &ifgraph;
|
||||
}
|
||||
|
||||
void CFilterGraph_UninitIFilterGraph2( CFilterGraph* pfg )
|
||||
{
|
||||
TRACE("(%p)\n",pfg);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,169 @@
|
|||
/*
|
||||
* Implementation of IFilterMapper for CLSID_FilterMapper.
|
||||
*
|
||||
* FIXME - stub.
|
||||
*
|
||||
* hidenori@a2.ctktv.ne.jp
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winerror.h"
|
||||
#include "wine/obj_base.h"
|
||||
#include "wine/obj_oleaut.h"
|
||||
#include "strmif.h"
|
||||
#include "control.h"
|
||||
#include "uuids.h"
|
||||
|
||||
#include "debugtools.h"
|
||||
DEFAULT_DEBUG_CHANNEL(quartz);
|
||||
|
||||
#include "quartz_private.h"
|
||||
#include "fmap.h"
|
||||
|
||||
|
||||
static HRESULT WINAPI
|
||||
IFilterMapper_fnQueryInterface(IFilterMapper* iface,REFIID riid,void** ppobj)
|
||||
{
|
||||
CFilterMapper_THIS(iface,fmap);
|
||||
|
||||
TRACE("(%p)->()\n",This);
|
||||
|
||||
return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj);
|
||||
}
|
||||
|
||||
static ULONG WINAPI
|
||||
IFilterMapper_fnAddRef(IFilterMapper* iface)
|
||||
{
|
||||
CFilterMapper_THIS(iface,fmap);
|
||||
|
||||
TRACE("(%p)->()\n",This);
|
||||
|
||||
return IUnknown_AddRef(This->unk.punkControl);
|
||||
}
|
||||
|
||||
static ULONG WINAPI
|
||||
IFilterMapper_fnRelease(IFilterMapper* iface)
|
||||
{
|
||||
CFilterMapper_THIS(iface,fmap);
|
||||
|
||||
TRACE("(%p)->()\n",This);
|
||||
|
||||
return IUnknown_Release(This->unk.punkControl);
|
||||
}
|
||||
|
||||
|
||||
static HRESULT WINAPI
|
||||
IFilterMapper_fnRegisterFilter(IFilterMapper* iface,CLSID clsid,LPCWSTR lpwszName,DWORD dwMerit)
|
||||
{
|
||||
CFilterMapper_THIS(iface,fmap);
|
||||
|
||||
TRACE("(%p)->() stub!\n",This);
|
||||
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI
|
||||
IFilterMapper_fnRegisterFilterInstance(IFilterMapper* iface,CLSID clsid,LPCWSTR lpwszName,CLSID* pclsidMedia)
|
||||
{
|
||||
CFilterMapper_THIS(iface,fmap);
|
||||
|
||||
TRACE("(%p)->() stub!\n",This);
|
||||
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI
|
||||
IFilterMapper_fnRegisterPin(IFilterMapper* iface,CLSID clsidFilter,LPCWSTR lpwszName,BOOL bRendered,BOOL bOutput,BOOL bZero,BOOL bMany,CLSID clsidReserved,LPCWSTR lpwszReserved)
|
||||
{
|
||||
CFilterMapper_THIS(iface,fmap);
|
||||
|
||||
TRACE("(%p)->() stub!\n",This);
|
||||
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI
|
||||
IFilterMapper_fnRegisterPinType(IFilterMapper* iface,CLSID clsidFilter,LPCWSTR lpwszName,CLSID clsidMajorType,CLSID clsidSubType)
|
||||
{
|
||||
CFilterMapper_THIS(iface,fmap);
|
||||
|
||||
TRACE("(%p)->() stub!\n",This);
|
||||
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI
|
||||
IFilterMapper_fnUnregisterFilter(IFilterMapper* iface,CLSID clsidFilter)
|
||||
{
|
||||
CFilterMapper_THIS(iface,fmap);
|
||||
|
||||
TRACE("(%p)->() stub!\n",This);
|
||||
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI
|
||||
IFilterMapper_fnUnregisterFilterInstance(IFilterMapper* iface,CLSID clsidMedia)
|
||||
{
|
||||
CFilterMapper_THIS(iface,fmap);
|
||||
|
||||
TRACE("(%p)->() stub!\n",This);
|
||||
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI
|
||||
IFilterMapper_fnUnregisterPin(IFilterMapper* iface,CLSID clsidPin,LPCWSTR lpwszName)
|
||||
{
|
||||
CFilterMapper_THIS(iface,fmap);
|
||||
|
||||
TRACE("(%p)->() stub!\n",This);
|
||||
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI
|
||||
IFilterMapper_fnEnumMatchingFilters(IFilterMapper* iface,IEnumRegFilters** ppobj,DWORD dwMerit,BOOL bInputNeeded,CLSID clsInMajorType,CLSID clsidSubType,BOOL bRender,BOOL bOutputNeeded,CLSID clsOutMajorType,CLSID clsOutSubType)
|
||||
{
|
||||
CFilterMapper_THIS(iface,fmap);
|
||||
|
||||
TRACE("(%p)->() stub!\n",This);
|
||||
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static ICOM_VTABLE(IFilterMapper) ifmap =
|
||||
{
|
||||
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
|
||||
/* IUnknown fields */
|
||||
IFilterMapper_fnQueryInterface,
|
||||
IFilterMapper_fnAddRef,
|
||||
IFilterMapper_fnRelease,
|
||||
/* IFilterMapper fields */
|
||||
IFilterMapper_fnRegisterFilter,
|
||||
IFilterMapper_fnRegisterFilterInstance,
|
||||
IFilterMapper_fnRegisterPin,
|
||||
IFilterMapper_fnRegisterPinType,
|
||||
IFilterMapper_fnUnregisterFilter,
|
||||
IFilterMapper_fnUnregisterFilterInstance,
|
||||
IFilterMapper_fnUnregisterPin,
|
||||
IFilterMapper_fnEnumMatchingFilters,
|
||||
};
|
||||
|
||||
|
||||
void CFilterMapper_InitIFilterMapper( CFilterMapper* pfm )
|
||||
{
|
||||
TRACE("(%p)\n",pfm);
|
||||
ICOM_VTBL(&pfm->fmap) = &ifmap;
|
||||
}
|
||||
|
||||
void CFilterMapper_UninitIFilterMapper( CFilterMapper* pfm )
|
||||
{
|
||||
TRACE("(%p)\n",pfm);
|
||||
}
|
|
@ -0,0 +1,142 @@
|
|||
/*
|
||||
* Implementation of IFilterMapper3 for CLSID_FilterMapper2.
|
||||
*
|
||||
* FIXME - stub.
|
||||
*
|
||||
* hidenori@a2.ctktv.ne.jp
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winerror.h"
|
||||
#include "wine/obj_base.h"
|
||||
#include "wine/obj_oleaut.h"
|
||||
#include "strmif.h"
|
||||
#include "control.h"
|
||||
#include "uuids.h"
|
||||
|
||||
#include "debugtools.h"
|
||||
DEFAULT_DEBUG_CHANNEL(quartz);
|
||||
|
||||
#include "quartz_private.h"
|
||||
#include "fmap2.h"
|
||||
|
||||
|
||||
static HRESULT WINAPI
|
||||
IFilterMapper3_fnQueryInterface(IFilterMapper3* iface,REFIID riid,void** ppobj)
|
||||
{
|
||||
CFilterMapper2_THIS(iface,fmap3);
|
||||
|
||||
TRACE("(%p)->()\n",This);
|
||||
|
||||
return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj);
|
||||
}
|
||||
|
||||
static ULONG WINAPI
|
||||
IFilterMapper3_fnAddRef(IFilterMapper3* iface)
|
||||
{
|
||||
CFilterMapper2_THIS(iface,fmap3);
|
||||
|
||||
TRACE("(%p)->()\n",This);
|
||||
|
||||
return IUnknown_AddRef(This->unk.punkControl);
|
||||
}
|
||||
|
||||
static ULONG WINAPI
|
||||
IFilterMapper3_fnRelease(IFilterMapper3* iface)
|
||||
{
|
||||
CFilterMapper2_THIS(iface,fmap3);
|
||||
|
||||
TRACE("(%p)->()\n",This);
|
||||
|
||||
return IUnknown_Release(This->unk.punkControl);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI
|
||||
IFilterMapper3_fnCreateCategory(IFilterMapper3* iface,REFCLSID rclsidCategory,DWORD dwMerit,LPCWSTR lpwszDesc)
|
||||
{
|
||||
CFilterMapper2_THIS(iface,fmap3);
|
||||
|
||||
FIXME("(%p)->() stub!\n",This);
|
||||
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
|
||||
static HRESULT WINAPI
|
||||
IFilterMapper3_fnUnregisterFilter(IFilterMapper3* iface,const CLSID* pclsidCategory,const OLECHAR* lpwszInst,REFCLSID rclsidFilter)
|
||||
{
|
||||
CFilterMapper2_THIS(iface,fmap3);
|
||||
|
||||
FIXME("(%p)->() stub!\n",This);
|
||||
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
|
||||
static HRESULT WINAPI
|
||||
IFilterMapper3_fnRegisterFilter(IFilterMapper3* iface,REFCLSID rclsidFilter,LPCWSTR lpName,IMoniker** ppMoniker,const CLSID* pclsidCategory,const OLECHAR* lpwszInst,const REGFILTER2* pRF2)
|
||||
{
|
||||
CFilterMapper2_THIS(iface,fmap3);
|
||||
|
||||
FIXME("(%p)->() stub!\n",This);
|
||||
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
|
||||
static HRESULT WINAPI
|
||||
IFilterMapper3_fnEnumMatchingFilters(IFilterMapper3* iface,IEnumMoniker** ppMoniker,DWORD dwFlags,BOOL bExactMatch,DWORD dwMerit,BOOL bInputNeeded,DWORD cInputTypes,const GUID* pguidInputTypes,const REGPINMEDIUM* pPinMediumIn,const CLSID* pPinCategoryIn,BOOL bRender,BOOL bOutputNeeded,DWORD cOutputTypes,const GUID* pguidOutputTypes,const REGPINMEDIUM* pPinMediumOut,const CLSID* pPinCategoryOut)
|
||||
{
|
||||
CFilterMapper2_THIS(iface,fmap3);
|
||||
|
||||
FIXME("(%p)->() stub!\n",This);
|
||||
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI
|
||||
IFilterMapper3_fnGetICreateDevEnum(IFilterMapper3* iface,ICreateDevEnum** ppDevEnum)
|
||||
{
|
||||
CFilterMapper2_THIS(iface,fmap3);
|
||||
|
||||
/* undocumented */
|
||||
FIXME("(%p)->() stub!\n",This);
|
||||
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
static ICOM_VTABLE(IFilterMapper3) ifmap3 =
|
||||
{
|
||||
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
|
||||
/* IUnknown fields */
|
||||
IFilterMapper3_fnQueryInterface,
|
||||
IFilterMapper3_fnAddRef,
|
||||
IFilterMapper3_fnRelease,
|
||||
/* IFilterMapper2 fields */
|
||||
IFilterMapper3_fnCreateCategory,
|
||||
IFilterMapper3_fnUnregisterFilter,
|
||||
IFilterMapper3_fnRegisterFilter,
|
||||
IFilterMapper3_fnEnumMatchingFilters,
|
||||
/* IFilterMapper3 fields */
|
||||
IFilterMapper3_fnGetICreateDevEnum,
|
||||
};
|
||||
|
||||
|
||||
void CFilterMapper2_InitIFilterMapper3( CFilterMapper2* pfm )
|
||||
{
|
||||
TRACE("(%p)\n",pfm);
|
||||
ICOM_VTBL(&pfm->fmap3) = &ifmap3;
|
||||
}
|
||||
|
||||
void CFilterMapper2_UninitIFilterMapper3( CFilterMapper2* pfm )
|
||||
{
|
||||
TRACE("(%p)\n",pfm);
|
||||
}
|
||||
|
|
@ -218,3 +218,8 @@ void CFilterGraph_InitIMediaControl( CFilterGraph* pfg )
|
|||
TRACE("(%p)\n",pfg);
|
||||
ICOM_VTBL(&pfg->mediacontrol) = &imediacontrol;
|
||||
}
|
||||
|
||||
void CFilterGraph_UninitIMediaControl( CFilterGraph* pfg )
|
||||
{
|
||||
TRACE("(%p)\n",pfg);
|
||||
}
|
||||
|
|
|
@ -220,3 +220,8 @@ void CFilterGraph_InitIMediaEventEx( CFilterGraph* pfg )
|
|||
TRACE("(%p)\n",pfg);
|
||||
ICOM_VTBL(&pfg->mediaevent) = &imediaevent;
|
||||
}
|
||||
|
||||
void CFilterGraph_UninitIMediaEventEx( CFilterGraph* pfg )
|
||||
{
|
||||
TRACE("(%p)\n",pfg);
|
||||
}
|
||||
|
|
|
@ -239,3 +239,8 @@ void CFilterGraph_InitIMediaPosition( CFilterGraph* pfg )
|
|||
TRACE("(%p)\n",pfg);
|
||||
ICOM_VTBL(&pfg->mediaposition) = &imediaposition;
|
||||
}
|
||||
|
||||
void CFilterGraph_UninitIMediaPosition( CFilterGraph* pfg )
|
||||
{
|
||||
TRACE("(%p)\n",pfg);
|
||||
}
|
||||
|
|
|
@ -262,3 +262,8 @@ void CFilterGraph_InitIMediaSeeking( CFilterGraph* pfg )
|
|||
TRACE("(%p)\n",pfg);
|
||||
ICOM_VTBL(&pfg->mediaseeking) = &imediaseeking;
|
||||
}
|
||||
|
||||
void CFilterGraph_UninitIMediaSeeking( CFilterGraph* pfg )
|
||||
{
|
||||
TRACE("(%p)\n",pfg);
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
#include "windef.h"
|
||||
#include "winerror.h"
|
||||
#include "winbase.h"
|
||||
#include "wine/obj_base.h"
|
||||
|
||||
#include "debugtools.h"
|
||||
|
@ -66,17 +67,22 @@ IUnknown_fnAddRef(IUnknown* iface)
|
|||
|
||||
TRACE("(%p)->()\n",This);
|
||||
|
||||
return ++(This->ref);
|
||||
return InterlockedExchangeAdd(&(This->ref),1) + 1;
|
||||
}
|
||||
|
||||
static ULONG WINAPI
|
||||
IUnknown_fnRelease(IUnknown* iface)
|
||||
{
|
||||
ICOM_THIS(QUARTZ_IUnkImpl,iface);
|
||||
LONG ref;
|
||||
|
||||
TRACE("(%p)->()\n",This);
|
||||
if ( (--(This->ref)) > 0 )
|
||||
return This->ref;
|
||||
ref = InterlockedExchangeAdd(&(This->ref),-1) - 1;
|
||||
if ( ref > 0 )
|
||||
return (ULONG)ref;
|
||||
|
||||
if ( This->pOnFinalRelease != NULL )
|
||||
(*(This->pOnFinalRelease))(iface);
|
||||
|
||||
QUARTZ_FreeObj(This);
|
||||
|
||||
|
@ -100,6 +106,7 @@ void QUARTZ_IUnkInit( QUARTZ_IUnkImpl* pImpl, IUnknown* punkOuter )
|
|||
ICOM_VTBL(pImpl) = &iunknown;
|
||||
pImpl->pEntries = NULL;
|
||||
pImpl->dwEntries = 0;
|
||||
pImpl->pOnFinalRelease = NULL;
|
||||
pImpl->ref = 1;
|
||||
pImpl->punkControl = (IUnknown*)pImpl;
|
||||
|
||||
|
|
|
@ -24,6 +24,9 @@
|
|||
|
||||
*/
|
||||
|
||||
/* for InterlockedExchangeAdd. */
|
||||
#include <pshpack4.h>
|
||||
|
||||
typedef struct QUARTZ_IFEntry
|
||||
{
|
||||
REFIID piid; /* interface ID. */
|
||||
|
@ -38,12 +41,16 @@ typedef struct QUARTZ_IUnkImpl
|
|||
/* array of supported IIDs and offsets. */
|
||||
const QUARTZ_IFEntry* pEntries;
|
||||
DWORD dwEntries;
|
||||
/* called on final release. */
|
||||
void (*pOnFinalRelease)(IUnknown* punk);
|
||||
|
||||
/* IUnknown fields. */
|
||||
ULONG ref;
|
||||
LONG ref;
|
||||
IUnknown* punkControl;
|
||||
} QUARTZ_IUnkImpl;
|
||||
|
||||
#include <poppack.h>
|
||||
|
||||
|
||||
void QUARTZ_IUnkInit( QUARTZ_IUnkImpl* pImpl, IUnknown* punkOuter );
|
||||
|
||||
|
|
|
@ -552,3 +552,9 @@ void CFilterGraph_InitIVideoWindow( CFilterGraph* pfg )
|
|||
TRACE("(%p)\n",pfg);
|
||||
ICOM_VTBL(&pfg->vidwin) = &ivideowindow;
|
||||
}
|
||||
|
||||
void CFilterGraph_UninitIVideoWindow( CFilterGraph* pfg )
|
||||
{
|
||||
TRACE("(%p)\n",pfg);
|
||||
}
|
||||
|
||||
|
|
|
@ -17,6 +17,9 @@ DEFAULT_DEBUG_CHANNEL(quartz);
|
|||
#include "fgraph.h"
|
||||
#include "sysclock.h"
|
||||
#include "memalloc.h"
|
||||
#include "devenum.h"
|
||||
#include "fmap.h"
|
||||
#include "fmap2.h"
|
||||
|
||||
|
||||
typedef struct QUARTZ_CLASSENTRY
|
||||
|
@ -57,6 +60,9 @@ static const QUARTZ_CLASSENTRY QUARTZ_ClassList[] =
|
|||
{ &CLSID_FilterGraph, &QUARTZ_CreateFilterGraph },
|
||||
{ &CLSID_SystemClock, &QUARTZ_CreateSystemClock },
|
||||
{ &CLSID_MemoryAllocator, &QUARTZ_CreateMemoryAllocator },
|
||||
{ &CLSID_SystemDeviceEnum, &QUARTZ_CreateSystemDeviceEnum },
|
||||
{ &CLSID_FilterMapper, &QUARTZ_CreateFilterMapper },
|
||||
{ &CLSID_FilterMapper2, &QUARTZ_CreateFilterMapper2 },
|
||||
{ NULL, NULL },
|
||||
};
|
||||
|
||||
|
@ -190,6 +196,7 @@ static HRESULT IClassFactory_Alloc( const CLSID* pclsid, void** ppobj )
|
|||
{
|
||||
if ( IsEqualGUID( pclsid, pEntry->pclsid ) )
|
||||
goto found;
|
||||
pEntry ++;
|
||||
}
|
||||
|
||||
return CLASS_E_CLASSNOTAVAILABLE;
|
||||
|
@ -198,6 +205,8 @@ found:
|
|||
if ( pImpl == NULL )
|
||||
return E_OUTOFMEMORY;
|
||||
|
||||
TRACE( "allocated successfully.\n" );
|
||||
|
||||
ICOM_VTBL(pImpl) = &iclassfact;
|
||||
pImpl->ref = 1;
|
||||
pImpl->pEntry = pEntry;
|
||||
|
@ -323,3 +332,30 @@ HRESULT WINAPI QUARTZ_DllUnregisterServer( void )
|
|||
return E_FAIL;
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* AmpFactorToDB (QUARTZ.@)
|
||||
*
|
||||
* undocumented.
|
||||
* (converting from Amp to dB?)
|
||||
*
|
||||
*/
|
||||
DWORD WINAPI QUARTZ_AmpFactorToDB( DWORD dw )
|
||||
{
|
||||
FIXME( "(%08lx): undocumented API - stub!\n", dw );
|
||||
return 0;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* DBToAmpFactor (QUARTZ.@)
|
||||
*
|
||||
* undocumented.
|
||||
* (converting from dB to Amp?)
|
||||
*/
|
||||
DWORD WINAPI QUARTZ_DBToAmpFactor( DWORD dw )
|
||||
{
|
||||
FIXME( "(%08lx): undocumented API - stub!\n", dw );
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -10,8 +10,8 @@ debug_channels (quartz)
|
|||
|
||||
@ stdcall AMGetErrorTextA(long ptr long) AMGetErrorTextA
|
||||
@ stdcall AMGetErrorTextW(long ptr long) AMGetErrorTextW
|
||||
@ stub AmpFactorToDB
|
||||
@ stub DBToAmpFactor
|
||||
@ stdcall AmpFactorToDB(long) QUARTZ_AmpFactorToDB
|
||||
@ stdcall DBToAmpFactor(long) QUARTZ_DBToAmpFactor
|
||||
@ stdcall DllCanUnloadNow() QUARTZ_DllCanUnloadNow
|
||||
@ stdcall DllGetClassObject(ptr ptr ptr) QUARTZ_DllGetClassObject
|
||||
@ stdcall DllRegisterServer() QUARTZ_DllRegisterServer
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* Regster/Unregister servers. (for internal use)
|
||||
*
|
||||
* hidenori@a2.ctktv.ne.jp
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winerror.h"
|
||||
#include "winreg.h"
|
||||
|
||||
#include "debugtools.h"
|
||||
DEFAULT_DEBUG_CHANNEL(quartz);
|
||||
|
||||
#include "regsvr.h"
|
||||
|
||||
|
||||
HRESULT QUARTZ_RegisterDLLServer(
|
||||
const CLSID* pclsid,
|
||||
LPCSTR lpFriendlyName,
|
||||
LPCSTR lpNameOfDLL )
|
||||
{
|
||||
FIXME( "stub!\n" );
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
HRESULT QUARTZ_UnregisterDLLServer(
|
||||
const CLSID* pclsid )
|
||||
{
|
||||
FIXME( "stub!\n" );
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
|
||||
HRESULT QUARTZ_RegisterFilter(
|
||||
const CLSID* pguidFilterCategory,
|
||||
const CLSID* pclsid,
|
||||
const BYTE* pbFilterData,
|
||||
DWORD cbFilterData,
|
||||
LPCSTR lpFriendlyName )
|
||||
{
|
||||
FIXME( "stub!\n" );
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
HRESULT QUARTZ_UnregisterFilter(
|
||||
const CLSID* pguidFilterCategory,
|
||||
const CLSID* pclsid )
|
||||
{
|
||||
FIXME( "stub!\n" );
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
* Regster/Unregister servers. (for internal use)
|
||||
*
|
||||
* hidenori@a2.ctktv.ne.jp
|
||||
*/
|
||||
|
||||
#ifndef QUARTZ_REGSVR_H
|
||||
#define QUARTZ_REGSVR_H
|
||||
|
||||
|
||||
HRESULT QUARTZ_RegisterDLLServer(
|
||||
const CLSID* pclsid,
|
||||
LPCSTR lpFriendlyName,
|
||||
LPCSTR lpNameOfDLL );
|
||||
HRESULT QUARTZ_UnregisterDLLServer(
|
||||
const CLSID* pclsid );
|
||||
|
||||
HRESULT QUARTZ_RegisterFilter(
|
||||
const CLSID* pguidFilterCategory,
|
||||
const CLSID* pclsid,
|
||||
const BYTE* pbFilterData,
|
||||
DWORD cbFilterData,
|
||||
LPCSTR lpFriendlyName );
|
||||
HRESULT QUARTZ_UnregisterFilter(
|
||||
const CLSID* pguidFilterCategory,
|
||||
const CLSID* pclsid );
|
||||
|
||||
|
||||
#endif /* QUARTZ_REGSVR_H */
|
|
@ -256,6 +256,20 @@
|
|||
@="quartz.dll"
|
||||
"ThreadingModel"="Both"
|
||||
|
||||
# CLSID_SystemDeviceEnum
|
||||
[HKEY_CLASSES_ROOT\CLSID\{62BE5D10-60EB-11D0-BD3B-00A0C911CE86}\InprocServer32]
|
||||
@="quartz.dll"
|
||||
"ThreadingModel"="Both"
|
||||
|
||||
# CLSID_FilterMapper
|
||||
[HKEY_CLASSES_ROOT\CLSID\{E436EBB2-524f-11CE-9F53-0020AF0BA770}\InprocServer32]
|
||||
@="quartz.dll"
|
||||
"ThreadingModel"="Both"
|
||||
|
||||
# CLSID_FilterMapper2
|
||||
[HKEY_CLASSES_ROOT\CLSID\{CDA42200-BD88-11D0-BD4E-00A0C911CE86}\InprocServer32]
|
||||
@="quartz.dll"
|
||||
"ThreadingModel"="Both"
|
||||
|
||||
#
|
||||
# Entries for Mozilla ActiveX control support
|
||||
|
|
Loading…
Reference in New Issue