[NDR] Implement NdrClientCall2 and NdrServerCall2

Robert Shearman 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
>>    
>>
>
>
>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!


-- 
Rob Shearman




More information about the wine-devel mailing list