Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenmidles.h
Go to the documentation of this file.
00001 /* 00002 * NDR Serialization Services 00003 * 00004 * Copyright (c) 2007 Robert Shearman for CodeWeavers 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_MIDLES_H__ 00022 #define __WINE_MIDLES_H__ 00023 00024 #include <rpcndr.h> 00025 00026 #ifdef __cplusplus 00027 extern "C" { 00028 #endif 00029 00030 typedef enum 00031 { 00032 MES_ENCODE, 00033 MES_DECODE 00034 } MIDL_ES_CODE; 00035 00036 typedef enum 00037 { 00038 MES_INCREMENTAL_HANDLE, 00039 MES_FIXED_BUFFER_HANDLE, 00040 MES_DYNAMIC_BUFFER_HANDLE 00041 } MIDL_ES_HANDLE_STYLE; 00042 00043 typedef void (__RPC_USER * MIDL_ES_ALLOC)(void *,char **,unsigned int *); 00044 typedef void (__RPC_USER * MIDL_ES_WRITE)(void *,char *,unsigned int); 00045 typedef void (__RPC_USER * MIDL_ES_READ)(void *,char **,unsigned int *); 00046 00047 typedef struct _MIDL_ES_MESSAGE 00048 { 00049 MIDL_STUB_MESSAGE StubMsg; 00050 MIDL_ES_CODE Operation; 00051 void *UserState; 00052 ULONG MesVersion : 8; 00053 ULONG HandleStyle : 8; 00054 ULONG HandleFlags : 8; 00055 ULONG Reserve : 8; 00056 MIDL_ES_ALLOC Alloc; 00057 MIDL_ES_WRITE Write; 00058 MIDL_ES_READ Read; 00059 unsigned char *Buffer; 00060 ULONG BufferSize; 00061 unsigned char **pDynBuffer; 00062 ULONG *pEncodedSize; 00063 RPC_SYNTAX_IDENTIFIER InterfaceId; 00064 ULONG ProcNumber; 00065 ULONG AlienDataRep; 00066 ULONG IncrDataSize; 00067 ULONG ByteCount; 00068 } MIDL_ES_MESSAGE, *PMIDL_ES_MESSAGE; 00069 00070 typedef PMIDL_ES_MESSAGE MIDL_ES_HANDLE; 00071 00072 typedef struct _MIDL_TYPE_PICKLING_INFO 00073 { 00074 ULONG Version; 00075 ULONG Flags; 00076 UINT_PTR Reserved[3]; 00077 } MIDL_TYPE_PICKLING_INFO, *PMIDL_TYPE_PICKLING_INFO; 00078 00079 RPC_STATUS RPC_ENTRY 00080 MesEncodeIncrementalHandleCreate(void *,MIDL_ES_ALLOC,MIDL_ES_WRITE,handle_t *); 00081 RPC_STATUS RPC_ENTRY 00082 MesDecodeIncrementalHandleCreate(void *,MIDL_ES_READ,handle_t *); 00083 RPC_STATUS RPC_ENTRY 00084 MesIncrementalHandleReset(handle_t,void *,MIDL_ES_ALLOC,MIDL_ES_WRITE,MIDL_ES_READ,MIDL_ES_CODE); 00085 00086 RPC_STATUS RPC_ENTRY 00087 MesEncodeFixedBufferHandleCreate(char *,ULONG,ULONG *,handle_t *); 00088 RPC_STATUS RPC_ENTRY 00089 MesEncodeDynBufferHandleCreate(char **,ULONG *,handle_t *); 00090 RPC_STATUS RPC_ENTRY 00091 MesDecodeBufferHandleCreate(char *,ULONG,handle_t *); 00092 RPC_STATUS RPC_ENTRY 00093 MesBufferHandleReset(handle_t,ULONG,MIDL_ES_CODE,char **,ULONG,ULONG *); 00094 00095 RPC_STATUS RPC_ENTRY 00096 MesHandleFree(handle_t); 00097 00098 RPC_STATUS RPC_ENTRY 00099 MesInqProcEncodingId(handle_t,PRPC_SYNTAX_IDENTIFIER,ULONG *); 00100 00101 SIZE_T RPC_ENTRY 00102 NdrMesSimpleTypeAlignSize(handle_t); 00103 void RPC_ENTRY 00104 NdrMesSimpleTypeDecode(handle_t,void *,short); 00105 void RPC_ENTRY 00106 NdrMesSimpleTypeEncode(handle_t,const MIDL_STUB_DESC *,const void *,short); 00107 00108 SIZE_T RPC_ENTRY 00109 NdrMesTypeAlignSize(handle_t,const MIDL_STUB_DESC *,PFORMAT_STRING,const void *); 00110 void RPC_ENTRY 00111 NdrMesTypeEncode(handle_t,const MIDL_STUB_DESC *,PFORMAT_STRING,const void *); 00112 void RPC_ENTRY 00113 NdrMesTypeDecode(handle_t,const MIDL_STUB_DESC *,PFORMAT_STRING,void *); 00114 00115 SIZE_T RPC_ENTRY 00116 NdrMesTypeAlignSize2(handle_t,const MIDL_TYPE_PICKLING_INFO *,const MIDL_STUB_DESC *,PFORMAT_STRING,const void *); 00117 void RPC_ENTRY 00118 NdrMesTypeEncode2(handle_t,const MIDL_TYPE_PICKLING_INFO *,const MIDL_STUB_DESC *,PFORMAT_STRING,const void *); 00119 void RPC_ENTRY 00120 NdrMesTypeDecode2(handle_t,const MIDL_TYPE_PICKLING_INFO *,const MIDL_STUB_DESC *,PFORMAT_STRING,void *); 00121 void RPC_ENTRY 00122 NdrMesTypeFree2(handle_t,const MIDL_TYPE_PICKLING_INFO *,const MIDL_STUB_DESC *,PFORMAT_STRING,void *); 00123 00124 void RPC_VAR_ENTRY 00125 NdrMesProcEncodeDecode(handle_t,const MIDL_STUB_DESC *,PFORMAT_STRING,...); 00126 CLIENT_CALL_RETURN RPC_VAR_ENTRY 00127 NdrMesProcEncodeDeocde2(handle_t,const MIDL_STUB_DESC *,PFORMAT_STRING,...); 00128 00129 #ifdef __cplusplus 00130 } 00131 #endif 00132 00133 #endif /* __WINE_MIDLES_H__ */ Generated on Sat May 26 2012 04:30:26 for ReactOS by
1.7.6.1
|