Log: Ove Kaaven <ovek@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; }