1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef __RPCNDR_H_VERSION__
7 #define __RPCNDR_H_VERSION__ (475)
8 #endif
9 
10 #ifndef __RPCNDR_H__
11 #define __RPCNDR_H__
12 
13 #ifdef __REQUIRED_RPCNDR_H_VERSION__
14 #if (475 < __REQUIRED_RPCNDR_H_VERSION__)
15 #error incorrect <rpcndr.h> version. Use the header that matches with the MIDL compiler.
16 #endif
17 #endif
18 
19 #include <pshpack8.h>
20 #include <basetsd.h>
21 #include <rpcnsip.h>
22 #include <rpcsal.h>
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 #define NDR_CHAR_REP_MASK __MSABI_LONG(0X0000000FU)
29 #define NDR_INT_REP_MASK __MSABI_LONG(0X000000F0U)
30 #define NDR_FLOAT_REP_MASK __MSABI_LONG(0X0000FF00U)
31 
32 #define NDR_LITTLE_ENDIAN __MSABI_LONG(0X00000010U)
33 #define NDR_BIG_ENDIAN __MSABI_LONG(0X00000000U)
34 
35 #define NDR_IEEE_FLOAT __MSABI_LONG(0X00000000U)
36 #define NDR_VAX_FLOAT __MSABI_LONG(0X00000100U)
37 #define NDR_IBM_FLOAT __MSABI_LONG(0X00000300U)
38 
39 #define NDR_ASCII_CHAR __MSABI_LONG(0X00000000U)
40 #define NDR_EBCDIC_CHAR __MSABI_LONG(0X00000001U)
41 
42 #define NDR_LOCAL_DATA_REPRESENTATION __MSABI_LONG(0X00000010U)
43 #define NDR_LOCAL_ENDIAN NDR_LITTLE_ENDIAN
44 
45 #if _WIN32_WINNT >= 0x601
46 #define TARGET_IS_NT61_OR_LATER 1
47 #else
48 #define TARGET_IS_NT61_OR_LATER 0
49 #endif
50 #if _WIN32_WINNT >= 0x600
51 #define TARGET_IS_NT60_OR_LATER 1
52 #else
53 #define TARGET_IS_NT60_OR_LATER 0
54 #endif
55 #define TARGET_IS_NT51_OR_LATER 1
56 #define TARGET_IS_NT50_OR_LATER 1
57 #define TARGET_IS_NT40_OR_LATER 1
58 #define TARGET_IS_NT351_OR_WIN95_OR_LATER 1
59 
60 #ifdef RC_INVOKED
61 #define small char
62 #endif
63   typedef unsigned char byte;
64   typedef byte cs_byte;
65   typedef unsigned char boolean;
66 
67 #ifndef _HYPER_DEFINED
68 #define _HYPER_DEFINED
69 #define hyper /* __MINGW_EXTENSION */ __int64
70 #define MIDL_uhyper /* __MINGW_EXTENSION */ unsigned __int64
71 #endif
72 
73 #ifndef _WCHAR_T_DEFINED
74 #define _WCHAR_T_DEFINED
75   typedef unsigned short wchar_t;
76 #endif
77 
78 #ifndef _SIZE_T_DEFINED
79 #define _SIZE_T_DEFINED
80 #undef size_t
81 #ifdef _WIN64
82   __MINGW_EXTENSION typedef unsigned __int64 size_t;
83 #else
84   typedef unsigned int size_t;
85 #endif
86 #endif
87 
88 #ifndef _SSIZE_T_DEFINED
89 #define _SSIZE_T_DEFINED
90 #undef ssize_t
91 #ifdef _WIN64
92   __MINGW_EXTENSION typedef __int64 ssize_t;
93 #else
94   typedef int ssize_t;
95 #endif
96 #endif
97 
98 #ifdef __RPC_WIN32__
99 #if defined(_ARM_)
100 #define __RPC_CALLEE
101 #else
102 #define __RPC_CALLEE __stdcall
103 #endif
104 #endif
105 
106 #ifndef __MIDL_USER_DEFINED
107 #define __MIDL_USER_DEFINED
108 #define midl_user_allocate MIDL_user_allocate
109 #define midl_user_free MIDL_user_free
110 #endif
111 
112 #ifndef __MIDL_user_allocate_free_DEFINED__
113 #define __MIDL_user_allocate_free_DEFINED__
114   void *__RPC_USER MIDL_user_allocate(size_t);
115   void __RPC_USER MIDL_user_free(void *);
116 #endif
117 
118 #define RPC_VAR_ENTRY __cdecl
119 
120 #if (defined(_X86_) && !defined(__x86_64)) || defined(__x86_64) || defined(__ia64__)
121 #define __MIDL_DECLSPEC_DLLIMPORT __declspec(dllimport)
122 #define __MIDL_DECLSPEC_DLLEXPORT __declspec(dllexport)
123 #else
124 #define __MIDL_DECLSPEC_DLLIMPORT
125 #define __MIDL_DECLSPEC_DLLEXPORT
126 #endif
127 
128   typedef void *NDR_CCONTEXT;
129 
130   typedef struct _NDR_SCONTEXT {
131     void *pad[2];
132     void *userContext;
133   } *NDR_SCONTEXT;
134 
135 #define NDRSContextValue(hContext) (&(hContext)->userContext)
136 
137 #define cbNDRContext 20
138 
139   typedef void (__RPC_API *NDR_RUNDOWN)(void *context);
140   typedef void (__RPC_API *NDR_NOTIFY_ROUTINE)(void);
141   typedef void (__RPC_API *NDR_NOTIFY2_ROUTINE)(boolean flag);
142 
143   typedef struct _SCONTEXT_QUEUE {
144     unsigned __LONG32 NumberOfObjects;
145     NDR_SCONTEXT *ArrayOfObjects;
146   } SCONTEXT_QUEUE,*PSCONTEXT_QUEUE;
147 
148   RPCRTAPI RPC_BINDING_HANDLE RPC_ENTRY NDRCContextBinding(NDR_CCONTEXT CContext);
149   RPCRTAPI void RPC_ENTRY NDRCContextMarshall(NDR_CCONTEXT CContext,void *pBuff);
150   RPCRTAPI void RPC_ENTRY NDRCContextUnmarshall(NDR_CCONTEXT *pCContext,RPC_BINDING_HANDLE hBinding,void *pBuff,unsigned __LONG32 DataRepresentation);
151   RPCRTAPI void RPC_ENTRY NDRSContextMarshall(NDR_SCONTEXT CContext,void *pBuff,NDR_RUNDOWN userRunDownIn);
152   RPCRTAPI NDR_SCONTEXT RPC_ENTRY NDRSContextUnmarshall(void *pBuff,unsigned __LONG32 DataRepresentation);
153   RPCRTAPI void RPC_ENTRY NDRSContextMarshallEx(RPC_BINDING_HANDLE BindingHandle,NDR_SCONTEXT CContext,void *pBuff,NDR_RUNDOWN userRunDownIn);
154   RPCRTAPI void RPC_ENTRY NDRSContextMarshall2(RPC_BINDING_HANDLE BindingHandle,NDR_SCONTEXT CContext,void *pBuff,NDR_RUNDOWN userRunDownIn,void *CtxGuard,unsigned __LONG32 Flags);
155   RPCRTAPI NDR_SCONTEXT RPC_ENTRY NDRSContextUnmarshallEx(RPC_BINDING_HANDLE BindingHandle,void *pBuff,unsigned __LONG32 DataRepresentation);
156   RPCRTAPI NDR_SCONTEXT RPC_ENTRY NDRSContextUnmarshall2(RPC_BINDING_HANDLE BindingHandle,void *pBuff,unsigned __LONG32 DataRepresentation,void *CtxGuard,unsigned __LONG32 Flags);
157   RPCRTAPI void RPC_ENTRY RpcSsDestroyClientContext(void **ContextHandle);
158 
159 #define byte_from_ndr(source,target) { *(target) = *(*(char **)&(source)->Buffer)++; }
160 #define byte_array_from_ndr(Source,LowerIndex,UpperIndex,Target) { NDRcopy ((((char *)(Target))+(LowerIndex)),(Source)->Buffer,(unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned __LONG32 *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); }
161 #define boolean_from_ndr(source,target) { *(target) = *(*(char **)&(source)->Buffer)++; }
162 #define boolean_array_from_ndr(Source,LowerIndex,UpperIndex,Target) { NDRcopy ((((char *)(Target))+(LowerIndex)),(Source)->Buffer,(unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned __LONG32 *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); }
163 #define small_from_ndr(source,target) { *(target) = *(*(char **)&(source)->Buffer)++; }
164 #define small_from_ndr_temp(source,target,format) { *(target) = *(*(char **)(source))++; }
165 #define small_array_from_ndr(Source,LowerIndex,UpperIndex,Target) { NDRcopy ((((char *)(Target))+(LowerIndex)),(Source)->Buffer,(unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned __LONG32 *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); }
166 
167 #define MIDL_ascii_strlen(string) strlen(string)
168 #define MIDL_ascii_strcpy(target,source) strcpy(target,source)
169 #define MIDL_memset(s,c,n) memset(s,c,n)
170 
171 #ifndef _ERROR_STATUS_T_DEFINED
172 #define _ERROR_STATUS_T_DEFINED
173 typedef unsigned __LONG32 error_status_t;
174 #endif
175 
176 #define _midl_ma1(p,cast) *(*(cast **)&p)++
177 #define _midl_ma2(p,cast) *(*(cast **)&p)++
178 #define _midl_ma4(p,cast) *(*(cast **)&p)++
179 #define _midl_ma8(p,cast) *(*(cast **)&p)++
180 
181 #define _midl_unma1(p,cast) *((cast *)p)++
182 #define _midl_unma2(p,cast) *((cast *)p)++
183 #define _midl_unma3(p,cast) *((cast *)p)++
184 #define _midl_unma4(p,cast) *((cast *)p)++
185 
186 #define _midl_fa2(p) (p = (RPC_BUFPTR)((ULONG_PTR)(p+1) & ~0x1))
187 #define _midl_fa4(p) (p = (RPC_BUFPTR)((ULONG_PTR)(p+3) & ~0x3))
188 #define _midl_fa8(p) (p = (RPC_BUFPTR)((ULONG_PTR)(p+7) & ~0x7))
189 
190 #define _midl_addp(p,n) (p += n)
191 #define _midl_marsh_lhs(p,cast) *(*(cast **)&p)++
192 #define _midl_marsh_up(mp,p) *(*(unsigned __LONG32 **)&mp)++ = (unsigned __LONG32)p
193 #define _midl_advmp(mp) *(*(unsigned __LONG32 **)&mp)++
194 #define _midl_unmarsh_up(p) (*(*(unsigned __LONG32 **)&p)++)
195 
196 #define NdrMarshConfStringHdr(p,s,l) (_midl_ma4(p,unsigned __LONG32) = s,_midl_ma4(p,unsigned __LONG32) = 0,_midl_ma4(p,unsigned __LONG32) = l)
197 #define NdrUnMarshConfStringHdr(p,s,l) (s=_midl_unma4(p,unsigned __LONG32),(_midl_addp(p,4)),(l=_midl_unma4(p,unsigned __LONG32)))
198 #define NdrMarshCCtxtHdl(pc,p) (NDRCContextMarshall((NDR_CCONTEXT)pc,p),p+20)
199 #define NdrUnMarshCCtxtHdl(pc,p,h,drep) (NDRCContextUnmarshall((NDR_CCONTEXT)pc,h,p,drep),p+20)
200 #define NdrUnMarshSCtxtHdl(pc,p,drep) (pc = NdrSContextUnMarshall(p,drep))
201 #define NdrMarshSCtxtHdl(pc,p,rd) (NdrSContextMarshall((NDR_SCONTEXT)pc,p,(NDR_RUNDOWN)rd))
202 
203 #define NdrFieldOffset(s,f) (LONG_PTR)(& (((s *)0)->f))
204 #define NdrFieldPad(s,f,p,t) ((unsigned __LONG32)(NdrFieldOffset(s,f) - NdrFieldOffset(s,p)) - sizeof(t))
205 
206 #define NdrFcShort(s) (unsigned char)(s & 0xff),(unsigned char)(s >> 8)
207 #define NdrFcLong(s) (unsigned char)(s & 0xff),(unsigned char)((s & 0x0000ff00) >> 8),(unsigned char)((s & 0x00ff0000) >> 16),(unsigned char)(s >> 24)
208 
209 #define RPC_BAD_STUB_DATA_EXCEPTION_FILTER ((RpcExceptionCode()==STATUS_ACCESS_VIOLATION) || (RpcExceptionCode()==STATUS_DATATYPE_MISALIGNMENT) || (RpcExceptionCode()==RPC_X_BAD_STUB_DATA) || (RpcExceptionCode()==RPC_S_INVALID_BOUND))
210 
211   struct _MIDL_STUB_MESSAGE;
212   struct _MIDL_STUB_DESC;
213   struct _FULL_PTR_XLAT_TABLES;
214 
215   typedef unsigned char *RPC_BUFPTR;
216   typedef unsigned __LONG32 RPC_LENGTH;
217   typedef void (__RPC_API *EXPR_EVAL)(struct _MIDL_STUB_MESSAGE *);
218   typedef const unsigned char *PFORMAT_STRING;
219 
220   typedef struct {
221     __LONG32 Dimension;
222     unsigned __LONG32 *BufferConformanceMark;
223     unsigned __LONG32 *BufferVarianceMark;
224     unsigned __LONG32 *MaxCountArray;
225     unsigned __LONG32 *OffsetArray;
226     unsigned __LONG32 *ActualCountArray;
227   } ARRAY_INFO,*PARRAY_INFO;
228 
229   typedef struct _NDR_ASYNC_MESSAGE *PNDR_ASYNC_MESSAGE;
230   typedef struct _NDR_CORRELATION_INFO *PNDR_CORRELATION_INFO;
231 
232   typedef struct {
233     unsigned __LONG32 WireCodeset;
234     unsigned __LONG32 DesiredReceivingCodeset;
235     void *CSArrayInfo;
236   } CS_STUB_INFO;
237 
238   struct _MIDL_SYNTAX_INFO;
239   typedef struct _MIDL_SYNTAX_INFO MIDL_SYNTAX_INFO,*PMIDL_SYNTAX_INFO;
240 
241   struct NDR_ALLOC_ALL_NODES_CONTEXT;
242   struct NDR_POINTER_QUEUE_STATE;
243   struct _NDR_PROC_CONTEXT;
244 
245   typedef struct _MIDL_STUB_MESSAGE {
246     PRPC_MESSAGE RpcMsg;
247     unsigned char *Buffer;
248     unsigned char *BufferStart;
249     unsigned char *BufferEnd;
250     unsigned char *BufferMark;
251     unsigned __LONG32 BufferLength;
252     unsigned __LONG32 MemorySize;
253     unsigned char *Memory;
254     unsigned char IsClient;
255     unsigned char Pad;
256     unsigned short uFlags2;
257     int ReuseBuffer;
258     struct NDR_ALLOC_ALL_NODES_CONTEXT *pAllocAllNodesContext;
259     struct NDR_POINTER_QUEUE_STATE *pPointerQueueState;
260     int IgnoreEmbeddedPointers;
261     unsigned char *PointerBufferMark;
262     unsigned char fBufferValid;
263     unsigned char uFlags;
264     unsigned short UniquePtrCount;
265     ULONG_PTR MaxCount;
266     unsigned __LONG32 Offset;
267     unsigned __LONG32 ActualCount;
268     void *(__RPC_API *pfnAllocate)(size_t);
269     void (__RPC_API *pfnFree)(void *);
270     unsigned char *StackTop;
271     unsigned char *pPresentedType;
272     unsigned char *pTransmitType;
273     handle_t SavedHandle;
274     const struct _MIDL_STUB_DESC *StubDesc;
275     struct _FULL_PTR_XLAT_TABLES *FullPtrXlatTables;
276     unsigned __LONG32 FullPtrRefId;
277     unsigned __LONG32 PointerLength;
278     int fInDontFree : 1;
279     int fDontCallFreeInst : 1;
280     int fInOnlyParam : 1;
281     int fHasReturn : 1;
282     int fHasExtensions : 1;
283     int fHasNewCorrDesc : 1;
284     int fIsOicfServer : 1;
285     int fHasMemoryValidateCallback : 1;
286     int fUnused : 8;
287     int fUnused2 : 16;
288     unsigned __LONG32 dwDestContext;
289     void *pvDestContext;
290     NDR_SCONTEXT *SavedContextHandles;
291     __LONG32 ParamNumber;
292     struct IRpcChannelBuffer *pRpcChannelBuffer;
293     PARRAY_INFO pArrayInfo;
294     unsigned __LONG32 *SizePtrCountArray;
295     unsigned __LONG32 *SizePtrOffsetArray;
296     unsigned __LONG32 *SizePtrLengthArray;
297     void *pArgQueue;
298     unsigned __LONG32 dwStubPhase;
299     void *LowStackMark;
300     PNDR_ASYNC_MESSAGE pAsyncMsg;
301     PNDR_CORRELATION_INFO pCorrInfo;
302     unsigned char *pCorrMemory;
303     void *pMemoryList;
304     CS_STUB_INFO *pCSInfo;
305     unsigned char *ConformanceMark;
306     unsigned char *VarianceMark;
307 #if defined(IA64)
308     void *BackingStoreLowMark;
309 #else
310     INT_PTR Unused;
311 #endif
312     struct _NDR_PROC_CONTEXT *pContext;
313     void *pUserMarshalList;
314     INT_PTR Reserved51_2;
315     INT_PTR Reserved51_3;
316     INT_PTR Reserved51_4;
317     INT_PTR Reserved51_5;
318   } MIDL_STUB_MESSAGE,*PMIDL_STUB_MESSAGE;
319 
320   typedef void *(__RPC_API *GENERIC_BINDING_ROUTINE)(void *);
321   typedef void (__RPC_API *GENERIC_UNBIND_ROUTINE)(void *,unsigned char *);
322 
323   typedef struct _GENERIC_BINDING_ROUTINE_PAIR {
324     GENERIC_BINDING_ROUTINE pfnBind;
325     GENERIC_UNBIND_ROUTINE pfnUnbind;
326   } GENERIC_BINDING_ROUTINE_PAIR,*PGENERIC_BINDING_ROUTINE_PAIR;
327 
328   typedef struct __GENERIC_BINDING_INFO {
329     void *pObj;
330     unsigned int Size;
331     GENERIC_BINDING_ROUTINE pfnBind;
332     GENERIC_UNBIND_ROUTINE pfnUnbind;
333   } GENERIC_BINDING_INFO,*PGENERIC_BINDING_INFO;
334 
335 #define NDR_SHAREABLE __inline
336 
337   typedef void (__RPC_API *XMIT_HELPER_ROUTINE)(PMIDL_STUB_MESSAGE);
338 
339   typedef struct _XMIT_ROUTINE_QUINTUPLE {
340     XMIT_HELPER_ROUTINE pfnTranslateToXmit;
341     XMIT_HELPER_ROUTINE pfnTranslateFromXmit;
342     XMIT_HELPER_ROUTINE pfnFreeXmit;
343     XMIT_HELPER_ROUTINE pfnFreeInst;
344   } XMIT_ROUTINE_QUINTUPLE,*PXMIT_ROUTINE_QUINTUPLE;
345 
346   typedef ULONG (__RPC_API *USER_MARSHAL_SIZING_ROUTINE)(ULONG *,ULONG,void *);
347   typedef unsigned char *(__RPC_API *USER_MARSHAL_MARSHALLING_ROUTINE)(ULONG *,unsigned char *,void *);
348   typedef unsigned char *(__RPC_API *USER_MARSHAL_UNMARSHALLING_ROUTINE)(ULONG *,unsigned char *,void *);
349   typedef void (__RPC_API *USER_MARSHAL_FREEING_ROUTINE)(ULONG *,void *);
350 
351   typedef struct _USER_MARSHAL_ROUTINE_QUADRUPLE {
352     USER_MARSHAL_SIZING_ROUTINE pfnBufferSize;
353     USER_MARSHAL_MARSHALLING_ROUTINE pfnMarshall;
354     USER_MARSHAL_UNMARSHALLING_ROUTINE pfnUnmarshall;
355     USER_MARSHAL_FREEING_ROUTINE pfnFree;
356   } USER_MARSHAL_ROUTINE_QUADRUPLE;
357 
358 #define USER_MARSHAL_CB_SIGNATURE 'USRC'
359 
360   typedef enum _USER_MARSHAL_CB_TYPE {
361     USER_MARSHAL_CB_BUFFER_SIZE,USER_MARSHAL_CB_MARSHALL,USER_MARSHAL_CB_UNMARSHALL,USER_MARSHAL_CB_FREE
362   } USER_MARSHAL_CB_TYPE;
363 
364   typedef struct _USER_MARSHAL_CB {
365     unsigned __LONG32 Flags;
366     PMIDL_STUB_MESSAGE pStubMsg;
367     PFORMAT_STRING pReserve;
368     unsigned __LONG32 Signature;
369     USER_MARSHAL_CB_TYPE CBType;
370     PFORMAT_STRING pFormat;
371     PFORMAT_STRING pTypeFormat;
372   } USER_MARSHAL_CB;
373 
374 #define USER_CALL_CTXT_MASK(f) ((f) & 0x00ff)
375 #define USER_CALL_AUX_MASK(f) ((f) & 0xff00)
376 #define GET_USER_DATA_REP(f) ((f) >> 16)
377 
378 #define USER_CALL_IS_ASYNC 0x0100
379 #define USER_CALL_NEW_CORRELATION_DESC 0x0200
380 
381   typedef struct _MALLOC_FREE_STRUCT {
382     void *(__RPC_API *pfnAllocate)(size_t);
383     void (__RPC_API *pfnFree)(void *);
384   } MALLOC_FREE_STRUCT;
385 
386   typedef struct _COMM_FAULT_OFFSETS {
387     short CommOffset;
388     short FaultOffset;
389   } COMM_FAULT_OFFSETS;
390 
391   typedef enum _IDL_CS_CONVERT {
392     IDL_CS_NO_CONVERT,IDL_CS_IN_PLACE_CONVERT,IDL_CS_NEW_BUFFER_CONVERT
393   } IDL_CS_CONVERT;
394 
395   typedef void (__RPC_API *CS_TYPE_NET_SIZE_ROUTINE)(RPC_BINDING_HANDLE hBinding,unsigned __LONG32 ulNetworkCodeSet,unsigned __LONG32 ulLocalBufferSize,IDL_CS_CONVERT *conversionType,unsigned __LONG32 *pulNetworkBufferSize,error_status_t *pStatus);
396   typedef void (__RPC_API *CS_TYPE_LOCAL_SIZE_ROUTINE)(RPC_BINDING_HANDLE hBinding,unsigned __LONG32 ulNetworkCodeSet,unsigned __LONG32 ulNetworkBufferSize,IDL_CS_CONVERT *conversionType,unsigned __LONG32 *pulLocalBufferSize,error_status_t *pStatus);
397   typedef void (__RPC_API *CS_TYPE_TO_NETCS_ROUTINE)(RPC_BINDING_HANDLE hBinding,unsigned __LONG32 ulNetworkCodeSet,void *pLocalData,unsigned __LONG32 ulLocalDataLength,byte *pNetworkData,unsigned __LONG32 *pulNetworkDataLength,error_status_t *pStatus);
398   typedef void (__RPC_API *CS_TYPE_FROM_NETCS_ROUTINE)(RPC_BINDING_HANDLE hBinding,unsigned __LONG32 ulNetworkCodeSet,byte *pNetworkData,unsigned __LONG32 ulNetworkDataLength,unsigned __LONG32 ulLocalBufferSize,void *pLocalData,unsigned __LONG32 *pulLocalDataLength,error_status_t *pStatus);
399   typedef void (__RPC_API *CS_TAG_GETTING_ROUTINE)(RPC_BINDING_HANDLE hBinding,int fServerSide,unsigned __LONG32 *pulSendingTag,unsigned __LONG32 *pulDesiredReceivingTag,unsigned __LONG32 *pulReceivingTag,error_status_t *pStatus);
400 
401   void __RPC_API RpcCsGetTags(RPC_BINDING_HANDLE hBinding,int fServerSide,unsigned __LONG32 *pulSendingTag,unsigned __LONG32 *pulDesiredReceivingTag,unsigned __LONG32 *pulReceivingTag,error_status_t *pStatus);
402 
403   typedef struct _NDR_CS_SIZE_CONVERT_ROUTINES {
404     CS_TYPE_NET_SIZE_ROUTINE pfnNetSize;
405     CS_TYPE_TO_NETCS_ROUTINE pfnToNetCs;
406     CS_TYPE_LOCAL_SIZE_ROUTINE pfnLocalSize;
407     CS_TYPE_FROM_NETCS_ROUTINE pfnFromNetCs;
408   } NDR_CS_SIZE_CONVERT_ROUTINES;
409 
410   typedef struct _NDR_CS_ROUTINES {
411     NDR_CS_SIZE_CONVERT_ROUTINES *pSizeConvertRoutines;
412     CS_TAG_GETTING_ROUTINE *pTagGettingRoutines;
413   } NDR_CS_ROUTINES;
414 
415   typedef struct _MIDL_STUB_DESC {
416     void *RpcInterfaceInformation;
417     void *(__RPC_API *pfnAllocate)(size_t);
418     void (__RPC_API *pfnFree)(void *);
419     union {
420       handle_t *pAutoHandle;
421       handle_t *pPrimitiveHandle;
422       PGENERIC_BINDING_INFO pGenericBindingInfo;
423     } IMPLICIT_HANDLE_INFO;
424     const NDR_RUNDOWN *apfnNdrRundownRoutines;
425     const GENERIC_BINDING_ROUTINE_PAIR *aGenericBindingRoutinePairs;
426     const EXPR_EVAL *apfnExprEval;
427     const XMIT_ROUTINE_QUINTUPLE *aXmitQuintuple;
428     const unsigned char *pFormatTypes;
429     int fCheckBounds;
430     unsigned __LONG32 Version;
431     MALLOC_FREE_STRUCT *pMallocFreeStruct;
432     __LONG32 MIDLVersion;
433     const COMM_FAULT_OFFSETS *CommFaultOffsets;
434     const USER_MARSHAL_ROUTINE_QUADRUPLE *aUserMarshalQuadruple;
435     const NDR_NOTIFY_ROUTINE *NotifyRoutineTable;
436     ULONG_PTR mFlags;
437     const NDR_CS_ROUTINES *CsRoutineTables;
438     void *Reserved4;
439     ULONG_PTR Reserved5;
440   } MIDL_STUB_DESC;
441 
442   typedef const MIDL_STUB_DESC *PMIDL_STUB_DESC;
443   typedef void *PMIDL_XMIT_TYPE;
444 
445   typedef struct _MIDL_FORMAT_STRING {
446     short Pad;
447     unsigned char Format[];
448   } MIDL_FORMAT_STRING;
449 
450   typedef void (__RPC_API *STUB_THUNK)(PMIDL_STUB_MESSAGE);
451   typedef __LONG32 (__RPC_API *SERVER_ROUTINE)();
452 
453   typedef struct _MIDL_SERVER_INFO_ {
454     PMIDL_STUB_DESC pStubDesc;
455     const SERVER_ROUTINE *DispatchTable;
456     PFORMAT_STRING ProcString;
457     const unsigned short *FmtStringOffset;
458     const STUB_THUNK *ThunkTable;
459     PRPC_SYNTAX_IDENTIFIER pTransferSyntax;
460     ULONG_PTR nCount;
461     PMIDL_SYNTAX_INFO pSyntaxInfo;
462   } MIDL_SERVER_INFO,*PMIDL_SERVER_INFO;
463 
464 #undef _MIDL_STUBLESS_PROXY_INFO
465 
466   typedef struct _MIDL_STUBLESS_PROXY_INFO {
467     PMIDL_STUB_DESC pStubDesc;
468     PFORMAT_STRING ProcFormatString;
469     const unsigned short *FormatStringOffset;
470     PRPC_SYNTAX_IDENTIFIER pTransferSyntax;
471     ULONG_PTR nCount;
472     PMIDL_SYNTAX_INFO pSyntaxInfo;
473   } MIDL_STUBLESS_PROXY_INFO;
474 
475   typedef MIDL_STUBLESS_PROXY_INFO *PMIDL_STUBLESS_PROXY_INFO;
476 
477   struct _MIDL_SYNTAX_INFO {
478     RPC_SYNTAX_IDENTIFIER TransferSyntax;
479     RPC_DISPATCH_TABLE *DispatchTable;
480     PFORMAT_STRING ProcString;
481     const unsigned short *FmtStringOffset;
482     PFORMAT_STRING TypeString;
483     const void *aUserMarshalQuadruple;
484     ULONG_PTR pReserved1;
485     ULONG_PTR pReserved2;
486   };
487 
488   typedef unsigned short *PARAM_OFFSETTABLE,*PPARAM_OFFSETTABLE;
489 
490   typedef union _CLIENT_CALL_RETURN {
491     void *Pointer;
492     LONG_PTR Simple;
493   } CLIENT_CALL_RETURN;
494 
495   typedef enum {
496     XLAT_SERVER = 1,XLAT_CLIENT
497   } XLAT_SIDE;
498 
499   typedef struct _FULL_PTR_TO_REFID_ELEMENT {
500     struct _FULL_PTR_TO_REFID_ELEMENT *Next;
501     void *Pointer;
502     unsigned __LONG32 RefId;
503     unsigned char State;
504   } FULL_PTR_TO_REFID_ELEMENT,*PFULL_PTR_TO_REFID_ELEMENT;
505 
506   typedef struct _FULL_PTR_XLAT_TABLES {
507 
508     struct {
509       void **XlatTable;
510       unsigned char *StateTable;
511       unsigned __LONG32 NumberOfEntries;
512     } RefIdToPointer;
513     struct {
514       PFULL_PTR_TO_REFID_ELEMENT *XlatTable;
515       unsigned __LONG32 NumberOfBuckets;
516       unsigned __LONG32 HashMask;
517     } PointerToRefId;
518     unsigned __LONG32 NextRefId;
519     XLAT_SIDE XlatSide;
520   } FULL_PTR_XLAT_TABLES,*PFULL_PTR_XLAT_TABLES;
521 
522   RPC_STATUS RPC_ENTRY NdrClientGetSupportedSyntaxes(RPC_CLIENT_INTERFACE *pInf,unsigned __LONG32 *pCount,MIDL_SYNTAX_INFO **pArr);
523   RPC_STATUS RPC_ENTRY NdrServerGetSupportedSyntaxes(RPC_SERVER_INTERFACE *pInf,unsigned __LONG32 *pCount,MIDL_SYNTAX_INFO **pArr,unsigned __LONG32 *pPreferSyntaxIndex);
524   RPCRTAPI void RPC_ENTRY NdrSimpleTypeMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,unsigned char FormatChar);
525   RPCRTAPI unsigned char *RPC_ENTRY NdrPointerMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
526   RPCRTAPI unsigned char *RPC_ENTRY NdrCsArrayMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
527   RPCRTAPI unsigned char *RPC_ENTRY NdrCsTagMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
528   RPCRTAPI unsigned char *RPC_ENTRY NdrSimpleStructMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
529   RPCRTAPI unsigned char *RPC_ENTRY NdrConformantStructMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
530   RPCRTAPI unsigned char *RPC_ENTRY NdrConformantVaryingStructMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
531   RPCRTAPI unsigned char *RPC_ENTRY NdrComplexStructMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
532   RPCRTAPI unsigned char *RPC_ENTRY NdrFixedArrayMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
533   RPCRTAPI unsigned char *RPC_ENTRY NdrConformantArrayMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
534   RPCRTAPI unsigned char *RPC_ENTRY NdrConformantVaryingArrayMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
535   RPCRTAPI unsigned char *RPC_ENTRY NdrVaryingArrayMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
536   RPCRTAPI unsigned char *RPC_ENTRY NdrComplexArrayMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
537   RPCRTAPI unsigned char *RPC_ENTRY NdrNonConformantStringMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
538   RPCRTAPI unsigned char *RPC_ENTRY NdrConformantStringMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
539   RPCRTAPI unsigned char *RPC_ENTRY NdrEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
540   RPCRTAPI unsigned char *RPC_ENTRY NdrNonEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
541   RPCRTAPI unsigned char *RPC_ENTRY NdrByteCountPointerMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
542   RPCRTAPI unsigned char *RPC_ENTRY NdrXmitOrRepAsMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
543   RPCRTAPI unsigned char *RPC_ENTRY NdrUserMarshalMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
544   RPCRTAPI unsigned char *RPC_ENTRY NdrInterfacePointerMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
545   RPCRTAPI void RPC_ENTRY NdrClientContextMarshall(PMIDL_STUB_MESSAGE pStubMsg,NDR_CCONTEXT ContextHandle,int fCheck);
546   RPCRTAPI void RPC_ENTRY NdrServerContextMarshall(PMIDL_STUB_MESSAGE pStubMsg,NDR_SCONTEXT ContextHandle,NDR_RUNDOWN RundownRoutine);
547   RPCRTAPI void RPC_ENTRY NdrServerContextNewMarshall(PMIDL_STUB_MESSAGE pStubMsg,NDR_SCONTEXT ContextHandle,NDR_RUNDOWN RundownRoutine,PFORMAT_STRING pFormat);
548   RPCRTAPI void RPC_ENTRY NdrSimpleTypeUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,unsigned char FormatChar);
549   RPCRTAPI unsigned char *RPC_ENTRY NdrCsArrayUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
550   RPCRTAPI unsigned char *RPC_ENTRY NdrCsTagUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
551   RPCRTAPI unsigned char *RPC_ENTRY NdrRangeUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
552   RPCRTAPI void RPC_ENTRY NdrCorrelationInitialize(PMIDL_STUB_MESSAGE pStubMsg,void *pMemory,unsigned __LONG32 CacheSize,unsigned __LONG32 flags);
553   RPCRTAPI void RPC_ENTRY NdrCorrelationPass(PMIDL_STUB_MESSAGE pStubMsg);
554   RPCRTAPI void RPC_ENTRY NdrCorrelationFree(PMIDL_STUB_MESSAGE pStubMsg);
555   RPCRTAPI unsigned char *RPC_ENTRY NdrPointerUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
556   RPCRTAPI unsigned char *RPC_ENTRY NdrSimpleStructUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
557   RPCRTAPI unsigned char *RPC_ENTRY NdrConformantStructUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
558   RPCRTAPI unsigned char *RPC_ENTRY NdrConformantVaryingStructUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
559   RPCRTAPI unsigned char *RPC_ENTRY NdrComplexStructUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
560   RPCRTAPI unsigned char *RPC_ENTRY NdrFixedArrayUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
561   RPCRTAPI unsigned char *RPC_ENTRY NdrConformantArrayUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
562   RPCRTAPI unsigned char *RPC_ENTRY NdrConformantVaryingArrayUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
563   RPCRTAPI unsigned char *RPC_ENTRY NdrVaryingArrayUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
564   RPCRTAPI unsigned char *RPC_ENTRY NdrComplexArrayUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
565   RPCRTAPI unsigned char *RPC_ENTRY NdrNonConformantStringUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
566   RPCRTAPI unsigned char *RPC_ENTRY NdrConformantStringUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
567   RPCRTAPI unsigned char *RPC_ENTRY NdrEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
568   RPCRTAPI unsigned char *RPC_ENTRY NdrNonEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
569   RPCRTAPI unsigned char *RPC_ENTRY NdrByteCountPointerUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
570   RPCRTAPI unsigned char *RPC_ENTRY NdrXmitOrRepAsUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
571   RPCRTAPI unsigned char *RPC_ENTRY NdrUserMarshalUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
572   RPCRTAPI unsigned char *RPC_ENTRY NdrInterfacePointerUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
573   RPCRTAPI void RPC_ENTRY NdrClientContextUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,NDR_CCONTEXT *pContextHandle,RPC_BINDING_HANDLE BindHandle);
574   RPCRTAPI NDR_SCONTEXT RPC_ENTRY NdrServerContextUnmarshall(PMIDL_STUB_MESSAGE pStubMsg);
575   RPCRTAPI NDR_SCONTEXT RPC_ENTRY NdrContextHandleInitialize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
576   RPCRTAPI NDR_SCONTEXT RPC_ENTRY NdrServerContextNewUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
577   RPCRTAPI void RPC_ENTRY NdrPointerBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
578   RPCRTAPI void RPC_ENTRY NdrCsArrayBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
579   RPCRTAPI void RPC_ENTRY NdrCsTagBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
580   RPCRTAPI void RPC_ENTRY NdrSimpleStructBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
581   RPCRTAPI void RPC_ENTRY NdrConformantStructBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
582   RPCRTAPI void RPC_ENTRY NdrConformantVaryingStructBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
583   RPCRTAPI void RPC_ENTRY NdrComplexStructBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
584   RPCRTAPI void RPC_ENTRY NdrFixedArrayBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
585   RPCRTAPI void RPC_ENTRY NdrConformantArrayBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
586   RPCRTAPI void RPC_ENTRY NdrConformantVaryingArrayBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
587   RPCRTAPI void RPC_ENTRY NdrVaryingArrayBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
588   RPCRTAPI void RPC_ENTRY NdrComplexArrayBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
589   RPCRTAPI void RPC_ENTRY NdrConformantStringBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
590   RPCRTAPI void RPC_ENTRY NdrNonConformantStringBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
591   RPCRTAPI void RPC_ENTRY NdrEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
592   RPCRTAPI void RPC_ENTRY NdrNonEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
593   RPCRTAPI void RPC_ENTRY NdrByteCountPointerBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
594   RPCRTAPI void RPC_ENTRY NdrXmitOrRepAsBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
595   RPCRTAPI void RPC_ENTRY NdrUserMarshalBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
596   RPCRTAPI void RPC_ENTRY NdrInterfacePointerBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
597   RPCRTAPI void RPC_ENTRY NdrContextHandleSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
598   RPCRTAPI unsigned __LONG32 RPC_ENTRY NdrPointerMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
599   RPCRTAPI unsigned __LONG32 RPC_ENTRY NdrCsArrayMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
600   RPCRTAPI unsigned __LONG32 RPC_ENTRY NdrCsTagMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
601   RPCRTAPI unsigned __LONG32 RPC_ENTRY NdrSimpleStructMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
602   RPCRTAPI unsigned __LONG32 RPC_ENTRY NdrConformantStructMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
603   RPCRTAPI unsigned __LONG32 RPC_ENTRY NdrConformantVaryingStructMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
604   RPCRTAPI unsigned __LONG32 RPC_ENTRY NdrComplexStructMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
605   RPCRTAPI unsigned __LONG32 RPC_ENTRY NdrFixedArrayMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
606   RPCRTAPI unsigned __LONG32 RPC_ENTRY NdrConformantArrayMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
607   RPCRTAPI unsigned __LONG32 RPC_ENTRY NdrConformantVaryingArrayMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
608   RPCRTAPI unsigned __LONG32 RPC_ENTRY NdrVaryingArrayMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
609   RPCRTAPI unsigned __LONG32 RPC_ENTRY NdrComplexArrayMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
610   RPCRTAPI unsigned __LONG32 RPC_ENTRY NdrConformantStringMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
611   RPCRTAPI unsigned __LONG32 RPC_ENTRY NdrNonConformantStringMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
612   RPCRTAPI unsigned __LONG32 RPC_ENTRY NdrEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
613   RPCRTAPI unsigned __LONG32 RPC_ENTRY NdrNonEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
614   RPCRTAPI unsigned __LONG32 RPC_ENTRY NdrXmitOrRepAsMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
615   RPCRTAPI unsigned __LONG32 RPC_ENTRY NdrUserMarshalMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
616   RPCRTAPI unsigned __LONG32 RPC_ENTRY NdrInterfacePointerMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
617   RPCRTAPI void RPC_ENTRY NdrPointerFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
618   RPCRTAPI void RPC_ENTRY NdrCsArrayFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
619   RPCRTAPI void RPC_ENTRY NdrSimpleStructFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
620   RPCRTAPI void RPC_ENTRY NdrConformantStructFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
621   RPCRTAPI void RPC_ENTRY NdrConformantVaryingStructFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
622   RPCRTAPI void RPC_ENTRY NdrComplexStructFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
623   RPCRTAPI void RPC_ENTRY NdrFixedArrayFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
624   RPCRTAPI void RPC_ENTRY NdrConformantArrayFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
625   RPCRTAPI void RPC_ENTRY NdrConformantVaryingArrayFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
626   RPCRTAPI void RPC_ENTRY NdrVaryingArrayFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
627   RPCRTAPI void RPC_ENTRY NdrComplexArrayFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
628   RPCRTAPI void RPC_ENTRY NdrEncapsulatedUnionFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
629   RPCRTAPI void RPC_ENTRY NdrNonEncapsulatedUnionFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
630   RPCRTAPI void RPC_ENTRY NdrByteCountPointerFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
631   RPCRTAPI void RPC_ENTRY NdrXmitOrRepAsFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
632   RPCRTAPI void RPC_ENTRY NdrUserMarshalFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
633   RPCRTAPI void RPC_ENTRY NdrInterfacePointerFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
634   RPCRTAPI void RPC_ENTRY NdrConvert2(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat,__LONG32 NumberParams);
635   RPCRTAPI void RPC_ENTRY NdrConvert(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
636 
637 #define USER_MARSHAL_FC_BYTE 1
638 #define USER_MARSHAL_FC_CHAR 2
639 #define USER_MARSHAL_FC_SMALL 3
640 #define USER_MARSHAL_FC_USMALL 4
641 #define USER_MARSHAL_FC_WCHAR 5
642 #define USER_MARSHAL_FC_SHORT 6
643 #define USER_MARSHAL_FC_USHORT 7
644 #define USER_MARSHAL_FC_LONG 8
645 #define USER_MARSHAL_FC_ULONG 9
646 #define USER_MARSHAL_FC_FLOAT 10
647 #define USER_MARSHAL_FC_HYPER 11
648 #define USER_MARSHAL_FC_DOUBLE 12
649 
650   RPCRTAPI unsigned char *RPC_ENTRY NdrUserMarshalSimpleTypeConvert(unsigned __LONG32 *pFlags,unsigned char *pBuffer,unsigned char FormatChar);
651   RPCRTAPI void RPC_ENTRY NdrClientInitializeNew(PRPC_MESSAGE pRpcMsg,PMIDL_STUB_MESSAGE pStubMsg,PMIDL_STUB_DESC pStubDescriptor,unsigned int ProcNum);
652   RPCRTAPI unsigned char *RPC_ENTRY NdrServerInitializeNew(PRPC_MESSAGE pRpcMsg,PMIDL_STUB_MESSAGE pStubMsg,PMIDL_STUB_DESC pStubDescriptor);
653   RPCRTAPI void RPC_ENTRY NdrServerInitializePartial(PRPC_MESSAGE pRpcMsg,PMIDL_STUB_MESSAGE pStubMsg,PMIDL_STUB_DESC pStubDescriptor,unsigned __LONG32 RequestedBufferSize);
654   RPCRTAPI void RPC_ENTRY NdrClientInitialize(PRPC_MESSAGE pRpcMsg,PMIDL_STUB_MESSAGE pStubMsg,PMIDL_STUB_DESC pStubDescriptor,unsigned int ProcNum);
655   RPCRTAPI unsigned char *RPC_ENTRY NdrServerInitialize(PRPC_MESSAGE pRpcMsg,PMIDL_STUB_MESSAGE pStubMsg,PMIDL_STUB_DESC pStubDescriptor);
656   RPCRTAPI unsigned char *RPC_ENTRY NdrServerInitializeUnmarshall (PMIDL_STUB_MESSAGE pStubMsg,PMIDL_STUB_DESC pStubDescriptor,PRPC_MESSAGE pRpcMsg);
657   RPCRTAPI void RPC_ENTRY NdrServerInitializeMarshall (PRPC_MESSAGE pRpcMsg,PMIDL_STUB_MESSAGE pStubMsg);
658   RPCRTAPI unsigned char *RPC_ENTRY NdrGetBuffer(PMIDL_STUB_MESSAGE pStubMsg,unsigned __LONG32 BufferLength,RPC_BINDING_HANDLE Handle);
659   RPCRTAPI unsigned char *RPC_ENTRY NdrNsGetBuffer(PMIDL_STUB_MESSAGE pStubMsg,unsigned __LONG32 BufferLength,RPC_BINDING_HANDLE Handle);
660   RPCRTAPI unsigned char *RPC_ENTRY NdrSendReceive(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pBufferEnd);
661   RPCRTAPI unsigned char *RPC_ENTRY NdrNsSendReceive(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pBufferEnd,RPC_BINDING_HANDLE *pAutoHandle);
662   RPCRTAPI void RPC_ENTRY NdrFreeBuffer(PMIDL_STUB_MESSAGE pStubMsg);
663   RPCRTAPI RPC_STATUS RPC_ENTRY NdrGetDcomProtocolVersion(PMIDL_STUB_MESSAGE pStubMsg,RPC_VERSION *pVersion);
664   CLIENT_CALL_RETURN RPC_VAR_ENTRY NdrClientCall2(PMIDL_STUB_DESC pStubDescriptor,PFORMAT_STRING pFormat,...);
665 #if defined (__arm__)
666   CLIENT_CALL_RETURN RPC_VAR_ENTRY NdrpClientCall2(PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, unsigned char *StartofStack);
667 #endif
668   CLIENT_CALL_RETURN RPC_VAR_ENTRY NdrClientCall(PMIDL_STUB_DESC pStubDescriptor,PFORMAT_STRING pFormat,...);
669   CLIENT_CALL_RETURN RPC_VAR_ENTRY NdrAsyncClientCall(PMIDL_STUB_DESC pStubDescriptor,PFORMAT_STRING pFormat,...);
670   CLIENT_CALL_RETURN RPC_VAR_ENTRY NdrDcomAsyncClientCall(PMIDL_STUB_DESC pStubDescriptor,PFORMAT_STRING pFormat,...);
671 
672   typedef enum {
673     STUB_UNMARSHAL,STUB_CALL_SERVER,STUB_MARSHAL,STUB_CALL_SERVER_NO_HRESULT
674   } STUB_PHASE;
675 
676   typedef enum {
677     PROXY_CALCSIZE,PROXY_GETBUFFER,PROXY_MARSHAL,PROXY_SENDRECEIVE,PROXY_UNMARSHAL
678   } PROXY_PHASE;
679 
680   struct IRpcStubBuffer;
681 
682   RPCRTAPI void RPC_ENTRY NdrAsyncServerCall(PRPC_MESSAGE pRpcMsg);
683   RPCRTAPI __LONG32 RPC_ENTRY NdrAsyncStubCall(struct IRpcStubBuffer *pThis,struct IRpcChannelBuffer *pChannel,PRPC_MESSAGE pRpcMsg,unsigned __LONG32 *pdwStubPhase);
684   RPCRTAPI __LONG32 RPC_ENTRY NdrDcomAsyncStubCall(struct IRpcStubBuffer *pThis,struct IRpcChannelBuffer *pChannel,PRPC_MESSAGE pRpcMsg,unsigned __LONG32 *pdwStubPhase);
685   RPCRTAPI __LONG32 RPC_ENTRY NdrStubCall2(struct IRpcStubBuffer *pThis,struct IRpcChannelBuffer *pChannel,PRPC_MESSAGE pRpcMsg,unsigned __LONG32 *pdwStubPhase);
686   RPCRTAPI void RPC_ENTRY NdrServerCall2(PRPC_MESSAGE pRpcMsg);
687   RPCRTAPI __LONG32 RPC_ENTRY NdrStubCall (struct IRpcStubBuffer *pThis,struct IRpcChannelBuffer *pChannel,PRPC_MESSAGE pRpcMsg,unsigned __LONG32 *pdwStubPhase);
688   RPCRTAPI void RPC_ENTRY NdrServerCall(PRPC_MESSAGE pRpcMsg);
689   RPCRTAPI int RPC_ENTRY NdrServerUnmarshall(struct IRpcChannelBuffer *pChannel,PRPC_MESSAGE pRpcMsg,PMIDL_STUB_MESSAGE pStubMsg,PMIDL_STUB_DESC pStubDescriptor,PFORMAT_STRING pFormat,void *pParamList);
690   RPCRTAPI void RPC_ENTRY NdrServerMarshall(struct IRpcStubBuffer *pThis,struct IRpcChannelBuffer *pChannel,PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
691   RPCRTAPI RPC_STATUS RPC_ENTRY NdrMapCommAndFaultStatus(PMIDL_STUB_MESSAGE pStubMsg,unsigned __LONG32 *pCommStatus,unsigned __LONG32 *pFaultStatus,RPC_STATUS Status);
692   RPCRTAPI int RPC_ENTRY NdrSH_UPDecision(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **pPtrInMem,RPC_BUFPTR pBuffer);
693   RPCRTAPI int RPC_ENTRY NdrSH_TLUPDecision(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **pPtrInMem);
694   RPCRTAPI int RPC_ENTRY NdrSH_TLUPDecisionBuffer(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **pPtrInMem);
695   RPCRTAPI int RPC_ENTRY NdrSH_IfAlloc(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **pPtrInMem,unsigned __LONG32 Count);
696   RPCRTAPI int RPC_ENTRY NdrSH_IfAllocRef(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **pPtrInMem,unsigned __LONG32 Count);
697   RPCRTAPI int RPC_ENTRY NdrSH_IfAllocSet(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **pPtrInMem,unsigned __LONG32 Count);
698   RPCRTAPI RPC_BUFPTR RPC_ENTRY NdrSH_IfCopy(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **pPtrInMem,unsigned __LONG32 Count);
699   RPCRTAPI RPC_BUFPTR RPC_ENTRY NdrSH_IfAllocCopy(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **pPtrInMem,unsigned __LONG32 Count);
700   RPCRTAPI unsigned __LONG32 RPC_ENTRY NdrSH_Copy(unsigned char *pStubMsg,unsigned char *pPtrInMem,unsigned __LONG32 Count);
701   RPCRTAPI void RPC_ENTRY NdrSH_IfFree(PMIDL_STUB_MESSAGE pMessage,unsigned char *pPtr);
702   RPCRTAPI RPC_BUFPTR RPC_ENTRY NdrSH_StringMarshall(PMIDL_STUB_MESSAGE pMessage,unsigned char *pMemory,unsigned __LONG32 Count,int Size);
703   RPCRTAPI RPC_BUFPTR RPC_ENTRY NdrSH_StringUnMarshall(PMIDL_STUB_MESSAGE pMessage,unsigned char **pMemory,int Size);
704 
705   typedef void *RPC_SS_THREAD_HANDLE;
706 
707   typedef void *__RPC_API RPC_CLIENT_ALLOC(size_t Size);
708   typedef void __RPC_API RPC_CLIENT_FREE(void *Ptr);
709 
710   RPCRTAPI void *RPC_ENTRY RpcSsAllocate(size_t Size);
711   RPCRTAPI void RPC_ENTRY RpcSsDisableAllocate(void);
712   RPCRTAPI void RPC_ENTRY RpcSsEnableAllocate(void);
713   RPCRTAPI void RPC_ENTRY RpcSsFree(void *NodeToFree);
714   RPCRTAPI RPC_SS_THREAD_HANDLE RPC_ENTRY RpcSsGetThreadHandle(void);
715   RPCRTAPI void RPC_ENTRY RpcSsSetClientAllocFree(RPC_CLIENT_ALLOC *ClientAlloc,RPC_CLIENT_FREE *ClientFree);
716   RPCRTAPI void RPC_ENTRY RpcSsSetThreadHandle(RPC_SS_THREAD_HANDLE Id);
717   RPCRTAPI void RPC_ENTRY RpcSsSwapClientAllocFree(RPC_CLIENT_ALLOC *ClientAlloc,RPC_CLIENT_FREE *ClientFree,RPC_CLIENT_ALLOC **OldClientAlloc,RPC_CLIENT_FREE **OldClientFree);
718   RPCRTAPI void *RPC_ENTRY RpcSmAllocate(size_t Size,RPC_STATUS *pStatus);
719   RPCRTAPI RPC_STATUS RPC_ENTRY RpcSmClientFree(void *pNodeToFree);
720   RPCRTAPI RPC_STATUS RPC_ENTRY RpcSmDestroyClientContext(void **ContextHandle);
721   RPCRTAPI RPC_STATUS RPC_ENTRY RpcSmDisableAllocate(void);
722   RPCRTAPI RPC_STATUS RPC_ENTRY RpcSmEnableAllocate(void);
723   RPCRTAPI RPC_STATUS RPC_ENTRY RpcSmFree(void *NodeToFree);
724   RPCRTAPI RPC_SS_THREAD_HANDLE RPC_ENTRY RpcSmGetThreadHandle (RPC_STATUS *pStatus);
725   RPCRTAPI RPC_STATUS RPC_ENTRY RpcSmSetClientAllocFree(RPC_CLIENT_ALLOC *ClientAlloc,RPC_CLIENT_FREE *ClientFree);
726   RPCRTAPI RPC_STATUS RPC_ENTRY RpcSmSetThreadHandle(RPC_SS_THREAD_HANDLE Id);
727   RPCRTAPI RPC_STATUS RPC_ENTRY RpcSmSwapClientAllocFree(RPC_CLIENT_ALLOC *ClientAlloc,RPC_CLIENT_FREE *ClientFree,RPC_CLIENT_ALLOC **OldClientAlloc,RPC_CLIENT_FREE **OldClientFree);
728   RPCRTAPI void RPC_ENTRY NdrRpcSsEnableAllocate(PMIDL_STUB_MESSAGE pMessage);
729   RPCRTAPI void RPC_ENTRY NdrRpcSsDisableAllocate(PMIDL_STUB_MESSAGE pMessage);
730   RPCRTAPI void RPC_ENTRY NdrRpcSmSetClientToOsf(PMIDL_STUB_MESSAGE pMessage);
731   RPCRTAPI void *RPC_ENTRY NdrRpcSmClientAllocate(size_t Size);
732   RPCRTAPI void RPC_ENTRY NdrRpcSmClientFree(void *NodeToFree);
733   RPCRTAPI void *RPC_ENTRY NdrRpcSsDefaultAllocate(size_t Size);
734   RPCRTAPI void RPC_ENTRY NdrRpcSsDefaultFree(void *NodeToFree);
735   RPCRTAPI PFULL_PTR_XLAT_TABLES RPC_ENTRY NdrFullPointerXlatInit(unsigned __LONG32 NumberOfPointers,XLAT_SIDE XlatSide);
736   RPCRTAPI void RPC_ENTRY NdrFullPointerXlatFree(PFULL_PTR_XLAT_TABLES pXlatTables);
737   RPCRTAPI int RPC_ENTRY NdrFullPointerQueryPointer(PFULL_PTR_XLAT_TABLES pXlatTables,void *pPointer,unsigned char QueryType,unsigned __LONG32 *pRefId);
738   RPCRTAPI int RPC_ENTRY NdrFullPointerQueryRefId(PFULL_PTR_XLAT_TABLES pXlatTables,unsigned __LONG32 RefId,unsigned char QueryType,void **ppPointer);
739   RPCRTAPI void RPC_ENTRY NdrFullPointerInsertRefId(PFULL_PTR_XLAT_TABLES pXlatTables,unsigned __LONG32 RefId,void *pPointer);
740   RPCRTAPI int RPC_ENTRY NdrFullPointerFree(PFULL_PTR_XLAT_TABLES pXlatTables,void *Pointer);
741   RPCRTAPI void *RPC_ENTRY NdrAllocate(PMIDL_STUB_MESSAGE pStubMsg,size_t Len);
742   RPCRTAPI void RPC_ENTRY NdrClearOutParameters(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat,void *ArgAddr);
743   RPCRTAPI void *RPC_ENTRY NdrOleAllocate(size_t Size);
744   RPCRTAPI void RPC_ENTRY NdrOleFree(void *NodeToFree);
745 
746 #ifdef CONST_VTABLE
747 #define CONST_VTBL const
748 #else
749 #define CONST_VTBL
750 #endif
751 
752 #ifndef DECLSPEC_SELECTANY
753 #define DECLSPEC_SELECTANY __declspec(selectany)
754 #endif
755 
756 #define MIDL_INTERFACE(x) struct
757 #ifdef __cplusplus
758 #define EXTERN_GUID(itf,l1,s1,s2,c1,c2,c3,c4,c5,c6,c7,c8) EXTERN_C const IID DECLSPEC_SELECTANY itf = {l1,s1,s2,{c1,c2,c3,c4,c5,c6,c7,c8}}
759 #else
760 #define EXTERN_GUID(itf,l1,s1,s2,c1,c2,c3,c4,c5,c6,c7,c8) const IID DECLSPEC_SELECTANY itf = {l1,s1,s2,{c1,c2,c3,c4,c5,c6,c7,c8}}
761 #endif
762 
763   typedef struct _NDR_USER_MARSHAL_INFO_LEVEL1 {
764     void *Buffer;
765     unsigned __LONG32 BufferSize;
766     void *(__RPC_API *pfnAllocate)(size_t);
767     void (__RPC_API *pfnFree)(void *);
768     struct IRpcChannelBuffer *pRpcChannelBuffer;
769     ULONG_PTR Reserved[5];
770   } NDR_USER_MARSHAL_INFO_LEVEL1;
771 
772   typedef struct _NDR_USER_MARSHAL_INFO {
773     unsigned __LONG32 InformationLevel;
774     __C89_NAMELESS union {
775       NDR_USER_MARSHAL_INFO_LEVEL1 Level1;
776     };
777   } NDR_USER_MARSHAL_INFO;
778 
779   RPC_STATUS RPC_ENTRY NdrGetUserMarshalInfo(unsigned __LONG32 *pFlags,unsigned __LONG32 InformationLevel,NDR_USER_MARSHAL_INFO *pMarshalInfo);
780   RPC_STATUS RPC_ENTRY NdrCreateServerInterfaceFromStub(struct IRpcStubBuffer *pStub,RPC_SERVER_INTERFACE *pServerIf);
781   CLIENT_CALL_RETURN RPC_VAR_ENTRY NdrClientCall3(MIDL_STUBLESS_PROXY_INFO *pProxyInfo,unsigned __LONG32 nProcNum,void *pReturnValue,...);
782   CLIENT_CALL_RETURN RPC_VAR_ENTRY Ndr64AsyncClientCall(MIDL_STUBLESS_PROXY_INFO *pProxyInfo,unsigned __LONG32 nProcNum,void *pReturnValue,...);
783   CLIENT_CALL_RETURN RPC_VAR_ENTRY Ndr64DcomAsyncClientCall(MIDL_STUBLESS_PROXY_INFO *pProxyInfo,unsigned __LONG32 nProcNum,void *pReturnValue,...);
784 
785   struct IRpcStubBuffer;
786 
787   RPCRTAPI void RPC_ENTRY Ndr64AsyncServerCall(PRPC_MESSAGE pRpcMsg);
788   RPCRTAPI void RPC_ENTRY Ndr64AsyncServerCall64(PRPC_MESSAGE pRpcMsg);
789   RPCRTAPI void RPC_ENTRY Ndr64AsyncServerCallAll(PRPC_MESSAGE pRpcMsg);
790   RPCRTAPI __LONG32 RPC_ENTRY Ndr64AsyncStubCall(struct IRpcStubBuffer *pThis,struct IRpcChannelBuffer *pChannel,PRPC_MESSAGE pRpcMsg,unsigned __LONG32 *pdwStubPhase);
791   RPCRTAPI __LONG32 RPC_ENTRY Ndr64DcomAsyncStubCall(struct IRpcStubBuffer *pThis,struct IRpcChannelBuffer *pChannel,PRPC_MESSAGE pRpcMsg,unsigned __LONG32 *pdwStubPhase);
792   RPCRTAPI __LONG32 RPC_ENTRY NdrStubCall3 (struct IRpcStubBuffer *pThis,struct IRpcChannelBuffer *pChannel,PRPC_MESSAGE pRpcMsg,unsigned __LONG32 *pdwStubPhase);
793   RPCRTAPI void RPC_ENTRY NdrServerCallAll(PRPC_MESSAGE pRpcMsg);
794   RPCRTAPI void RPC_ENTRY NdrServerCallNdr64(PRPC_MESSAGE pRpcMsg);
795   RPCRTAPI void RPC_ENTRY NdrServerCall3(PRPC_MESSAGE pRpcMsg);
796   RPCRTAPI void RPC_ENTRY NdrPartialIgnoreClientMarshall(PMIDL_STUB_MESSAGE pStubMsg,void *pMemory);
797   RPCRTAPI void RPC_ENTRY NdrPartialIgnoreServerUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,void **ppMemory);
798   RPCRTAPI void RPC_ENTRY NdrPartialIgnoreClientBufferSize(PMIDL_STUB_MESSAGE pStubMsg,void *pMemory);
799   RPCRTAPI void RPC_ENTRY NdrPartialIgnoreServerInitialize(PMIDL_STUB_MESSAGE pStubMsg,void **ppMemory,PFORMAT_STRING pFormat);
800   void RPC_ENTRY RpcUserFree(handle_t AsyncHandle,void *pBuffer);
801 
802 #ifdef __cplusplus
803 }
804 #endif
805 
806 #include <poppack.h>
807 #endif
808