Added stubs for quartz.dll.
This commit is contained in:
parent
838a3614f6
commit
b7d4b4e73b
|
@ -141,6 +141,7 @@ DLLS = \
|
|||
olepro32 \
|
||||
olesvr32 \
|
||||
psapi \
|
||||
quartz \
|
||||
rasapi32 \
|
||||
riched32 \
|
||||
rpcrt4 \
|
||||
|
|
|
@ -7070,6 +7070,7 @@ dlls/olepro32/Makefile
|
|||
dlls/olesvr/Makefile
|
||||
dlls/opengl32/Makefile
|
||||
dlls/psapi/Makefile
|
||||
dlls/quartz/Makefile
|
||||
dlls/rasapi32/Makefile
|
||||
dlls/richedit/Makefile
|
||||
dlls/rpcrt4/Makefile
|
||||
|
@ -7322,6 +7323,7 @@ dlls/olepro32/Makefile
|
|||
dlls/olesvr/Makefile
|
||||
dlls/opengl32/Makefile
|
||||
dlls/psapi/Makefile
|
||||
dlls/quartz/Makefile
|
||||
dlls/rasapi32/Makefile
|
||||
dlls/richedit/Makefile
|
||||
dlls/rpcrt4/Makefile
|
||||
|
|
|
@ -1258,6 +1258,7 @@ dlls/olepro32/Makefile
|
|||
dlls/olesvr/Makefile
|
||||
dlls/opengl32/Makefile
|
||||
dlls/psapi/Makefile
|
||||
dlls/quartz/Makefile
|
||||
dlls/rasapi32/Makefile
|
||||
dlls/richedit/Makefile
|
||||
dlls/rpcrt4/Makefile
|
||||
|
|
|
@ -47,6 +47,7 @@ DLLFILES = \
|
|||
olepro32/libolepro32.@LIBEXT@ \
|
||||
olesvr/libolesvr32.@LIBEXT@ \
|
||||
psapi/libpsapi.@LIBEXT@ \
|
||||
quartz/libquartz.@LIBEXT@ \
|
||||
rasapi32/librasapi32.@LIBEXT@ \
|
||||
richedit/libriched32.@LIBEXT@ \
|
||||
rpcrt4/librpcrt4.@LIBEXT@ \
|
||||
|
@ -165,6 +166,7 @@ SUBDIRS = \
|
|||
olesvr \
|
||||
opengl32 \
|
||||
psapi \
|
||||
quartz \
|
||||
rasapi32 \
|
||||
richedit \
|
||||
rpcrt4 \
|
||||
|
@ -334,6 +336,9 @@ libopengl32.@LIBEXT@: opengl32/libopengl32.@LIBEXT@
|
|||
libpsapi.@LIBEXT@: psapi/libpsapi.@LIBEXT@
|
||||
$(RM) $@ && $(LN_S) psapi/libpsapi.@LIBEXT@ $@
|
||||
|
||||
libquartz.@LIBEXT@: quartz/libquartz.@LIBEXT@
|
||||
$(RM) $@ && $(LN_S) quartz/libquartz.@LIBEXT@ $@
|
||||
|
||||
librasapi32.@LIBEXT@ librasapi16.@LIBEXT@: rasapi32/librasapi32.@LIBEXT@
|
||||
$(RM) $@ && $(LN_S) rasapi32/librasapi32.@LIBEXT@ $@
|
||||
|
||||
|
@ -452,6 +457,7 @@ olepro32/libolepro32.@LIBEXT@: liboleaut32.@LIBEXT@ libntdll.@LIBEXT@
|
|||
olesvr/libolesvr32.@LIBEXT@: libkernel32.@LIBEXT@ libntdll.@LIBEXT@
|
||||
opengl32/libopengl32.@LIBEXT@: libx11drv.@LIBEXT@ libkernel32.@LIBEXT@
|
||||
psapi/libpsapi.@LIBEXT@: libkernel32.@LIBEXT@ libntdll.@LIBEXT@
|
||||
quartz/libquartz.@LIBEXT@: libole2.@LIBEXT@ libntdll.@LIBEXT@
|
||||
rasapi32/librasapi32.@LIBEXT@: libkernel32.@LIBEXT@ libntdll.@LIBEXT@
|
||||
richedit/libriched32.@LIBEXT@: libuser32.@LIBEXT@ libkernel32.@LIBEXT@ libntdll.@LIBEXT@
|
||||
rpcrt4/librpcrt4.@LIBEXT@: libkernel32.@LIBEXT@ libntdll.@LIBEXT@
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
Makefile
|
||||
quartz.spec.c
|
|
@ -0,0 +1,16 @@
|
|||
TOPSRCDIR = @top_srcdir@
|
||||
TOPOBJDIR = ../..
|
||||
SRCDIR = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
MODULE = quartz
|
||||
EXTRALIBS = $(LIBUUID)
|
||||
|
||||
LDDLLFLAGS = @LDDLLFLAGS@
|
||||
SYMBOLFILE = $(MODULE).tmp.o
|
||||
|
||||
C_SRCS = \
|
||||
main.c
|
||||
|
||||
@MAKE_DLL_RULES@
|
||||
|
||||
### Dependencies:
|
|
@ -0,0 +1,210 @@
|
|||
#include "config.h"
|
||||
|
||||
#include "windef.h"
|
||||
#include "winerror.h"
|
||||
#include "ole2.h"
|
||||
#include "guiddef.h"
|
||||
/*#include "dshow.h"*/ /* not yet */
|
||||
|
||||
#include "debugtools.h"
|
||||
|
||||
DEFAULT_DEBUG_CHANNEL(quartz);
|
||||
|
||||
static HRESULT WINAPI
|
||||
IClassFactory_fnQueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj);
|
||||
static ULONG WINAPI IClassFactory_fnAddRef(LPCLASSFACTORY iface);
|
||||
static ULONG WINAPI IClassFactory_fnRelease(LPCLASSFACTORY iface);
|
||||
static HRESULT WINAPI IClassFactory_fnCreateInstance(LPCLASSFACTORY iface,LPUNKNOWN pOuter,REFIID riid,LPVOID *ppobj);
|
||||
static HRESULT WINAPI IClassFactory_fnLockServer(LPCLASSFACTORY iface,BOOL dolock);
|
||||
|
||||
static ICOM_VTABLE(IClassFactory) iclassfact =
|
||||
{
|
||||
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
|
||||
IClassFactory_fnQueryInterface,
|
||||
IClassFactory_fnAddRef,
|
||||
IClassFactory_fnRelease,
|
||||
IClassFactory_fnCreateInstance,
|
||||
IClassFactory_fnLockServer
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
/* IUnknown fields */
|
||||
ICOM_VFIELD(IClassFactory);
|
||||
DWORD ref;
|
||||
} IClassFactoryImpl;
|
||||
|
||||
static IClassFactoryImpl QUARTZ_GlobalCF = {&iclassfact, 0 };
|
||||
|
||||
static DWORD dwClassObjRef;
|
||||
|
||||
|
||||
static HRESULT WINAPI
|
||||
IClassFactory_fnQueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj)
|
||||
{
|
||||
ICOM_THIS(IClassFactoryImpl,iface);
|
||||
|
||||
TRACE("(%p)->(%p,%p)\n",This,riid,ppobj);
|
||||
if ( ( IsEqualGUID( &IID_IUnknown, riid ) ) ||
|
||||
( IsEqualGUID( &IID_IClassFactory, riid ) ) )
|
||||
{
|
||||
*ppobj = iface;
|
||||
IClassFactory_AddRef(iface);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
static ULONG WINAPI IClassFactory_fnAddRef(LPCLASSFACTORY iface)
|
||||
{
|
||||
ICOM_THIS(IClassFactoryImpl,iface);
|
||||
|
||||
TRACE("(%p)->()\n",This);
|
||||
if ( (This->ref) == 0 )
|
||||
dwClassObjRef ++;
|
||||
|
||||
return ++(This->ref);
|
||||
}
|
||||
|
||||
static ULONG WINAPI IClassFactory_fnRelease(LPCLASSFACTORY iface)
|
||||
{
|
||||
ICOM_THIS(IClassFactoryImpl,iface);
|
||||
|
||||
TRACE("(%p)->()\n",This);
|
||||
if ( (--(This->ref)) > 0 )
|
||||
return This->ref;
|
||||
|
||||
dwClassObjRef --;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IClassFactory_fnCreateInstance(LPCLASSFACTORY iface,LPUNKNOWN pOuter,REFIID riid,LPVOID *ppobj)
|
||||
{
|
||||
ICOM_THIS(IClassFactoryImpl,iface);
|
||||
|
||||
FIXME("(%p)->(%p,%s,%p),stub!\n",This,pOuter,debugstr_guid(riid),ppobj);
|
||||
|
||||
*ppobj = NULL;
|
||||
if ( pOuter != NULL )
|
||||
return E_FAIL;
|
||||
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IClassFactory_fnLockServer(LPCLASSFACTORY iface,BOOL dolock)
|
||||
{
|
||||
ICOM_THIS(IClassFactoryImpl,iface);
|
||||
HRESULT hr;
|
||||
|
||||
FIXME("(%p)->(%d),stub!\n",This,dolock);
|
||||
if (dolock)
|
||||
hr = IClassFactory_AddRef(iface);
|
||||
else
|
||||
hr = IClassFactory_Release(iface);
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* QUARTZ_InitProcess (internal)
|
||||
*/
|
||||
static BOOL QUARTZ_InitProcess( void )
|
||||
{
|
||||
TRACE("()\n");
|
||||
|
||||
dwClassObjRef = 0;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* QUARTZ_UninitProcess (internal)
|
||||
*/
|
||||
static void QUARTZ_UninitProcess( void )
|
||||
{
|
||||
TRACE("()\n");
|
||||
|
||||
if ( dwClassObjRef != 0 )
|
||||
ERR( "you must release some objects allocated from quartz.\n" );
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* QUARTZ_DllMain
|
||||
*/
|
||||
BOOL WINAPI QUARTZ_DllMain(
|
||||
HINSTANCE hInstDLL,
|
||||
DWORD fdwReason,
|
||||
LPVOID lpvReserved )
|
||||
{
|
||||
switch ( fdwReason )
|
||||
{
|
||||
case DLL_PROCESS_ATTACH:
|
||||
if ( !QUARTZ_InitProcess() )
|
||||
return FALSE;
|
||||
break;
|
||||
case DLL_PROCESS_DETACH:
|
||||
QUARTZ_UninitProcess();
|
||||
break;
|
||||
case DLL_THREAD_ATTACH:
|
||||
break;
|
||||
case DLL_THREAD_DETACH:
|
||||
break;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* DllCanUnloadNow (QUARTZ.@)
|
||||
*
|
||||
* RETURNS
|
||||
* Success: S_OK
|
||||
* Failure: S_FALSE
|
||||
*/
|
||||
DWORD WINAPI QUARTZ_DllCanUnloadNow(void)
|
||||
{
|
||||
return ( dwClassObjRef == 0 ) ? S_OK : S_FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* DllGetClassObject (QUARTZ.@)
|
||||
*/
|
||||
DWORD WINAPI QUARTZ_DllGetClassObject(
|
||||
const CLSID* pclsid,const IID* piid,void** ppv)
|
||||
{
|
||||
*ppv = NULL;
|
||||
if ( IsEqualCLSID( &IID_IClassFactory, piid ) )
|
||||
{
|
||||
*ppv = (LPVOID)&QUARTZ_GlobalCF;
|
||||
IClassFactory_AddRef((IClassFactory*)*ppv);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
return CLASS_E_CLASSNOTAVAILABLE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* DllRegisterServer (QUARTZ.@)
|
||||
*/
|
||||
|
||||
HRESULT WINAPI QUARTZ_DllRegisterServer( void )
|
||||
{
|
||||
FIXME( "(): stub\n" );
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* DllUnregisterServer (QUARTZ.@)
|
||||
*/
|
||||
|
||||
HRESULT WINAPI QUARTZ_DllUnregisterServer( void )
|
||||
{
|
||||
FIXME( "(): stub\n" );
|
||||
return E_FAIL;
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
name quartz
|
||||
type win32
|
||||
|
||||
#import ole2.dll
|
||||
import ntdll.dll
|
||||
|
||||
debug_channels (quartz)
|
||||
|
||||
@ stub AMGetErrorTextA
|
||||
@ stub AMGetErrorTextW
|
||||
@ stub AmpFactorToDB
|
||||
@ stub DBToAmpFactor
|
||||
@ stdcall DllCanUnloadNow() QUARTZ_DllCanUnloadNow
|
||||
@ stdcall DllGetClassObject(ptr ptr ptr) QUARTZ_DllGetClassObject
|
||||
@ stdcall DllRegisterServer() QUARTZ_DllRegisterServer
|
||||
@ stdcall DllUnregisterServer() QUARTZ_DllUnregisterServer
|
||||
|
Loading…
Reference in New Issue