Detlef Riekenberg wrote:
Am Donnerstag, den 01.12.2005, 00:39 -0600 schrieb Robert Shearman:
[NDR] Implement NdrClientCall2 and NdrServerCall2 [NDR] Fix handle support for stubless objects [NDR] Fix Accessing Arguments in NdrClientCall2
Hi Rob. I tested your Patches with printui.dll and winspool.drv (from w2k) and got only "RPC_X_WRONG_STUB_VERSION"
Thanks for giving them a try.
--- cut --- trace:rpc:NdrClientCall2 MIDL stub version = 0x5030117 fixme:rpc:NdrClientCall2 RPC_FC_BIND_GENERIC --- cut ---
Generic binding handles are unimplemented. The two that are implemented so far are implicit and explicit binding handles, where the handle is already setup and initialized before the function is called. Generic binding handles are auto-initializing, meaning that we should call a function to get the appropriate handle where this FIXME is. This isn't implemented yet, due to me not having a test program for it.
Then i commented out the RpcRaiseException() after the fixme and run:
wine rundll32 printui.dll,PrintUIEntry /s
The Server-Properties-Window opens and react on the Mouse, but the Fields are Empty or filled with Garbage. (same garbage as buildin winspool.drv with my patch for OpenPrinter)
This would probably be because the RPC call is failing. I think NdrSendReceive should throw an exception on failure, but currently doesn't so it silently fails, causing the garbage you describe. The failure is caused by not having a handle to the server. The one question I have about this is: what should be acting as the server? If it is a service on NT then that means this still won't work on Wine, until that service is implemented (perhaps it is implemented by spoolsvc.dll, I can't remember the exact name of it).
I attached an updated log to bug 3105
Thanks for your work on RPC.
No problem!