LICENSE: X11 CHANGELOG: * include: rpcndr.h; dlls/rpcrt4: Makefile.in, ndr_midl.c, ndr_marshall.c (new): Greg Turner <gmturner007@ameritech.net> - use Ove-style macros for NdrConformantStringMarshall definition - move NdrConformantStringMarshall to new ndr_marshall unit. -- gmt
--- ../wine.test/include/rpcndr.h 2002-10-19 02:10:27.000000000 -0500 +++ include/rpcndr.h 2002-10-19 02:41:56.000000000 -0500 @@ -240,7 +240,7 @@ NdrSimpleTypeUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, unsigned char FormatChar ); /* while MS declares each prototype separately, I prefer to use macros for this kind of thing instead */ -#define TYPE_MARSHAL(type) \ +#define SIMPLE_TYPE_MARSHAL(type) \ RPCRTAPI unsigned char* RPC_ENTRY \ Ndr##type##Marshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, PFORMAT_STRING pFormat ); \ RPCRTAPI unsigned char* RPC_ENTRY \ @@ -248,7 +248,10 @@ RPCRTAPI void RPC_ENTRY \ Ndr##type##BufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, PFORMAT_STRING pFormat ); \ RPCRTAPI unsigned long RPC_ENTRY \ - Ndr##type##MemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); \ + Ndr##type##MemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); + +#define TYPE_MARSHAL(type) \ + SIMPLE_TYPE_MARSHAL(type) \ RPCRTAPI void RPC_ENTRY \ Ndr##type##Free( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, PFORMAT_STRING pFormat ); @@ -269,7 +272,11 @@ TYPE_MARSHAL(UserMarshal) TYPE_MARSHAL(InterfacePointer) +SIMPLE_TYPE_MARSHAL(ConformantString) +SIMPLE_TYPE_MARSHAL(NonConformantString) + #undef TYPE_MARSHAL +#undef SIMPLE_TYPE_MARSHAL RPCRTAPI void RPC_ENTRY NdrConvert2( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat, long NumberParams ); @@ -300,9 +307,6 @@ NdrClientInitializeNew( PRPC_MESSAGE pRpcMessage, PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDesc, int unknown ); RPCRTAPI unsigned char* RPC_ENTRY - NdrConformantStringMarshall( MIDL_STUB_MESSAGE *pStubMsg, unsigned char *pszMessage, - PFORMAT_STRING pFormat); -RPCRTAPI unsigned char* RPC_ENTRY NdrGetBuffer( MIDL_STUB_MESSAGE *stubmsg, unsigned long buflen, RPC_BINDING_HANDLE handle ); RPCRTAPI void RPC_ENTRY NdrFreeBuffer( MIDL_STUB_MESSAGE *pStubMsg ); --- ../wine.test/dlls/rpcrt4/Makefile.in 2002-10-19 02:10:27.000000000 -0500 +++ dlls/rpcrt4/Makefile.in 2002-10-19 02:57:12.000000000 -0500 @@ -17,6 +17,7 @@ ndr_midl.c \ ndr_ole.c \ ndr_stubless.c \ + ndr_marshall.c \ rpc_binding.c \ rpc_message.c \ rpc_server.c \ --- ../wine.test/dlls/rpcrt4/ndr_midl.c 2002-10-19 02:10:27.000000000 -0500 +++ dlls/rpcrt4/ndr_midl.c 2002-10-19 02:54:36.000000000 -0500 @@ -178,16 +178,6 @@ } /*********************************************************************** - * NdrConformantStringMarshall [RPCRT4.@] - */ -unsigned char *WINAPI NdrConformantStringMarshall(MIDL_STUB_MESSAGE *pStubMsg, unsigned char *pszMessage, - PFORMAT_STRING pFormat) -{ - FIXME("stub\n"); - return NULL; -} - -/*********************************************************************** * NdrGetBuffer [RPCRT4.@] */ unsigned char *WINAPI NdrGetBuffer(MIDL_STUB_MESSAGE *stubmsg, unsigned long buflen, RPC_BINDING_HANDLE handle) --- /dev/null 1969-12-31 18:00:00.000000000 -0600 +++ dlls/rpcrt4/ndr_marshall.c 2002-10-19 03:10:26.000000000 -0500 @@ -0,0 +1,45 @@ +/* + * NDR data marshalling + * + * 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: + * - figure out whether we *really* got this right + * - check for errors and throw exceptions + */ + +#include <stdio.h> +#include <string.h> + +#include "windef.h" +#include "winbase.h" +#include "winerror.h" +#include "winreg.h" + +#include "wine/obj_base.h" + +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(ole); + +/*********************************************************************** + * NdrConformantStringMarshall [RPCRT4.@] + */ +unsigned char *WINAPI NdrConformantStringMarshall(MIDL_STUB_MESSAGE *pStubMsg, unsigned char *pszMessage, + PFORMAT_STRING pFormat) +{ + FIXME("stub\n"); + return NULL; +}