On 5/14/2012 19:34, André Hentschel wrote:
Otherwise GTA San Andreas runs into it and crashes. This stub let's it work again. a workaround is to disable wmvcore in winecfg...
dlls/wmvcore/wmvcore.spec | 2 +- dlls/wmvcore/wmvcore_main.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/dlls/wmvcore/wmvcore.spec b/dlls/wmvcore/wmvcore.spec index 1c6cb1f..e0fa2e9 100644 --- a/dlls/wmvcore/wmvcore.spec +++ b/dlls/wmvcore/wmvcore.spec @@ -11,7 +11,7 @@ @ stub WMCreateProfileManager @ stub WMCreateReader @ stub WMCreateReaderPriv -@ stub WMCreateSyncReader +@ stdcall WMCreateSyncReader(ptr long ptr) @ stub WMCreateWriter @ stub WMCreateWriterFileSink @ stub WMCreateWriterNetworkSink diff --git a/dlls/wmvcore/wmvcore_main.c b/dlls/wmvcore/wmvcore_main.c index 096328b..5fce972 100644 --- a/dlls/wmvcore/wmvcore_main.c +++ b/dlls/wmvcore/wmvcore_main.c @@ -22,6 +22,7 @@
#include "windef.h" #include "winbase.h" +#include "objbase.h" #include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(wmvcore); @@ -43,3 +44,10 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
return TRUE;
}
+HRESULT WINAPI WMCreateSyncReader(IUnknown *pcert, DWORD rights,
IUnknown /* FIXME: IWMSyncReader */ **syncreader)
+{
- FIXME("(%p, %x, %p): stub\n", pcert, rights, syncreader);
- return E_NOTIMPL;
+}
You'll be probably requested to add a proper .idl for that with interface definition. Also it makes sense to init out parameter to 0, as a common practice for such creation methods/calls.