[NDR] Implement NdrClientCall2 and NdrServerCall2
rob at codeweavers.com
Mon Dec 12 14:29:11 CST 2005
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
>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
>--- 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.
More information about the wine-devel