On 3/22/2010 12:32, Alistair Leslie-Hughes wrote:
Hi,
Changelog: rpcrt4: Added stub function CreateStubFromTypeInfo
- typedef INT (WINAPI *MessageBoxA)(HWND,LPCSTR,LPCSTR,UINT);
- HMODULE hUser32 = LoadLibraryA("user32");
- MessageBoxA pMessageBoxA = (void *)GetProcAddress(hUser32, "MessageBoxA");
- FIXME("%p %s %p %p\n", pTypeInfo, debugstr_guid(riid), pUnkServer, ppStub);
- if (pMessageBoxA)
- {
pMessageBoxA(NULL,
"The native implementation of OLEAUT32.DLL cannot be used "
"with Wine's RPCRT4.DLL. Remove OLEAUT32.DLL and try again.\n",
"Wine: Unimplemented CreateProxyFromTypeInfo",
0x10);
ExitProcess(1);
- }
- return E_NOTIMPL;
Displaying messagebox is a bit questionable, ExitProcess is even worse. If you mean here that native oleaut32 uses this call, a general FIXME is enough. If you really don't want to survive from such call you don't need this stub at all.
On 22/03/2010 11:06 PM, Nikolay Sivov wrote: Hi Nikolay,
- return E_NOTIMPL;
Displaying messagebox is a bit questionable, ExitProcess is even worse. If you mean here that native oleaut32 uses this call, a general FIXME is enough. If you really don't want to survive from such call you don't need this stub at all.
Its better to warn the user that the oleaut32,rpcrt4 pair isn't right, so they can possible fix the problem.
The program *will* crash after this call unless valid data is passed back, so termination allows the application to possible clean up. In my case it allowed a sub process to die without crashing the main program.
Best Regards Alistair Leslie-Hughes