1 /** 2 * Windows API header module 3 * 4 * Translated from MinGW Windows headers 5 * 6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 7 * Source: $(DRUNTIMESRC core/sys/windows/_rpcndr.d) 8 */ 9 module nulib.system.win32.rpcndr; 10 import nulib.system.win32.rpcnsip; 11 import nulib.system.win32.rpc; 12 import nulib.system.win32.rpcdce; 13 import nulib.system.win32.windef; 14 import nulib.system.win32.objidl; // for IRpcChannelBuffer, IRpcStubBuffer 15 import nulib.system.win32.basetyps; 16 import nulib.system.com.objbase : 17 MIDL_user_allocate, 18 MIDL_user_free; 19 20 public import nulib.system.com; 21 22 pragma(lib, "rpcrt4"); 23 24 /* 25 Translation notes: 26 27 RPC_CLIENT_ALLOC*, RPC_CLIENT_FREE* were replaced with PRPC_CLIENT_ALLOC, PRPC_CLIENT_FREE 28 */ 29 30 // TODO: Bitfields in MIDL_STUB_MESSAGE. 31 // Macros need to be converted. 32 enum __RPCNDR_H_VERSION__= 450; 33 34 extern (Windows): 35 36 enum uint NDR_CHAR_REP_MASK = 0xF, 37 NDR_INT_REP_MASK = 0xF0, 38 NDR_FLOAT_REP_MASK = 0xFF00, 39 NDR_LITTLE_ENDIAN = 0x10, 40 NDR_BIG_ENDIAN = 0, 41 NDR_IEEE_FLOAT = 0, 42 NDR_VAX_FLOAT = 0x100, 43 NDR_ASCII_CHAR = 0, 44 NDR_EBCDIC_CHAR = 1, 45 NDR_LOCAL_DATA_REPRESENTATION = 0x10, 46 NDR_LOCAL_ENDIAN = NDR_LITTLE_ENDIAN; 47 48 alias midl_user_allocate = MIDL_user_allocate; 49 alias midl_user_free = MIDL_user_free; 50 51 alias hyper = long; 52 alias MIDL_uhyper = ulong; 53 alias small = char; 54 55 enum cbNDRContext=20; 56 57 alias void * NDR_CCONTEXT; 58 struct tagNDR_SCONTEXT { 59 void*[2] pad; 60 void *userContext; 61 } 62 alias tagNDR_SCONTEXT * NDR_SCONTEXT; 63 64 struct SCONTEXT_QUEUE { 65 uint NumberOfObjects; 66 NDR_SCONTEXT *ArrayOfObjects; 67 } 68 alias SCONTEXT_QUEUE * PSCONTEXT_QUEUE; 69 70 struct _MIDL_STUB_MESSAGE; 71 struct _MIDL_STUB_DESC; 72 struct _FULL_PTR_XLAT_TABLES; 73 74 alias ubyte *RPC_BUFPTR; 75 alias RPC_LENGTH = uint; 76 77 alias PFORMAT_STRING = const(char)*; 78 79 struct ARRAY_INFO { 80 int Dimension; 81 uint *BufferConformanceMark; 82 uint *BufferVarianceMark; 83 uint *MaxCountArray; 84 uint *OffsetArray; 85 uint *ActualCountArray; 86 } 87 alias ARRAY_INFO * PARRAY_INFO; 88 89 RPC_BINDING_HANDLE NDRCContextBinding(NDR_CCONTEXT); 90 void NDRCContextMarshall(NDR_CCONTEXT,void*); 91 void NDRCContextUnmarshall(NDR_CCONTEXT*,RPC_BINDING_HANDLE,void*,uint); 92 void NDRSContextMarshall(NDR_SCONTEXT,void*,NDR_RUNDOWN); 93 NDR_SCONTEXT NDRSContextUnmarshall(void*pBuff,uint); 94 void RpcSsDestroyClientContext(void**); 95 void NDRcopy(void*,void*,uint); 96 uint MIDL_wchar_strlen(wchar *); 97 void MIDL_wchar_strcpy(void*,wchar *); 98 void char_from_ndr(PRPC_MESSAGE,ubyte*); 99 void char_array_from_ndr(PRPC_MESSAGE,uint,uint,ubyte*); 100 void short_from_ndr(PRPC_MESSAGE,ushort*); 101 void short_array_from_ndr(PRPC_MESSAGE,uint,uint,ushort*); 102 void short_from_ndr_temp(ubyte**,ushort*,uint); 103 void int_from_ndr(PRPC_MESSAGE,uint*); 104 void int_array_from_ndr(PRPC_MESSAGE,uint,uint,uint*); 105 void int_from_ndr_temp(ubyte**,uint*,uint); 106 void enum_from_ndr(PRPC_MESSAGE,uint*); 107 void float_from_ndr(PRPC_MESSAGE,void*); 108 void float_array_from_ndr(PRPC_MESSAGE,uint,uint,void*); 109 void double_from_ndr(PRPC_MESSAGE,void*); 110 void double_array_from_ndr(PRPC_MESSAGE,uint,uint,void*); 111 void hyper_from_ndr(PRPC_MESSAGE,hyper*); 112 void hyper_array_from_ndr(PRPC_MESSAGE,uint,uint,hyper*); 113 void hyper_from_ndr_temp(ubyte**,hyper*,uint); 114 void data_from_ndr(PRPC_MESSAGE,void*,char*,ubyte); 115 void data_into_ndr(void*,PRPC_MESSAGE,char*,ubyte); 116 void tree_into_ndr(void*,PRPC_MESSAGE,char*,ubyte); 117 void data_size_ndr(void*,PRPC_MESSAGE,char*,ubyte); 118 void tree_size_ndr(void*,PRPC_MESSAGE,char*,ubyte); 119 void tree_peek_ndr(PRPC_MESSAGE,ubyte**,char*,ubyte); 120 void * midl_allocate(int); 121 122 align(4): 123 struct MIDL_STUB_MESSAGE { 124 PRPC_MESSAGE RpcMsg; 125 ubyte *Buffer; 126 ubyte *BufferStart; 127 ubyte *BufferEnd; 128 ubyte *BufferMark; 129 uint BufferLength; 130 uint MemorySize; 131 ubyte *Memory; 132 int IsClient; 133 int ReuseBuffer; 134 ubyte *AllocAllNodesMemory; 135 ubyte *AllocAllNodesMemoryEnd; 136 int IgnoreEmbeddedPointers; 137 ubyte *PointerBufferMark; 138 ubyte fBufferValid; 139 ubyte Unused; 140 ULONG_PTR MaxCount; 141 uint Offset; 142 uint ActualCount; 143 void* function (uint) pfnAllocate; 144 void function (void*) pfnFree; 145 ubyte * StackTop; 146 ubyte * pPresentedType; 147 ubyte * pTransmitType; 148 handle_t SavedHandle; 149 const(_MIDL_STUB_DESC)* StubDesc; 150 _FULL_PTR_XLAT_TABLES *FullPtrXlatTables; 151 uint FullPtrRefId; 152 int fCheckBounds; 153 // FIXME: 154 byte bit_fields_for_D; // FIXME: Bitfields 155 // int fInDontFree :1; 156 // int fDontCallFreeInst :1; 157 // int fInOnlyParam :1; 158 // int fHasReturn :1; 159 uint dwDestContext; 160 void* pvDestContext; 161 NDR_SCONTEXT * SavedContextHandles; 162 int ParamNumber; 163 IRpcChannelBuffer pRpcChannelBuffer; 164 PARRAY_INFO pArrayInfo; 165 uint * SizePtrCountArray; 166 uint * SizePtrOffsetArray; 167 uint * SizePtrLengthArray; 168 void* pArgQueue; 169 uint dwStubPhase; 170 INT_PTR[5] w2kReserved; 171 } 172 alias MIDL_STUB_MESSAGE * PMIDL_STUB_MESSAGE; 173 174 extern (Windows) { 175 alias void* function (void*) GENERIC_BINDING_ROUTINE; 176 alias void function (void*,ubyte*) GENERIC_UNBIND_ROUTINE; 177 alias uint function (uint *,uint,void *) USER_MARSHAL_SIZING_ROUTINE; 178 alias ubyte * function (uint *,ubyte *,void *) USER_MARSHAL_MARSHALLING_ROUTINE; 179 alias ubyte * function (uint *,ubyte *,void *) USER_MARSHAL_UNMARSHALLING_ROUTINE; 180 alias void function (uint *,void *) USER_MARSHAL_FREEING_ROUTINE; 181 alias void function () NDR_NOTIFY_ROUTINE; 182 } 183 184 align: 185 struct GENERIC_BINDING_ROUTINE_PAIR { 186 GENERIC_BINDING_ROUTINE pfnBind; 187 GENERIC_UNBIND_ROUTINE pfnUnbind; 188 } 189 alias GENERIC_BINDING_ROUTINE_PAIR * PGENERIC_BINDING_ROUTINE_PAIR; 190 191 struct GENERIC_BINDING_INFO { 192 void *pObj; 193 uint Size; 194 GENERIC_BINDING_ROUTINE pfnBind; 195 GENERIC_UNBIND_ROUTINE pfnUnbind; 196 } 197 alias GENERIC_BINDING_INFO * PGENERIC_BINDING_INFO; 198 199 200 struct XMIT_ROUTINE_QUINTUPLE { 201 XMIT_HELPER_ROUTINE pfnTranslateToXmit; 202 XMIT_HELPER_ROUTINE pfnTranslateFromXmit; 203 XMIT_HELPER_ROUTINE pfnFreeXmit; 204 XMIT_HELPER_ROUTINE pfnFreeInst; 205 } 206 alias XMIT_ROUTINE_QUINTUPLE * PXMIT_ROUTINE_QUINTUPLE; 207 208 struct MALLOC_FREE_STRUCT { 209 void* function (uint) pfnAllocate; 210 void function (void*) pfnFree; 211 } 212 213 struct COMM_FAULT_OFFSETS { 214 short CommOffset; 215 short FaultOffset; 216 } 217 218 struct USER_MARSHAL_ROUTINE_QUADRUPLE { 219 USER_MARSHAL_SIZING_ROUTINE pfnBufferSize; 220 USER_MARSHAL_MARSHALLING_ROUTINE pfnMarshall; 221 USER_MARSHAL_UNMARSHALLING_ROUTINE pfnUnmarshall; 222 USER_MARSHAL_FREEING_ROUTINE pfnFree; 223 } 224 225 enum IDL_CS_CONVERT { 226 IDL_CS_NO_CONVERT, 227 IDL_CS_IN_PLACE_CONVERT, 228 IDL_CS_NEW_BUFFER_CONVERT 229 } 230 231 struct NDR_CS_SIZE_CONVERT_ROUTINES { 232 CS_TYPE_NET_SIZE_ROUTINE pfnNetSize; 233 CS_TYPE_TO_NETCS_ROUTINE pfnToNetCs; 234 CS_TYPE_LOCAL_SIZE_ROUTINE pfnLocalSize; 235 CS_TYPE_FROM_NETCS_ROUTINE pfnFromNetCs; 236 } 237 238 struct NDR_CS_ROUTINES { 239 NDR_CS_SIZE_CONVERT_ROUTINES *pSizeConvertRoutines; 240 CS_TAG_GETTING_ROUTINE *pTagGettingRoutines; 241 } 242 243 struct MIDL_STUB_DESC { 244 void* RpcInterfaceInformation; 245 void* function(uint) pfnAllocate; 246 void function (void*) pfnFree; 247 union _IMPLICIT_HANDLE_INFO { 248 handle_t *pAutoHandle; 249 handle_t *pPrimitiveHandle; 250 PGENERIC_BINDING_INFO pGenericBindingInfo; 251 } 252 _IMPLICIT_HANDLE_INFO IMPLICIT_HANDLE_INFO; 253 const(NDR_RUNDOWN)* apfnNdrRundownRoutines; 254 const(GENERIC_BINDING_ROUTINE_PAIR)* aGenericBindingRoutinePairs; 255 const(EXPR_EVAL)* apfnExprEval; 256 const(XMIT_ROUTINE_QUINTUPLE)* aXmitQuintuple; 257 const(char)* *pFormatTypes; 258 int fCheckBounds; 259 uint Version; 260 MALLOC_FREE_STRUCT *pMallocFreeStruct; 261 int MIDLVersion; 262 const(COMM_FAULT_OFFSETS)* CommFaultOffsets; 263 const(USER_MARSHAL_ROUTINE_QUADRUPLE)* aUserMarshalQuadruple; 264 const(NDR_NOTIFY_ROUTINE)* NotifyRoutineTable; 265 ULONG_PTR mFlags; 266 const(NDR_CS_ROUTINES)* CsRoutineTables; 267 void *Reserved4; 268 ULONG_PTR Reserved5; 269 } 270 alias PMIDL_STUB_DESC = const(MIDL_STUB_DESC)*; 271 272 alias void * PMIDL_XMIT_TYPE; 273 274 struct MIDL_FORMAT_STRING { 275 short Pad; 276 ubyte[1] Format; 277 } 278 279 struct MIDL_SERVER_INFO { 280 PMIDL_STUB_DESC pStubDesc; 281 const(SERVER_ROUTINE)* DispatchTable; 282 PFORMAT_STRING ProcString; 283 const(ushort)* FmtStringOffset; 284 const(STUB_THUNK)* ThunkTable; 285 } 286 alias MIDL_SERVER_INFO * PMIDL_SERVER_INFO; 287 288 struct MIDL_STUBLESS_PROXY_INFO { 289 PMIDL_STUB_DESC pStubDesc; 290 PFORMAT_STRING ProcFormatString; 291 const(ushort)* FormatStringOffset; 292 } 293 alias MIDL_STUBLESS_PROXY_INFO *PMIDL_STUBLESS_PROXY_INFO; 294 295 union CLIENT_CALL_RETURN { 296 void *Pointer; 297 LONG_PTR Simple; 298 } 299 300 enum XLAT_SIDE { 301 XLAT_SERVER = 1, 302 XLAT_CLIENT 303 } 304 struct FULL_PTR_TO_REFID_ELEMENT { 305 FULL_PTR_TO_REFID_ELEMENT * Next; 306 void* Pointer; 307 uint RefId; 308 ubyte State; 309 } 310 alias FULL_PTR_TO_REFID_ELEMENT * PFULL_PTR_TO_REFID_ELEMENT; 311 312 struct FULL_PTR_XLAT_TABLES { 313 struct _RefIdToPointer { 314 void **XlatTable; 315 ubyte *StateTable; 316 uint NumberOfEntries; 317 } 318 void* RefIdToPointer; 319 struct _PointerToRefId { 320 PFULL_PTR_TO_REFID_ELEMENT *XlatTable; 321 uint NumberOfBuckets; 322 uint HashMask; 323 } 324 void* PointerToRefId; 325 326 uint NextRefId; 327 XLAT_SIDE XlatSide; 328 } 329 alias FULL_PTR_XLAT_TABLES * PFULL_PTR_XLAT_TABLES; 330 331 332 enum STUB_PHASE { 333 STUB_UNMARSHAL, 334 STUB_CALL_SERVER, 335 STUB_MARSHAL, 336 STUB_CALL_SERVER_NO_HRESULT 337 } 338 339 enum PROXY_PHASE { 340 PROXY_CALCSIZE, 341 PROXY_GETBUFFER, 342 PROXY_MARSHAL, 343 PROXY_SENDRECEIVE, 344 PROXY_UNMARSHAL 345 } 346 347 alias void * RPC_SS_THREAD_HANDLE; 348 349 extern (Windows) { 350 alias void function (void*) NDR_RUNDOWN; 351 alias void function (_MIDL_STUB_MESSAGE*) EXPR_EVAL; 352 alias void function(PMIDL_STUB_MESSAGE) XMIT_HELPER_ROUTINE; 353 alias void function (RPC_BINDING_HANDLE,uint,uint,IDL_CS_CONVERT*,uint*,error_status_t*) CS_TYPE_NET_SIZE_ROUTINE; 354 alias void function (RPC_BINDING_HANDLE,uint,uint,IDL_CS_CONVERT*,uint*,error_status_t*) CS_TYPE_LOCAL_SIZE_ROUTINE; 355 alias void function (RPC_BINDING_HANDLE,uint,void*,uint,byte*,uint*,error_status_t*) CS_TYPE_TO_NETCS_ROUTINE; 356 alias void function (RPC_BINDING_HANDLE,uint,byte*,uint,uint,void*,uint*,error_status_t*) CS_TYPE_FROM_NETCS_ROUTINE; 357 alias void function (RPC_BINDING_HANDLE,int,uint*,uint*,uint*,error_status_t*) CS_TAG_GETTING_ROUTINE; 358 359 //alias void* RPC_CLIENT_ALLOC(uint); 360 //alias void RPC_CLIENT_FREE(void*); 361 alias void* function(uint) PRPC_CLIENT_ALLOC; 362 alias void function(void*) PRPC_CLIENT_FREE; 363 364 alias void function (PMIDL_STUB_MESSAGE) STUB_THUNK; 365 alias int function() SERVER_ROUTINE; 366 } 367 368 void NdrSimpleTypeMarshall(PMIDL_STUB_MESSAGE,ubyte*,ubyte); 369 ubyte * NdrPointerMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING pFormat); 370 ubyte * NdrSimpleStructMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 371 ubyte * NdrConformantStructMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 372 ubyte * NdrConformantVaryingStructMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 373 ubyte * NdrHardStructMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 374 ubyte * NdrComplexStructMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 375 ubyte * NdrFixedArrayMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 376 ubyte * NdrConformantArrayMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 377 ubyte * NdrConformantVaryingArrayMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 378 ubyte * NdrVaryingArrayMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 379 ubyte * NdrComplexArrayMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 380 ubyte * NdrNonConformantStringMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 381 ubyte * NdrConformantStringMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 382 ubyte * NdrEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 383 ubyte * NdrNonEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 384 ubyte * NdrByteCountPointerMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 385 ubyte * NdrXmitOrRepAsMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 386 ubyte * NdrInterfacePointerMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 387 void NdrClientContextMarshall(PMIDL_STUB_MESSAGE,NDR_CCONTEXT,int); 388 void NdrServerContextMarshall(PMIDL_STUB_MESSAGE,NDR_SCONTEXT,NDR_RUNDOWN); 389 void NdrSimpleTypeUnmarshall(PMIDL_STUB_MESSAGE,ubyte*,ubyte); 390 ubyte * NdrPointerUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 391 ubyte * NdrSimpleStructUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 392 ubyte * NdrConformantStructUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 393 ubyte * NdrConformantVaryingStructUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 394 ubyte * NdrHardStructUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 395 ubyte * NdrComplexStructUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 396 ubyte * NdrFixedArrayUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 397 ubyte * NdrConformantArrayUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 398 ubyte * NdrConformantVaryingArrayUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 399 ubyte * NdrVaryingArrayUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 400 ubyte * NdrComplexArrayUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 401 ubyte * NdrNonConformantStringUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 402 ubyte * NdrConformantStringUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 403 ubyte * NdrEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 404 ubyte * NdrNonEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 405 ubyte * NdrByteCountPointerUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 406 ubyte * NdrXmitOrRepAsUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 407 ubyte * NdrInterfacePointerUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 408 void NdrClientContextUnmarshall(PMIDL_STUB_MESSAGE,NDR_CCONTEXT*,RPC_BINDING_HANDLE); 409 NDR_SCONTEXT NdrServerContextUnmarshall(PMIDL_STUB_MESSAGE); 410 void NdrPointerBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 411 void NdrSimpleStructBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 412 void NdrConformantStructBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 413 void NdrConformantVaryingStructBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 414 void NdrHardStructBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 415 void NdrComplexStructBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 416 void NdrFixedArrayBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 417 void NdrConformantArrayBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 418 void NdrConformantVaryingArrayBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 419 void NdrVaryingArrayBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 420 void NdrComplexArrayBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 421 void NdrConformantStringBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 422 void NdrNonConformantStringBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 423 void NdrEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 424 void NdrNonEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 425 void NdrByteCountPointerBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 426 void NdrXmitOrRepAsBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 427 void NdrInterfacePointerBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 428 void NdrContextHandleSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 429 uint NdrPointerMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 430 uint NdrSimpleStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 431 uint NdrConformantStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 432 uint NdrConformantVaryingStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 433 uint NdrHardStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 434 uint NdrComplexStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 435 uint NdrFixedArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 436 uint NdrConformantArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 437 uint NdrConformantVaryingArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 438 uint NdrVaryingArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 439 uint NdrComplexArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 440 uint NdrConformantStringMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 441 uint NdrNonConformantStringMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 442 uint NdrEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 443 uint NdrNonEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 444 uint NdrXmitOrRepAsMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 445 uint NdrInterfacePointerMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 446 void NdrPointerFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 447 void NdrSimpleStructFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 448 void NdrConformantStructFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 449 void NdrConformantVaryingStructFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 450 void NdrHardStructFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 451 void NdrComplexStructFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 452 void NdrFixedArrayFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 453 void NdrConformantArrayFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 454 void NdrConformantVaryingArrayFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 455 void NdrVaryingArrayFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 456 void NdrComplexArrayFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 457 void NdrEncapsulatedUnionFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 458 void NdrNonEncapsulatedUnionFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 459 void NdrByteCountPointerFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 460 void NdrXmitOrRepAsFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 461 void NdrInterfacePointerFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 462 void NdrConvert(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 463 void NdrClientInitializeNew(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,uint); 464 ubyte * NdrServerInitializeNew(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC); 465 void NdrClientInitialize(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,uint); 466 ubyte * NdrServerInitialize(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC); 467 ubyte * NdrServerInitializeUnmarshall(PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,PRPC_MESSAGE); 468 void NdrServerInitializeMarshall(PRPC_MESSAGE,PMIDL_STUB_MESSAGE); 469 ubyte * NdrGetBuffer(PMIDL_STUB_MESSAGE,uint,RPC_BINDING_HANDLE); 470 ubyte * NdrNsGetBuffer(PMIDL_STUB_MESSAGE,uint,RPC_BINDING_HANDLE); 471 ubyte * NdrSendReceive(PMIDL_STUB_MESSAGE,ubyte*); 472 ubyte * NdrNsSendReceive(PMIDL_STUB_MESSAGE,ubyte*,RPC_BINDING_HANDLE*); 473 void NdrFreeBuffer(PMIDL_STUB_MESSAGE); 474 475 CLIENT_CALL_RETURN NdrClientCall(PMIDL_STUB_DESC,PFORMAT_STRING,...); 476 477 int NdrStubCall(IRpcStubBuffer, IRpcChannelBuffer,PRPC_MESSAGE,uint*); 478 void NdrServerCall(PRPC_MESSAGE); 479 int NdrServerUnmarshall(IRpcChannelBuffer, PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,PFORMAT_STRING,void*); 480 void NdrServerMarshall(IRpcStubBuffer, IRpcChannelBuffer,PMIDL_STUB_MESSAGE,PFORMAT_STRING); 481 RPC_STATUS NdrMapCommAndFaultStatus(PMIDL_STUB_MESSAGE,uint*,uint*,RPC_STATUS); 482 int NdrSH_UPDecision(PMIDL_STUB_MESSAGE,ubyte**,RPC_BUFPTR); 483 int NdrSH_TLUPDecision(PMIDL_STUB_MESSAGE,ubyte**); 484 int NdrSH_TLUPDecisionBuffer(PMIDL_STUB_MESSAGE,ubyte**); 485 int NdrSH_IfAlloc(PMIDL_STUB_MESSAGE,ubyte**,uint); 486 int NdrSH_IfAllocRef(PMIDL_STUB_MESSAGE,ubyte**,uint); 487 int NdrSH_IfAllocSet(PMIDL_STUB_MESSAGE,ubyte**,uint); 488 RPC_BUFPTR NdrSH_IfCopy(PMIDL_STUB_MESSAGE,ubyte**,uint); 489 RPC_BUFPTR NdrSH_IfAllocCopy(PMIDL_STUB_MESSAGE,ubyte**,uint); 490 uint NdrSH_Copy(ubyte*,ubyte*,uint); 491 void NdrSH_IfFree(PMIDL_STUB_MESSAGE,ubyte*); 492 RPC_BUFPTR NdrSH_StringMarshall(PMIDL_STUB_MESSAGE,ubyte*,uint,int); 493 RPC_BUFPTR NdrSH_StringUnMarshall(PMIDL_STUB_MESSAGE,ubyte**,int); 494 void* RpcSsAllocate(uint); 495 void RpcSsDisableAllocate(); 496 void RpcSsEnableAllocate(); 497 void RpcSsFree(void*); 498 RPC_SS_THREAD_HANDLE RpcSsGetThreadHandle(); 499 void RpcSsSetClientAllocFree(PRPC_CLIENT_ALLOC,PRPC_CLIENT_FREE); 500 void RpcSsSetThreadHandle(RPC_SS_THREAD_HANDLE); 501 void RpcSsSwapClientAllocFree(PRPC_CLIENT_ALLOC,PRPC_CLIENT_FREE,PRPC_CLIENT_ALLOC*,PRPC_CLIENT_FREE*); 502 void* RpcSmAllocate(uint,RPC_STATUS*); 503 RPC_STATUS RpcSmClientFree(void*); 504 RPC_STATUS RpcSmDestroyClientContext(void**); 505 RPC_STATUS RpcSmDisableAllocate(); 506 RPC_STATUS RpcSmEnableAllocate(); 507 RPC_STATUS RpcSmFree(void*); 508 RPC_SS_THREAD_HANDLE RpcSmGetThreadHandle(RPC_STATUS*); 509 RPC_STATUS RpcSmSetClientAllocFree(PRPC_CLIENT_ALLOC,PRPC_CLIENT_FREE); 510 RPC_STATUS RpcSmSetThreadHandle(RPC_SS_THREAD_HANDLE); 511 RPC_STATUS RpcSmSwapClientAllocFree(PRPC_CLIENT_ALLOC,PRPC_CLIENT_FREE,PRPC_CLIENT_ALLOC*,PRPC_CLIENT_FREE*); 512 void NdrRpcSsEnableAllocate(PMIDL_STUB_MESSAGE); 513 void NdrRpcSsDisableAllocate(PMIDL_STUB_MESSAGE); 514 void NdrRpcSmSetClientToOsf(PMIDL_STUB_MESSAGE); 515 void* NdrRpcSmClientAllocate(uint); 516 void NdrRpcSmClientFree(void*); 517 void* NdrRpcSsDefaultAllocate(uint); 518 void NdrRpcSsDefaultFree(void*); 519 PFULL_PTR_XLAT_TABLES NdrFullPointerXlatInit(uint,XLAT_SIDE); 520 void NdrFullPointerXlatFree(PFULL_PTR_XLAT_TABLES); 521 int NdrFullPointerQueryPointer(PFULL_PTR_XLAT_TABLES,void*,ubyte,uint*); 522 int NdrFullPointerQueryRefId(PFULL_PTR_XLAT_TABLES,uint,ubyte,void**); 523 void NdrFullPointerInsertRefId(PFULL_PTR_XLAT_TABLES,uint,void*); 524 int NdrFullPointerFree(PFULL_PTR_XLAT_TABLES,void*); 525 void* NdrAllocate(PMIDL_STUB_MESSAGE,uint); 526 void NdrClearOutParameters(PMIDL_STUB_MESSAGE,PFORMAT_STRING,void*); 527 void* NdrOleAllocate(uint); 528 void NdrOleFree(void*); 529 ubyte* NdrUserMarshalMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 530 ubyte* NdrUserMarshalUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 531 void NdrUserMarshalBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 532 uint NdrUserMarshalMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 533 void NdrUserMarshalFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING);