another rpc patch
Ove Kaaven
ovek at arcticnet.no
Mon May 19 17:36:51 CDT 2003
Log:
Ove Kaaven <ovek at transgaming.com>
Portability fix. Better debug messages (display IID of interface to
marshal).
Index: dlls/rpcrt4/ndr_ole.c
===================================================================
RCS file: /cvsroot/rewind/rewind/dlls/rpcrt4/ndr_ole.c,v
retrieving revision 1.3
diff -u -r1.3 ndr_ole.c
--- dlls/rpcrt4/ndr_ole.c 13 Feb 2003 21:38:37 -0000 1.3
+++ dlls/rpcrt4/ndr_ole.c 19 May 2003 22:29:01 -0000
@@ -30,14 +30,14 @@
static HMODULE hOLE;
-static HRESULT WINAPI (*COM_GetMarshalSizeMax)(ULONG *,REFIID,LPUNKNOWN,DWORD,LPVOID,DWORD);
-static HRESULT WINAPI (*COM_MarshalInterface)(LPSTREAM,REFIID,LPUNKNOWN,DWORD,LPVOID,DWORD);
-static HRESULT WINAPI (*COM_UnmarshalInterface)(LPSTREAM,REFIID,LPVOID*);
-static HRESULT WINAPI (*COM_ReleaseMarshalData)(LPSTREAM);
-static HRESULT WINAPI (*COM_GetClassObject)(REFCLSID,DWORD,COSERVERINFO *,REFIID,LPVOID *);
-static HRESULT WINAPI (*COM_GetPSClsid)(REFIID,CLSID *);
-static LPVOID WINAPI (*COM_MemAlloc)(ULONG);
-static void WINAPI (*COM_MemFree)(LPVOID);
+static HRESULT (WINAPI *COM_GetMarshalSizeMax)(ULONG *,REFIID,LPUNKNOWN,DWORD,LPVOID,DWORD);
+static HRESULT (WINAPI *COM_MarshalInterface)(LPSTREAM,REFIID,LPUNKNOWN,DWORD,LPVOID,DWORD);
+static HRESULT (WINAPI *COM_UnmarshalInterface)(LPSTREAM,REFIID,LPVOID*);
+static HRESULT (WINAPI *COM_ReleaseMarshalData)(LPSTREAM);
+static HRESULT (WINAPI *COM_GetClassObject)(REFCLSID,DWORD,COSERVERINFO *,REFIID,LPVOID *);
+static HRESULT (WINAPI *COM_GetPSClsid)(REFIID,CLSID *);
+static LPVOID (WINAPI *COM_MemAlloc)(ULONG);
+static void (WINAPI *COM_MemFree)(LPVOID);
static HMODULE LoadCOM(void)
{
@@ -204,12 +204,14 @@
if (!pFormat) return &IID_IUnknown;
TRACE("format=%02x %02x\n", pFormat[0], pFormat[1]);
if (pFormat[0] != RPC_FC_IP) FIXME("format=%d\n", pFormat[0]);
- if (pFormat[1] == RPC_FC_CONSTANT_IID)
- return (const IID*)&pFormat[2];
-
- ComputeConformance(pStubMsg, pMemory, pFormat+2, 0);
- riid = (const IID *)pStubMsg->MaxCount;
+ if (pFormat[1] == RPC_FC_CONSTANT_IID) {
+ riid = (const IID *)&pFormat[2];
+ } else {
+ ComputeConformance(pStubMsg, pMemory, pFormat+2, 0);
+ riid = (const IID *)pStubMsg->MaxCount;
+ }
if (!riid) riid = &IID_IUnknown;
+ TRACE("got %s\n", debugstr_guid(riid));
return riid;
}
More information about the wine-patches
mailing list