From c3a78d4fbe8f2e067999e228e3a21bb6c67f204c Mon Sep 17 00:00:00 2001 From: Ove Kaaven Date: Thu, 10 Oct 2002 19:23:33 +0000 Subject: [PATCH] Stubby NdrClientCall2 & some header changes. --- dlls/rpcrt4/Makefile.in | 1 + dlls/rpcrt4/ndr_misc.h | 33 ++++++++++++++++++++++++ dlls/rpcrt4/ndr_stubless.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++ dlls/rpcrt4/rpcrt4.spec | 2 +- include/rpcndr.h | 10 ++++---- 5 files changed, 104 insertions(+), 6 deletions(-) create mode 100644 dlls/rpcrt4/ndr_misc.h create mode 100644 dlls/rpcrt4/ndr_stubless.c diff --git a/dlls/rpcrt4/Makefile.in b/dlls/rpcrt4/Makefile.in index 6243cdd7bf7..9a7abe3ab55 100644 --- a/dlls/rpcrt4/Makefile.in +++ b/dlls/rpcrt4/Makefile.in @@ -10,6 +10,7 @@ LDDLLFLAGS = @LDDLLFLAGS@ SYMBOLFILE = $(MODULE).tmp.o C_SRCS = \ + ndr_stubless.c \ rpc_binding.c \ rpc_message.c \ rpcrt4_main.c diff --git a/dlls/rpcrt4/ndr_misc.h b/dlls/rpcrt4/ndr_misc.h new file mode 100644 index 00000000000..b254d0957b0 --- /dev/null +++ b/dlls/rpcrt4/ndr_misc.h @@ -0,0 +1,33 @@ +/* + * NDR definitions + * + * Copyright 2001 Ove Kåven, TransGaming Technologies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __WINE_NDR_MISC_H +#define __WINE_NDR_MISC_H + +#include + +struct IPSFactoryBuffer; + +LONG_PTR RPCRT4_NdrClientCall2(PMIDL_STUB_DESC pStubDesc, + PFORMAT_STRING pFormat, va_list args ); + +HRESULT RPCRT4_GetPSFactory(REFIID riid, struct IPSFactoryBuffer **ppPS); + +#endif /* __WINE_NDR_MISC_H */ diff --git a/dlls/rpcrt4/ndr_stubless.c b/dlls/rpcrt4/ndr_stubless.c new file mode 100644 index 00000000000..5f10bc42ca1 --- /dev/null +++ b/dlls/rpcrt4/ndr_stubless.c @@ -0,0 +1,64 @@ +/* + * NDR client stuff + * + * Copyright 2001 Ove Kåven, TransGaming Technologies + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * TODO: + * - actually implement RPCRT4_NdrClientCall2 + */ + +#include +#include + +#include "windef.h" +#include "winbase.h" +#include "winerror.h" +#include "winreg.h" + +#include "rpc.h" +#include "rpcndr.h" + +#include "wine/debug.h" + +#include "ndr_misc.h" + +WINE_DEFAULT_DEBUG_CHANNEL(ole); + + +LONG_PTR RPCRT4_NdrClientCall2(PMIDL_STUB_DESC pStubDesc, PFORMAT_STRING pFormat, va_list args) +{ + FIXME("(%p,%p,...)\n", pStubDesc, pFormat); + return 0; +} + +/*********************************************************************** + * NdrClientCall2 [RPCRT4.@] + */ +CLIENT_CALL_RETURN WINAPIV NdrClientCall2(PMIDL_STUB_DESC pStubDesc, + PFORMAT_STRING pFormat, + ...) +{ + CLIENT_CALL_RETURN ret; + va_list args; + + TRACE("(%p,%p,...)\n", pStubDesc, pFormat); + + va_start(args, pFormat); + ret = (CLIENT_CALL_RETURN)RPCRT4_NdrClientCall2(pStubDesc, pFormat, args); + va_end(args); + return ret; +} diff --git a/dlls/rpcrt4/rpcrt4.spec b/dlls/rpcrt4/rpcrt4.spec index 7d94040070d..1d507ebaea0 100644 --- a/dlls/rpcrt4/rpcrt4.spec +++ b/dlls/rpcrt4/rpcrt4.spec @@ -204,7 +204,7 @@ init RPCRT4_LibMain @ stub NdrAsyncServerCall @ stub NdrClearOutParameters @ stub NdrClientCall -@ stub NdrClientCall2 +@ varargs NdrClientCall2(ptr ptr) NdrClientCall2 @ stub NdrClientInitialize @ stub NdrClientInitializeNew @ stub NdrContextHandleInitialize diff --git a/include/rpcndr.h b/include/rpcndr.h index ebf632b9f54..cf58a82f6f5 100644 --- a/include/rpcndr.h +++ b/include/rpcndr.h @@ -16,14 +16,14 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifndef __WINE_RPCNDR_H -#define __WINE_RPCNDR_H - #ifndef __RPCNDR_H_VERSION__ -/* FIXME: I'm not sure what version though */ -#define __RPCNDR_H_VERSION__ +/* FIXME: What version? Perhaps something is better than nothing, however incorrect */ +#define __RPCNDR_H_VERSION__ ( 399 ) #endif +#ifndef __WINE_RPCNDR_H +#define __WINE_RPCNDR_H + #define TARGET_IS_NT40_OR_LATER 1 #define TARGET_IS_NT351_OR_WIN95_OR_LATER 1 -- 2.11.4.GIT