On Sunday 13 October 2002 08:20 pm, Greg Turner wrote:
On Sunday 13 October 2002 06:41 pm, Ove Kaaven wrote:
On Sun, 13 Oct 2002, Greg Turner wrote:
LONG_PTR RPCRT4_NdrClientCall2(PMIDL_STUB_DESC pStubDesc, PFORMAT_STRING pFormat, va_list args) {
FIXME("(pStubDec == ^%p,pFormat = "%s",...): stub\n", pStubDesc, pFormat);
PRPC_CLIENT_INTERFACE rpc_cli_if = (PRPC_CLIENT_INTERFACE)(pStubDesc->RpcInterfaceInformation);
(hmm, does this even compile? I didn't think C allowed variable declarations after statements)
This is a c++ism that gcc allows; it already is used quite a bit in wine, although in this case there is no good reason for it and it should probably go.
The pStubDesc structure should have been initialized (including setting that pointer, I think) by the NdrClientInitialize or NdrClientInitializeNew (or for DCOM, NdrProxyInitialize, but perhaps NdrProxyInitialize should call down to NdrClientInitialize/New anyway) functions. My patches didn't implement those functions, since I was mostly concerned with DCOM. Is this a real RPC app that works on Windows you're working on?
It's "Samples\netds\rpc\Hello" from the latest platform SDK, compiled native. It does seem to work in real Windows. Binaries are enclosed. I will look into some of the functions you mention after Sopranos :)
Thanks, Ove,
did these come through for everybody? I got a message from an Exchange bot about virus blocking. Here they are again in a format that an MS bot is unlikely to censor.