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.




Reply via email to