Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenndr_misc.h
Go to the documentation of this file.
00001 /* 00002 * NDR definitions 00003 * 00004 * Copyright 2001 Ove Kåven, TransGaming Technologies 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU Lesser General Public 00008 * License as published by the Free Software Foundation; either 00009 * version 2.1 of the License, or (at your option) any later version. 00010 * 00011 * This library is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 * Lesser General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU Lesser General Public 00017 * License along with this library; if not, write to the Free Software 00018 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00019 */ 00020 00021 #ifndef __WINE_NDR_MISC_H 00022 #define __WINE_NDR_MISC_H 00023 00024 #include <stdarg.h> 00025 00026 #include "windef.h" 00027 #include "winbase.h" 00028 #include "rpc.h" 00029 #include "rpcndr.h" 00030 00031 struct IPSFactoryBuffer; 00032 00033 PFORMAT_STRING ComputeConformanceOrVariance( 00034 MIDL_STUB_MESSAGE *pStubMsg, unsigned char *pMemory, 00035 PFORMAT_STRING pFormat, ULONG_PTR def, ULONG_PTR *pCount) DECLSPEC_HIDDEN; 00036 00037 static inline PFORMAT_STRING ComputeConformance(PMIDL_STUB_MESSAGE pStubMsg, unsigned char *pMemory, PFORMAT_STRING pFormat, ULONG def) 00038 { 00039 return ComputeConformanceOrVariance(pStubMsg, pMemory, pFormat, def, &pStubMsg->MaxCount); 00040 } 00041 00042 static inline PFORMAT_STRING ComputeVariance(PMIDL_STUB_MESSAGE pStubMsg, unsigned char *pMemory, PFORMAT_STRING pFormat, ULONG def) 00043 { 00044 PFORMAT_STRING ret; 00045 ULONG_PTR ActualCount = pStubMsg->ActualCount; 00046 00047 pStubMsg->Offset = 0; 00048 ret = ComputeConformanceOrVariance(pStubMsg, pMemory, pFormat, def, &ActualCount); 00049 pStubMsg->ActualCount = (ULONG)ActualCount; 00050 return ret; 00051 } 00052 00053 typedef unsigned char* (WINAPI *NDR_MARSHALL) (PMIDL_STUB_MESSAGE, unsigned char*, PFORMAT_STRING); 00054 typedef unsigned char* (WINAPI *NDR_UNMARSHALL)(PMIDL_STUB_MESSAGE, unsigned char**,PFORMAT_STRING, unsigned char); 00055 typedef void (WINAPI *NDR_BUFFERSIZE)(PMIDL_STUB_MESSAGE, unsigned char*, PFORMAT_STRING); 00056 typedef ULONG (WINAPI *NDR_MEMORYSIZE)(PMIDL_STUB_MESSAGE, PFORMAT_STRING); 00057 typedef void (WINAPI *NDR_FREE) (PMIDL_STUB_MESSAGE, unsigned char*, PFORMAT_STRING); 00058 00059 extern const NDR_MARSHALL NdrMarshaller[] DECLSPEC_HIDDEN; 00060 extern const NDR_UNMARSHALL NdrUnmarshaller[] DECLSPEC_HIDDEN; 00061 extern const NDR_BUFFERSIZE NdrBufferSizer[] DECLSPEC_HIDDEN; 00062 extern const NDR_MEMORYSIZE NdrMemorySizer[] DECLSPEC_HIDDEN; 00063 extern const NDR_FREE NdrFreer[] DECLSPEC_HIDDEN; 00064 00065 ULONG ComplexStructSize(PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat) DECLSPEC_HIDDEN; 00066 00067 #endif /* __WINE_NDR_MISC_H */ Generated on Sun May 27 2012 04:26:03 for ReactOS by
1.7.6.1
|