updated listbox control from wine 0.9.2
[reactos.git] / reactos / w32api / include / rpcndr.h
1 #ifndef __RPCNDR_H__
2 #define __RPCNDR_H__
3 #if __GNUC__ >=3
4 #pragma GCC system_header
5 #endif
6
7 #ifndef __RPCNDR_H_VERSION__
8 #define __RPCNDR_H_VERSION__ ( 450 )
9 #endif /* __RPCNDR_H_VERSION__ */
10 #include <rpcnsip.h>
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 #include <objfwd.h>
15 #define TARGET_IS_NT50_OR_LATER 1
16 #define TARGET_IS_NT40_OR_LATER 1
17 #define TARGET_IS_NT351_OR_WIN95_OR_LATER 1
18 #define DECLSPEC_UUID(x)
19 #define MIDL_INTERFACE(x) struct
20 #define NDR_CHAR_REP_MASK (unsigned long)0xFL
21 #define NDR_INT_REP_MASK (unsigned long)0xF0L
22 #define NDR_FLOAT_REP_MASK (unsigned long)0xFF00L
23 #define NDR_LITTLE_ENDIAN (unsigned long)0x10L
24 #define NDR_BIG_ENDIAN (unsigned long)0
25 #define NDR_IEEE_FLOAT (unsigned long)0
26 #define NDR_VAX_FLOAT (unsigned long)0x100L
27 #define NDR_ASCII_CHAR (unsigned long)0
28 #define NDR_EBCDIC_CHAR (unsigned long)1
29 #define NDR_LOCAL_DATA_REPRESENTATION (unsigned long)0x10L
30 #define NDR_LOCAL_ENDIAN NDR_LITTLE_ENDIAN
31 #define __RPC_CALLEE __stdcall
32 #ifndef __MIDL_USER_DEFINED
33 #define midl_user_allocate MIDL_user_allocate
34 #define midl_user_free MIDL_user_free
35 #define __MIDL_USER_DEFINED
36 #endif
37 #define RPC_VAR_ENTRY __cdecl
38 #ifdef _M_IX86
39 #define __MIDL_DECLSPEC_DLLIMPORT __declspec(dllimport)
40 #define __MIDL_DECLSPEC_DLLEXPORT __declspec(dllexport)
41 #else
42 #define __MIDL_DECLSPEC_DLLIMPORT
43 #define __MIDL_DECLSPEC_DLLEXPORT
44 #endif
45 #if defined(_HAVE_INT64) || (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64)
46 #define hyper __int64
47 #define MIDL_uhyper unsigned __int64
48 #else
49 #define hyper double
50 #define MIDL_uhyper double
51 #endif
52 #define small char
53 typedef unsigned char byte;
54 #define NDRSContextValue(hContext) (&(hContext)->userContext)
55 #define cbNDRContext 20
56 #define byte_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; }
57 #define byte_array_from_ndr(Source, LowerIndex, UpperIndex, Target) { NDRcopy ((((char *)(Target))+(LowerIndex)), (Source)->Buffer, (unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned long *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); }
58 #define boolean_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; }
59 #define boolean_array_from_ndr(Source, LowerIndex, UpperIndex, Target) { NDRcopy ((((char *)(Target))+(LowerIndex)), (Source)->Buffer, (unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned long *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); }
60 #define small_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; }
61 #define small_from_ndr_temp(source, target, format) { *(target) = *(*(char**)(source))++; }
62 #define small_array_from_ndr(Source, LowerIndex, UpperIndex, Target) { NDRcopy ((((char *)(Target))+(LowerIndex)), (Source)->Buffer, (unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned long *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); }
63 #define MIDL_ascii_strlen(string) strlen(string)
64 #define MIDL_ascii_strcpy(target,source) strcpy(target,source)
65 #define MIDL_memset(s,c,n) memset(s,c,n)
66 #define _midl_ma1( p, cast ) *(*( cast **)&p)++
67 #define _midl_ma2( p, cast ) *(*( cast **)&p)++
68 #define _midl_ma4( p, cast ) *(*( cast **)&p)++
69 #define _midl_ma8( p, cast ) *(*( cast **)&p)++
70 #define _midl_unma1( p, cast ) *(( cast *)p)++
71 #define _midl_unma2( p, cast ) *(( cast *)p)++
72 #define _midl_unma3( p, cast ) *(( cast *)p)++
73 #define _midl_unma4( p, cast ) *(( cast *)p)++
74 #define _midl_fa2( p ) (p = (RPC_BUFPTR )((unsigned long)(p+1) & 0xfffffffe))
75 #define _midl_fa4( p ) (p = (RPC_BUFPTR )((unsigned long)(p+3) & 0xfffffffc))
76 #define _midl_fa8( p ) (p = (RPC_BUFPTR )((unsigned long)(p+7) & 0xfffffff8))
77 #define _midl_addp( p, n ) (p += n)
78 #define _midl_marsh_lhs( p, cast ) *(*( cast **)&p)++
79 #define _midl_marsh_up( mp, p ) *(*(unsigned long **)&mp)++ = (unsigned long)p
80 #define _midl_advmp( mp ) *(*(unsigned long **)&mp)++
81 #define _midl_unmarsh_up( p ) (*(*(unsigned long **)&p)++)
82 #define NdrMarshConfStringHdr( p, s, l ) (_midl_ma4( p, unsigned long) = s, _midl_ma4( p, unsigned long) = 0, _midl_ma4( p, unsigned long) = l)
83 #define NdrUnMarshConfStringHdr(p, s, l) ((s=_midl_unma4(p,unsigned long), (_midl_addp(p,4)), (l=_midl_unma4(p,unsigned long))
84 #define NdrMarshCCtxtHdl(pc,p) (NDRCContextMarshall( (NDR_CCONTEXT)pc, p ),p+20)
85 #define NdrUnMarshCCtxtHdl(pc,p,h,drep) (NDRCContextUnmarshall((NDR_CONTEXT)pc,h,p,drep), p+20)
86 #define NdrUnMarshSCtxtHdl(pc, p,drep) (pc = NdrSContextUnMarshall(p,drep ))
87 #define NdrMarshSCtxtHdl(pc,p,rd) (NdrSContextMarshall((NDR_SCONTEXT)pc,p, (NDR_RUNDOWN)rd)
88 #define NdrFieldOffset(s,f) (long)(& (((s *)0)->f))
89 #define NdrFieldPad(s,f,p,t) (NdrFieldOffset(s,f) - NdrFieldOffset(s,p) - sizeof(t))
90 #define NdrFcShort(s) (unsigned char)(s & 0xff), (unsigned char)(s >> 8)
91 #define NdrFcLong(s) (unsigned char)(s & 0xff), (unsigned char)((s & 0x0000ff00) >> 8), (unsigned char)((s & 0x00ff0000) >> 16), (unsigned char)(s >> 24)
92 #ifdef CONST_VTABLE
93 #define CONST_VTBL const
94 #else
95 #define CONST_VTBL
96 #endif
97 typedef void *NDR_CCONTEXT;
98 typedef struct {
99 void *pad[2];
100 void *userContext;
101 } *NDR_SCONTEXT;
102 typedef void (__RPC_USER *NDR_RUNDOWN)(void*);
103 typedef struct _SCONTEXT_QUEUE {
104 unsigned long NumberOfObjects;
105 NDR_SCONTEXT *ArrayOfObjects;
106 } SCONTEXT_QUEUE,*PSCONTEXT_QUEUE;
107 struct _MIDL_STUB_MESSAGE;
108 struct _MIDL_STUB_DESC;
109 struct _FULL_PTR_XLAT_TABLES;
110 typedef unsigned char *RPC_BUFPTR;
111 typedef unsigned long RPC_LENGTH;
112 typedef void(__RPC_USER *EXPR_EVAL)(struct _MIDL_STUB_MESSAGE*);
113 typedef const unsigned char *PFORMAT_STRING;
114 typedef struct {
115 long Dimension;
116 unsigned long *BufferConformanceMark;
117 unsigned long *BufferVarianceMark;
118 unsigned long *MaxCountArray;
119 unsigned long *OffsetArray;
120 unsigned long *ActualCountArray;
121 } ARRAY_INFO,*PARRAY_INFO;
122
123 RPC_BINDING_HANDLE RPC_ENTRY NDRCContextBinding(NDR_CCONTEXT);
124 void RPC_ENTRY NDRCContextMarshall(NDR_CCONTEXT,void*);
125 void RPC_ENTRY NDRCContextUnmarshall(NDR_CCONTEXT*,RPC_BINDING_HANDLE,void*,unsigned long);
126 void RPC_ENTRY NDRSContextMarshall(NDR_SCONTEXT,void*,NDR_RUNDOWN);
127 NDR_SCONTEXT RPC_ENTRY NDRSContextUnmarshall(void*pBuff,unsigned long);
128 void RPC_ENTRY RpcSsDestroyClientContext(void**);
129 void RPC_ENTRY NDRcopy(void*,void*,unsigned int);
130 unsigned int RPC_ENTRY MIDL_wchar_strlen(wchar_t*);
131 void RPC_ENTRY MIDL_wchar_strcpy(void*,wchar_t*);
132 void RPC_ENTRY char_from_ndr(PRPC_MESSAGE,unsigned char*);
133 void RPC_ENTRY char_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,unsigned char*);
134 void RPC_ENTRY short_from_ndr(PRPC_MESSAGE,unsigned short*);
135 void RPC_ENTRY short_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,unsigned short*);
136 void RPC_ENTRY short_from_ndr_temp(unsigned char**,unsigned short*,unsigned long);
137 void RPC_ENTRY long_from_ndr(PRPC_MESSAGE,unsigned long*);
138 void RPC_ENTRY long_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,unsigned long*);
139 void RPC_ENTRY long_from_ndr_temp(unsigned char**,unsigned long*,unsigned long);
140 void RPC_ENTRY enum_from_ndr(PRPC_MESSAGE,unsigned int*);
141 void RPC_ENTRY float_from_ndr(PRPC_MESSAGE,void*);
142 void RPC_ENTRY float_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,void*);
143 void RPC_ENTRY double_from_ndr(PRPC_MESSAGE,void*);
144 void RPC_ENTRY double_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,void*);
145 void RPC_ENTRY hyper_from_ndr(PRPC_MESSAGE,hyper*);
146 void RPC_ENTRY hyper_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,hyper*);
147 void RPC_ENTRY hyper_from_ndr_temp(unsigned char**,hyper*,unsigned long);
148 void RPC_ENTRY data_from_ndr(PRPC_MESSAGE,void*,char*,unsigned char);
149 void RPC_ENTRY data_into_ndr(void*,PRPC_MESSAGE,char*,unsigned char);
150 void RPC_ENTRY tree_into_ndr(void*,PRPC_MESSAGE,char*,unsigned char);
151 void RPC_ENTRY data_size_ndr(void*,PRPC_MESSAGE,char*,unsigned char);
152 void RPC_ENTRY tree_size_ndr(void*,PRPC_MESSAGE,char*,unsigned char);
153 void RPC_ENTRY tree_peek_ndr(PRPC_MESSAGE,unsigned char**,char*,unsigned char);
154 void *RPC_ENTRY midl_allocate(int);
155
156 typedef struct
157 {
158 unsigned long WireCodeset;
159 unsigned long DesiredReceivingCodeset;
160 void *CSArrayInfo;
161 } CS_STUB_INFO;
162
163 typedef struct _NDR_ASYNC_MESSAGE *PNDR_ASYNC_MESSAGE;
164 typedef struct _NDR_CORRELATION_INFO *PNDR_CORRELATION_INFO;
165
166 #pragma pack(push,4)
167 typedef struct _MIDL_STUB_MESSAGE {
168 PRPC_MESSAGE RpcMsg;
169 unsigned char *Buffer;
170 unsigned char *BufferStart;
171 unsigned char *BufferEnd;
172 unsigned char *BufferMark;
173 unsigned long BufferLength;
174 unsigned long MemorySize;
175 unsigned char *Memory;
176 int IsClient;
177 int ReuseBuffer;
178 unsigned char *AllocAllNodesMemory;
179 unsigned char *AllocAllNodesMemoryEnd;
180 int IgnoreEmbeddedPointers;
181 unsigned char *PointerBufferMark;
182 unsigned char fBufferValid;
183 unsigned char uFlags;
184 unsigned long MaxCount;
185 unsigned long Offset;
186 unsigned long ActualCount;
187 void*(__RPC_API *pfnAllocate)(unsigned int);
188 void(__RPC_API *pfnFree)(void*);
189 unsigned char *StackTop;
190 unsigned char *pPresentedType;
191 unsigned char *pTransmitType;
192 handle_t SavedHandle;
193 const struct _MIDL_STUB_DESC *StubDesc;
194 struct _FULL_PTR_XLAT_TABLES *FullPtrXlatTables;
195 unsigned long FullPtrRefId;
196 int fCheckBounds;
197 int fInDontFree :1;
198 int fDontCallFreeInst :1;
199 int fInOnlyParam :1;
200 int fHasReturn :1;
201 unsigned long dwDestContext;
202 void*pvDestContext;
203 NDR_SCONTEXT *SavedContextHandles;
204 long ParamNumber;
205 struct IRpcChannelBuffer *pRpcChannelBuffer;
206 PARRAY_INFO pArrayInfo;
207 unsigned long *SizePtrCountArray;
208 unsigned long *SizePtrOffsetArray;
209 unsigned long *SizePtrLengthArray;
210 void*pArgQueue;
211 unsigned long dwStubPhase;
212 void *LowStackMark;
213 PNDR_ASYNC_MESSAGE pAsyncMsg;
214 PNDR_CORRELATION_INFO pCorrInfo;
215 unsigned char *pCorrMemory;
216 void *pMemoryList;
217 CS_STUB_INFO *pCSInfo;
218 unsigned char *ConformanceMark;
219 unsigned char *VarianceMark;
220 INT_PTR Unused;
221 struct _NDR_PROC_CONTEXT *pContext;
222 INT_PTR Reserved51_1;
223 INT_PTR Reserved51_2;
224 INT_PTR Reserved51_3;
225 INT_PTR Reserved51_4;
226 INT_PTR Reserved51_5;
227 } MIDL_STUB_MESSAGE,*PMIDL_STUB_MESSAGE;
228 #pragma pack(pop)
229 typedef void*(__RPC_API *GENERIC_BINDING_ROUTINE)(void*);
230 typedef void (__RPC_API *GENERIC_UNBIND_ROUTINE)(void*,unsigned char*);
231 typedef struct _GENERIC_BINDING_ROUTINE_PAIR {
232 GENERIC_BINDING_ROUTINE pfnBind;
233 GENERIC_UNBIND_ROUTINE pfnUnbind;
234 } GENERIC_BINDING_ROUTINE_PAIR,*PGENERIC_BINDING_ROUTINE_PAIR;
235 typedef struct __GENERIC_BINDING_INFO {
236 void *pObj;
237 unsigned int Size;
238 GENERIC_BINDING_ROUTINE pfnBind;
239 GENERIC_UNBIND_ROUTINE pfnUnbind;
240 } GENERIC_BINDING_INFO,*PGENERIC_BINDING_INFO;
241 typedef void(__RPC_USER *XMIT_HELPER_ROUTINE)(PMIDL_STUB_MESSAGE);
242 typedef struct _XMIT_ROUTINE_QUINTUPLE {
243 XMIT_HELPER_ROUTINE pfnTranslateToXmit;
244 XMIT_HELPER_ROUTINE pfnTranslateFromXmit;
245 XMIT_HELPER_ROUTINE pfnFreeXmit;
246 XMIT_HELPER_ROUTINE pfnFreeInst;
247 } XMIT_ROUTINE_QUINTUPLE,*PXMIT_ROUTINE_QUINTUPLE;
248 typedef struct _MALLOC_FREE_STRUCT {
249 void*(__RPC_USER *pfnAllocate)(unsigned int);
250 void(__RPC_USER *pfnFree)(void*);
251 } MALLOC_FREE_STRUCT;
252 typedef struct _COMM_FAULT_OFFSETS {
253 short CommOffset;
254 short FaultOffset;
255 } COMM_FAULT_OFFSETS;
256 typedef unsigned long (__RPC_USER *USER_MARSHAL_SIZING_ROUTINE)(unsigned long *,unsigned long,void *);
257 typedef unsigned char *(__RPC_USER *USER_MARSHAL_MARSHALLING_ROUTINE)(unsigned long *,unsigned char *,void *);
258 typedef unsigned char *(__RPC_USER *USER_MARSHAL_UNMARSHALLING_ROUTINE)(unsigned long *,unsigned char *,void *);
259 typedef void (__RPC_USER *USER_MARSHAL_FREEING_ROUTINE)(unsigned long *,void *);
260 typedef struct _USER_MARSHAL_ROUTINE_QUADRUPLE {
261 USER_MARSHAL_SIZING_ROUTINE pfnBufferSize;
262 USER_MARSHAL_MARSHALLING_ROUTINE pfnMarshall;
263 USER_MARSHAL_UNMARSHALLING_ROUTINE pfnUnmarshall;
264 USER_MARSHAL_FREEING_ROUTINE pfnFree;
265 } USER_MARSHAL_ROUTINE_QUADRUPLE;
266 typedef void (__RPC_USER *NDR_NOTIFY_ROUTINE)(void);
267 typedef enum _IDL_CS_CONVERT {
268 IDL_CS_NO_CONVERT,
269 IDL_CS_IN_PLACE_CONVERT,
270 IDL_CS_NEW_BUFFER_CONVERT
271 } IDL_CS_CONVERT;
272 typedef void (__RPC_USER *CS_TYPE_NET_SIZE_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,unsigned long,IDL_CS_CONVERT*,unsigned long*,error_status_t*);
273 typedef void (__RPC_USER *CS_TYPE_LOCAL_SIZE_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,unsigned long,IDL_CS_CONVERT*,unsigned long*,error_status_t*);
274 typedef void (__RPC_USER *CS_TYPE_TO_NETCS_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,void*,unsigned long,byte*,unsigned long*,error_status_t*);
275 typedef void (__RPC_USER *CS_TYPE_FROM_NETCS_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,byte*,unsigned long,unsigned long,void*,unsigned long*,error_status_t*);
276 typedef void (__RPC_USER *CS_TAG_GETTING_ROUTINE)(RPC_BINDING_HANDLE,int,unsigned long*,unsigned long*,unsigned long*,error_status_t*);
277 typedef struct _NDR_CS_SIZE_CONVERT_ROUTINES {
278 CS_TYPE_NET_SIZE_ROUTINE pfnNetSize;
279 CS_TYPE_TO_NETCS_ROUTINE pfnToNetCs;
280 CS_TYPE_LOCAL_SIZE_ROUTINE pfnLocalSize;
281 CS_TYPE_FROM_NETCS_ROUTINE pfnFromNetCs;
282 } NDR_CS_SIZE_CONVERT_ROUTINES;
283 typedef struct _NDR_CS_ROUTINES {
284 NDR_CS_SIZE_CONVERT_ROUTINES *pSizeConvertRoutines;
285 CS_TAG_GETTING_ROUTINE *pTagGettingRoutines;
286 } NDR_CS_ROUTINES;
287 typedef struct _MIDL_STUB_DESC {
288 void*RpcInterfaceInformation;
289 void*(__RPC_API *pfnAllocate)(unsigned int);
290 void(__RPC_API *pfnFree)(void*);
291 union {
292 handle_t *pAutoHandle;
293 handle_t *pPrimitiveHandle;
294 PGENERIC_BINDING_INFO pGenericBindingInfo;
295 } IMPLICIT_HANDLE_INFO;
296 const NDR_RUNDOWN *apfnNdrRundownRoutines;
297 const GENERIC_BINDING_ROUTINE_PAIR *aGenericBindingRoutinePairs;
298 const EXPR_EVAL *apfnExprEval;
299 const XMIT_ROUTINE_QUINTUPLE *aXmitQuintuple;
300 const unsigned char *pFormatTypes;
301 int fCheckBounds;
302 unsigned long Version;
303 MALLOC_FREE_STRUCT *pMallocFreeStruct;
304 long MIDLVersion;
305 const COMM_FAULT_OFFSETS *CommFaultOffsets;
306 const USER_MARSHAL_ROUTINE_QUADRUPLE *aUserMarshalQuadruple;
307 const NDR_NOTIFY_ROUTINE *NotifyRoutineTable;
308 ULONG_PTR mFlags;
309 const NDR_CS_ROUTINES *CsRoutineTables;
310 void *Reserved4;
311 ULONG_PTR Reserved5;
312 } MIDL_STUB_DESC;
313 typedef const MIDL_STUB_DESC *PMIDL_STUB_DESC;
314 typedef void*PMIDL_XMIT_TYPE;
315 typedef struct _MIDL_FORMAT_STRING {
316 short Pad;
317 unsigned char Format[1];
318 } MIDL_FORMAT_STRING;
319 typedef struct _MIDL_SYNTAX_INFO
320 {
321 RPC_SYNTAX_IDENTIFIER TransferSyntax;
322 RPC_DISPATCH_TABLE *DispatchTable;
323 PFORMAT_STRING ProcString;
324 const unsigned short *FmtStringOffset;
325 PFORMAT_STRING TypeString;
326 const void *aUserMarshalQuadruple;
327 ULONG_PTR pReserved1;
328 ULONG_PTR pReserved2;
329 } MIDL_SYNTAX_INFO, *PMIDL_SYNTAX_INFO;
330 typedef void(__RPC_API *STUB_THUNK)(PMIDL_STUB_MESSAGE);
331 typedef long(__RPC_API *SERVER_ROUTINE)(void);
332 typedef struct _MIDL_SERVER_INFO_ {
333 PMIDL_STUB_DESC pStubDesc;
334 const SERVER_ROUTINE *DispatchTable;
335 PFORMAT_STRING ProcString;
336 const unsigned short *FmtStringOffset;
337 const STUB_THUNK *ThunkTable;
338 PRPC_SYNTAX_IDENTIFIER pTransferSyntax;
339 ULONG_PTR nCount;
340 PMIDL_SYNTAX_INFO pSyntaxInfo;
341 } MIDL_SERVER_INFO,*PMIDL_SERVER_INFO;
342 typedef struct _MIDL_STUBLESS_PROXY_INFO {
343 PMIDL_STUB_DESC pStubDesc;
344 PFORMAT_STRING ProcFormatString;
345 const unsigned short *FormatStringOffset;
346 } MIDL_STUBLESS_PROXY_INFO;
347 typedef MIDL_STUBLESS_PROXY_INFO *PMIDL_STUBLESS_PROXY_INFO;
348 typedef union _CLIENT_CALL_RETURN {
349 void *Pointer;
350 long Simple;
351 } CLIENT_CALL_RETURN;
352 typedef enum { XLAT_SERVER = 1,XLAT_CLIENT } XLAT_SIDE;
353 typedef struct _FULL_PTR_TO_REFID_ELEMENT {
354 struct _FULL_PTR_TO_REFID_ELEMENT *Next;
355 void*Pointer;
356 unsigned long RefId;
357 unsigned char State;
358 } FULL_PTR_TO_REFID_ELEMENT,*PFULL_PTR_TO_REFID_ELEMENT;
359 typedef struct _FULL_PTR_XLAT_TABLES {
360 struct {
361 void **XlatTable;
362 unsigned char *StateTable;
363 unsigned long NumberOfEntries;
364 } RefIdToPointer;
365 struct {
366 PFULL_PTR_TO_REFID_ELEMENT *XlatTable;
367 unsigned long NumberOfBuckets;
368 unsigned long HashMask;
369 } PointerToRefId;
370 unsigned long NextRefId;
371 XLAT_SIDE XlatSide;
372 } FULL_PTR_XLAT_TABLES,*PFULL_PTR_XLAT_TABLES;
373 void RPC_ENTRY NdrSimpleTypeMarshall(PMIDL_STUB_MESSAGE,unsigned char*,unsigned char);
374 unsigned char *RPC_ENTRY NdrPointerMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING pFormat);
375 unsigned char *RPC_ENTRY NdrSimpleStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
376 unsigned char *RPC_ENTRY NdrConformantStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
377 unsigned char *RPC_ENTRY NdrConformantVaryingStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
378 unsigned char *RPC_ENTRY NdrHardStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
379 unsigned char *RPC_ENTRY NdrComplexStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
380 unsigned char *RPC_ENTRY NdrFixedArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
381 unsigned char *RPC_ENTRY NdrConformantArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
382 unsigned char *RPC_ENTRY NdrConformantVaryingArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
383 unsigned char *RPC_ENTRY NdrVaryingArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
384 unsigned char *RPC_ENTRY NdrComplexArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
385 unsigned char *RPC_ENTRY NdrNonConformantStringMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
386 unsigned char *RPC_ENTRY NdrConformantStringMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
387 unsigned char *RPC_ENTRY NdrEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
388 unsigned char *RPC_ENTRY NdrNonEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
389 unsigned char *RPC_ENTRY NdrByteCountPointerMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
390 unsigned char *RPC_ENTRY NdrXmitOrRepAsMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
391 unsigned char *RPC_ENTRY NdrInterfacePointerMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
392 void RPC_ENTRY NdrClientContextMarshall(PMIDL_STUB_MESSAGE,NDR_CCONTEXT,int);
393 void RPC_ENTRY NdrServerContextMarshall(PMIDL_STUB_MESSAGE,NDR_SCONTEXT,NDR_RUNDOWN);
394 void RPC_ENTRY NdrSimpleTypeUnmarshall(PMIDL_STUB_MESSAGE,unsigned char*,unsigned char);
395 unsigned char *RPC_ENTRY NdrPointerUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
396 unsigned char *RPC_ENTRY NdrSimpleStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
397 unsigned char *RPC_ENTRY NdrConformantStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
398 unsigned char *RPC_ENTRY NdrConformantVaryingStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
399 unsigned char *RPC_ENTRY NdrHardStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
400 unsigned char *RPC_ENTRY NdrComplexStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
401 unsigned char *RPC_ENTRY NdrFixedArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
402 unsigned char *RPC_ENTRY NdrConformantArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
403 unsigned char *RPC_ENTRY NdrConformantVaryingArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
404 unsigned char *RPC_ENTRY NdrVaryingArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
405 unsigned char *RPC_ENTRY NdrComplexArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
406 unsigned char *RPC_ENTRY NdrNonConformantStringUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
407 unsigned char *RPC_ENTRY NdrConformantStringUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
408 unsigned char *RPC_ENTRY NdrEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
409 unsigned char *RPC_ENTRY NdrNonEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
410 unsigned char *RPC_ENTRY NdrByteCountPointerUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
411 unsigned char *RPC_ENTRY NdrXmitOrRepAsUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
412 unsigned char *RPC_ENTRY NdrInterfacePointerUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
413 void RPC_ENTRY NdrClientContextUnmarshall(PMIDL_STUB_MESSAGE,NDR_CCONTEXT*,RPC_BINDING_HANDLE);
414 NDR_SCONTEXT RPC_ENTRY NdrServerContextUnmarshall(PMIDL_STUB_MESSAGE);
415 void RPC_ENTRY NdrPointerBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
416 void RPC_ENTRY NdrSimpleStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
417 void RPC_ENTRY NdrConformantStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
418 void RPC_ENTRY NdrConformantVaryingStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
419 void RPC_ENTRY NdrHardStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
420 void RPC_ENTRY NdrComplexStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
421 void RPC_ENTRY NdrFixedArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
422 void RPC_ENTRY NdrConformantArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
423 void RPC_ENTRY NdrConformantVaryingArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
424 void RPC_ENTRY NdrVaryingArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
425 void RPC_ENTRY NdrComplexArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
426 void RPC_ENTRY NdrConformantStringBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
427 void RPC_ENTRY NdrNonConformantStringBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
428 void RPC_ENTRY NdrEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
429 void RPC_ENTRY NdrNonEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
430 void RPC_ENTRY NdrByteCountPointerBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
431 void RPC_ENTRY NdrXmitOrRepAsBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
432 void RPC_ENTRY NdrInterfacePointerBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
433 void RPC_ENTRY NdrContextHandleSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
434 unsigned long RPC_ENTRY NdrPointerMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
435 unsigned long RPC_ENTRY NdrSimpleStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
436 unsigned long RPC_ENTRY NdrConformantStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
437 unsigned long RPC_ENTRY NdrConformantVaryingStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
438 unsigned long RPC_ENTRY NdrHardStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
439 unsigned long RPC_ENTRY NdrComplexStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
440 unsigned long RPC_ENTRY NdrFixedArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
441 unsigned long RPC_ENTRY NdrConformantArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
442 unsigned long RPC_ENTRY NdrConformantVaryingArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
443 unsigned long RPC_ENTRY NdrVaryingArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
444 unsigned long RPC_ENTRY NdrComplexArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
445 unsigned long RPC_ENTRY NdrConformantStringMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
446 unsigned long RPC_ENTRY NdrNonConformantStringMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
447 unsigned long RPC_ENTRY NdrEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
448 unsigned long RPC_ENTRY NdrNonEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
449 unsigned long RPC_ENTRY NdrXmitOrRepAsMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
450 unsigned long RPC_ENTRY NdrInterfacePointerMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
451 void RPC_ENTRY NdrPointerFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
452 void RPC_ENTRY NdrSimpleStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
453 void RPC_ENTRY NdrConformantStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
454 void RPC_ENTRY NdrConformantVaryingStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
455 void RPC_ENTRY NdrHardStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
456 void RPC_ENTRY NdrComplexStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
457 void RPC_ENTRY NdrFixedArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
458 void RPC_ENTRY NdrConformantArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
459 void RPC_ENTRY NdrConformantVaryingArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
460 void RPC_ENTRY NdrVaryingArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
461 void RPC_ENTRY NdrComplexArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
462 void RPC_ENTRY NdrEncapsulatedUnionFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
463 void RPC_ENTRY NdrNonEncapsulatedUnionFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
464 void RPC_ENTRY NdrByteCountPointerFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
465 void RPC_ENTRY NdrXmitOrRepAsFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
466 void RPC_ENTRY NdrInterfacePointerFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
467 void RPC_ENTRY NdrConvert(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
468 void RPC_ENTRY NdrClientInitializeNew(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,unsigned int);
469 unsigned char *RPC_ENTRY NdrServerInitializeNew(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC);
470 void RPC_ENTRY NdrClientInitialize(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,unsigned int);
471 unsigned char *RPC_ENTRY NdrServerInitialize(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC);
472 unsigned char *RPC_ENTRY NdrServerInitializeUnmarshall(PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,PRPC_MESSAGE);
473 void RPC_ENTRY NdrServerInitializeMarshall(PRPC_MESSAGE,PMIDL_STUB_MESSAGE);
474 unsigned char *RPC_ENTRY NdrGetBuffer(PMIDL_STUB_MESSAGE,unsigned long,RPC_BINDING_HANDLE);
475 unsigned char *RPC_ENTRY NdrNsGetBuffer(PMIDL_STUB_MESSAGE,unsigned long,RPC_BINDING_HANDLE);
476 unsigned char *RPC_ENTRY NdrSendReceive(PMIDL_STUB_MESSAGE,unsigned char*);
477 unsigned char *RPC_ENTRY NdrNsSendReceive(PMIDL_STUB_MESSAGE,unsigned char*,RPC_BINDING_HANDLE*);
478 void RPC_ENTRY NdrFreeBuffer(PMIDL_STUB_MESSAGE);
479 CLIENT_CALL_RETURN RPC_VAR_ENTRY NdrClientCall(PMIDL_STUB_DESC,PFORMAT_STRING,...);
480 typedef enum {
481 STUB_UNMARSHAL,
482 STUB_CALL_SERVER,
483 STUB_MARSHAL,
484 STUB_CALL_SERVER_NO_HRESULT
485 } STUB_PHASE;
486 typedef enum {
487 PROXY_CALCSIZE,
488 PROXY_GETBUFFER,
489 PROXY_MARSHAL,
490 PROXY_SENDRECEIVE,
491 PROXY_UNMARSHAL
492 } PROXY_PHASE;
493 long RPC_ENTRY NdrStubCall(struct IRpcStubBuffer*,struct IRpcChannelBuffer*,PRPC_MESSAGE,unsigned long*);
494 void RPC_ENTRY NdrServerCall(PRPC_MESSAGE);
495 int RPC_ENTRY NdrServerUnmarshall(struct IRpcChannelBuffer*,PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,PFORMAT_STRING,void*);
496 void RPC_ENTRY NdrServerMarshall(struct IRpcStubBuffer*,struct IRpcChannelBuffer*,PMIDL_STUB_MESSAGE,PFORMAT_STRING);
497 RPC_STATUS RPC_ENTRY NdrMapCommAndFaultStatus(PMIDL_STUB_MESSAGE,unsigned long*,unsigned long*,RPC_STATUS);
498 int RPC_ENTRY NdrSH_UPDecision(PMIDL_STUB_MESSAGE,unsigned char**,RPC_BUFPTR);
499 int RPC_ENTRY NdrSH_TLUPDecision(PMIDL_STUB_MESSAGE,unsigned char**);
500 int RPC_ENTRY NdrSH_TLUPDecisionBuffer(PMIDL_STUB_MESSAGE,unsigned char**);
501 int RPC_ENTRY NdrSH_IfAlloc(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long);
502 int RPC_ENTRY NdrSH_IfAllocRef(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long);
503 int RPC_ENTRY NdrSH_IfAllocSet(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long);
504 RPC_BUFPTR RPC_ENTRY NdrSH_IfCopy(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long);
505 RPC_BUFPTR RPC_ENTRY NdrSH_IfAllocCopy(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long);
506 unsigned long RPC_ENTRY NdrSH_Copy(unsigned char*,unsigned char*,unsigned long);
507 void RPC_ENTRY NdrSH_IfFree(PMIDL_STUB_MESSAGE,unsigned char*);
508 RPC_BUFPTR RPC_ENTRY NdrSH_StringMarshall(PMIDL_STUB_MESSAGE,unsigned char*,unsigned long,int);
509 RPC_BUFPTR RPC_ENTRY NdrSH_StringUnMarshall(PMIDL_STUB_MESSAGE,unsigned char**,int);
510 typedef void *RPC_SS_THREAD_HANDLE;
511 typedef void* __RPC_API RPC_CLIENT_ALLOC(unsigned int);
512 typedef void __RPC_API RPC_CLIENT_FREE(void*);
513 void*RPC_ENTRY RpcSsAllocate(unsigned int);
514 void RPC_ENTRY RpcSsDisableAllocate(void);
515 void RPC_ENTRY RpcSsEnableAllocate(void);
516 void RPC_ENTRY RpcSsFree(void*);
517 RPC_SS_THREAD_HANDLE RPC_ENTRY RpcSsGetThreadHandle(void);
518 void RPC_ENTRY RpcSsSetClientAllocFree(RPC_CLIENT_ALLOC*,RPC_CLIENT_FREE*);
519 void RPC_ENTRY RpcSsSetThreadHandle(RPC_SS_THREAD_HANDLE);
520 void RPC_ENTRY RpcSsSwapClientAllocFree(RPC_CLIENT_ALLOC*,RPC_CLIENT_FREE*,RPC_CLIENT_ALLOC**,RPC_CLIENT_FREE**);
521 void*RPC_ENTRY RpcSmAllocate(unsigned int,RPC_STATUS*);
522 RPC_STATUS RPC_ENTRY RpcSmClientFree(void*);
523 RPC_STATUS RPC_ENTRY RpcSmDestroyClientContext(void**);
524 RPC_STATUS RPC_ENTRY RpcSmDisableAllocate(void);
525 RPC_STATUS RPC_ENTRY RpcSmEnableAllocate(void);
526 RPC_STATUS RPC_ENTRY RpcSmFree(void*);
527 RPC_SS_THREAD_HANDLE RPC_ENTRY RpcSmGetThreadHandle(RPC_STATUS*);
528 RPC_STATUS RPC_ENTRY RpcSmSetClientAllocFree(RPC_CLIENT_ALLOC*,RPC_CLIENT_FREE*);
529 RPC_STATUS RPC_ENTRY RpcSmSetThreadHandle(RPC_SS_THREAD_HANDLE);
530 RPC_STATUS RPC_ENTRY RpcSmSwapClientAllocFree(RPC_CLIENT_ALLOC*,RPC_CLIENT_FREE*,RPC_CLIENT_ALLOC**,RPC_CLIENT_FREE**);
531 void RPC_ENTRY NdrRpcSsEnableAllocate(PMIDL_STUB_MESSAGE);
532 void RPC_ENTRY NdrRpcSsDisableAllocate(PMIDL_STUB_MESSAGE);
533 void RPC_ENTRY NdrRpcSmSetClientToOsf(PMIDL_STUB_MESSAGE);
534 void*RPC_ENTRY NdrRpcSmClientAllocate(unsigned int);
535 void RPC_ENTRY NdrRpcSmClientFree(void*);
536 void*RPC_ENTRY NdrRpcSsDefaultAllocate(unsigned int);
537 void RPC_ENTRY NdrRpcSsDefaultFree(void*);
538 PFULL_PTR_XLAT_TABLES RPC_ENTRY NdrFullPointerXlatInit(unsigned long,XLAT_SIDE);
539 void RPC_ENTRY NdrFullPointerXlatFree(PFULL_PTR_XLAT_TABLES);
540 int RPC_ENTRY NdrFullPointerQueryPointer(PFULL_PTR_XLAT_TABLES,void*,unsigned char,unsigned long*);
541 int RPC_ENTRY NdrFullPointerQueryRefId(PFULL_PTR_XLAT_TABLES,unsigned long,unsigned char,void**);
542 void RPC_ENTRY NdrFullPointerInsertRefId(PFULL_PTR_XLAT_TABLES,unsigned long,void*);
543 int RPC_ENTRY NdrFullPointerFree(PFULL_PTR_XLAT_TABLES,void*);
544 void*RPC_ENTRY NdrAllocate(PMIDL_STUB_MESSAGE,unsigned int);
545 void RPC_ENTRY NdrClearOutParameters(PMIDL_STUB_MESSAGE,PFORMAT_STRING,void*);
546 void*RPC_ENTRY NdrOleAllocate(unsigned int);
547 void RPC_ENTRY NdrOleFree(void*);
548 unsigned char*RPC_ENTRY NdrUserMarshalMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
549 unsigned char*RPC_ENTRY NdrUserMarshalUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
550 void RPC_ENTRY NdrUserMarshalBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
551 unsigned long RPC_ENTRY NdrUserMarshalMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
552 void RPC_ENTRY NdrUserMarshalFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
553 #ifdef __cplusplus
554 }
555 #endif
556 #endif