Hex Artifact Content

Not logged in

Artifact 8b8a4b41425c59e6ffabb549a3f44b3f6370bc8e:


0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0a 2a 20 20 20 20 20  ********\.*     
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0060: 20 20 20 20 20 20 20 20 20 20 72 70 63 6e 64 72            rpcndr
0070: 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .d              
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20    *.*           
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20              *.* 
00e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00f0: 20 20 20 20 20 20 57 69 6e 64 6f 77 73 20 41 50        Windows AP
0100: 49 20 68 65 61 64 65 72 20 6d 6f 64 75 6c 65 20  I header module 
0110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0120: 20 20 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20        *.*       
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0170: 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20  *.*             
0180: 20 20 20 20 54 72 61 6e 73 6c 61 74 65 64 20 66      Translated f
0190: 72 6f 6d 20 4d 69 6e 47 57 20 57 69 6e 64 6f 77  rom MinGW Window
01a0: 73 20 68 65 61 64 65 72 73 20 20 20 20 20 20 20  s headers       
01b0: 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 20 20            *.*   
01c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0200: 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20      *.*         
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 6c                Pl
0220: 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c 69 63  aced into public
0230: 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 20 20   domain         
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a                *.
0250: 5c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  \***************
0260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0290: 2a 2a 2a 2a 2a 2a 2a 2a 2f 0a 6d 6f 64 75 6c 65  ********/.module
02a0: 20 77 69 6e 33 32 2e 72 70 63 6e 64 72 3b 0a 70   win32.rpcndr;.p
02b0: 72 61 67 6d 61 28 6c 69 62 2c 20 22 72 70 63 72  ragma(lib, "rpcr
02c0: 74 34 2e 6c 69 62 22 29 3b 0a 0a 2f 2a 20 54 72  t4.lib");../* Tr
02d0: 61 6e 73 6c 61 74 69 6f 6e 20 6e 6f 74 65 73 3a  anslation notes:
02e0: 0a 20 52 50 43 5f 43 4c 49 45 4e 54 5f 41 4c 4c  . RPC_CLIENT_ALL
02f0: 4f 43 2a 2c 20 52 50 43 5f 43 4c 49 45 4e 54 5f  OC*, RPC_CLIENT_
0300: 46 52 45 45 2a 20 77 65 72 65 20 72 65 70 6c 61  FREE* were repla
0310: 63 65 64 20 77 69 74 68 20 50 52 50 43 5f 43 4c  ced with PRPC_CL
0320: 49 45 4e 54 5f 41 4c 4c 4f 43 2c 20 50 52 50 43  IENT_ALLOC, PRPC
0330: 5f 43 4c 49 45 4e 54 5f 46 52 45 45 0a 2a 2f 0a  _CLIENT_FREE.*/.
0340: 0a 2f 2f 20 54 4f 44 4f 3a 20 42 69 74 66 69 65  .// TODO: Bitfie
0350: 6c 64 73 20 69 6e 20 4d 49 44 4c 5f 53 54 55 42  lds in MIDL_STUB
0360: 5f 4d 45 53 53 41 47 45 2e 0a 2f 2f 20 20 20 20  _MESSAGE..//    
0370: 20 20 20 4d 61 63 72 6f 73 20 6e 65 65 64 20 74     Macros need t
0380: 6f 20 62 65 20 63 6f 6e 76 65 72 74 65 64 2e 0a  o be converted..
0390: 63 6f 6e 73 74 20 5f 5f 52 50 43 4e 44 52 5f 48  const __RPCNDR_H
03a0: 5f 56 45 52 53 49 4f 4e 5f 5f 3d 20 34 35 30 3b  _VERSION__= 450;
03b0: 0a 0a 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 72  ..import win32.r
03c0: 70 63 6e 73 69 70 3b 0a 70 72 69 76 61 74 65 20  pcnsip;.private 
03d0: 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 72 70 63  import win32.rpc
03e0: 2c 20 77 69 6e 33 32 2e 72 70 63 64 63 65 2c 20  , win32.rpcdce, 
03f0: 77 69 6e 33 32 2e 75 6e 6b 6e 77 6e 2c 20 77 69  win32.unknwn, wi
0400: 6e 33 32 2e 77 69 6e 64 65 66 3b 0a 70 72 69 76  n32.windef;.priv
0410: 61 74 65 20 69 6d 70 6f 72 74 20 77 69 6e 33 32  ate import win32
0420: 2e 6f 62 6a 69 64 6c 3b 20 2f 2f 20 66 6f 72 20  .objidl; // for 
0430: 49 52 70 63 43 68 61 6e 6e 65 6c 42 75 66 66 65  IRpcChannelBuffe
0440: 72 2c 20 49 52 70 63 53 74 75 62 42 75 66 66 65  r, IRpcStubBuffe
0450: 72 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74  r.private import
0460: 20 77 69 6e 33 32 2e 62 61 73 65 74 79 70 73 3b   win32.basetyps;
0470: 0a 0a 65 78 74 65 72 6e 20 28 57 69 6e 64 6f 77  ..extern (Window
0480: 73 29 3a 0a 0a 63 6f 6e 73 74 20 75 69 6e 74 20  s):..const uint 
0490: 4e 44 52 5f 43 48 41 52 5f 52 45 50 5f 4d 41 53  NDR_CHAR_REP_MAS
04a0: 4b 20 20 20 20 20 20 3d 20 30 78 46 2c 0a 09 4e  K      = 0xF,..N
04b0: 44 52 5f 49 4e 54 5f 52 45 50 5f 4d 41 53 4b 20  DR_INT_REP_MASK 
04c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30               = 0
04d0: 78 46 30 2c 0a 09 4e 44 52 5f 46 4c 4f 41 54 5f  xF0,..NDR_FLOAT_
04e0: 52 45 50 5f 4d 41 53 4b 20 20 20 20 20 20 20 20  REP_MASK        
04f0: 20 20 20 20 3d 20 30 78 46 46 30 30 2c 0a 09 4e      = 0xFF00,..N
0500: 44 52 5f 4c 49 54 54 4c 45 5f 45 4e 44 49 41 4e  DR_LITTLE_ENDIAN
0510: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30               = 0
0520: 78 31 30 2c 0a 09 4e 44 52 5f 42 49 47 5f 45 4e  x10,..NDR_BIG_EN
0530: 44 49 41 4e 20 20 20 20 20 20 20 20 20 20 20 20  DIAN            
0540: 20 20 20 20 3d 20 30 2c 0a 09 4e 44 52 5f 49 45      = 0,..NDR_IE
0550: 45 45 5f 46 4c 4f 41 54 20 20 20 20 20 20 20 20  EE_FLOAT        
0560: 20 20 20 20 20 20 20 20 3d 20 30 2c 0a 09 4e 44          = 0,..ND
0570: 52 5f 56 41 58 5f 46 4c 4f 41 54 20 20 20 20 20  R_VAX_FLOAT     
0580: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
0590: 31 30 30 2c 0a 09 4e 44 52 5f 41 53 43 49 49 5f  100,..NDR_ASCII_
05a0: 43 48 41 52 20 20 20 20 20 20 20 20 20 20 20 20  CHAR            
05b0: 20 20 20 20 3d 20 30 2c 0a 09 4e 44 52 5f 45 42      = 0,..NDR_EB
05c0: 43 44 49 43 5f 43 48 41 52 20 20 20 20 20 20 20  CDIC_CHAR       
05d0: 20 20 20 20 20 20 20 20 3d 20 31 2c 0a 09 4e 44          = 1,..ND
05e0: 52 5f 4c 4f 43 41 4c 5f 44 41 54 41 5f 52 45 50  R_LOCAL_DATA_REP
05f0: 52 45 53 45 4e 54 41 54 49 4f 4e 20 3d 20 30 78  RESENTATION = 0x
0600: 31 30 2c 0a 09 4e 44 52 5f 4c 4f 43 41 4c 5f 45  10,..NDR_LOCAL_E
0610: 4e 44 49 41 4e 20 20 20 20 20 20 20 20 20 20 20  NDIAN           
0620: 20 20 20 3d 20 4e 44 52 5f 4c 49 54 54 4c 45 5f     = NDR_LITTLE_
0630: 45 4e 44 49 41 4e 3b 0a 0a 61 6c 69 61 73 20 4d  ENDIAN;..alias M
0640: 49 44 4c 5f 75 73 65 72 5f 61 6c 6c 6f 63 61 74  IDL_user_allocat
0650: 65 20 6d 69 64 6c 5f 75 73 65 72 5f 61 6c 6c 6f  e midl_user_allo
0660: 63 61 74 65 3b 0a 61 6c 69 61 73 20 4d 49 44 4c  cate;.alias MIDL
0670: 5f 75 73 65 72 5f 66 72 65 65 20 6d 69 64 6c 5f  _user_free midl_
0680: 75 73 65 72 5f 66 72 65 65 3b 0a 0a 61 6c 69 61  user_free;..alia
0690: 73 20 6c 6f 6e 67 20 68 79 70 65 72 3b 0a 61 6c  s long hyper;.al
06a0: 69 61 73 20 75 6c 6f 6e 67 20 4d 49 44 4c 5f 75  ias ulong MIDL_u
06b0: 68 79 70 65 72 3b 0a 61 6c 69 61 73 20 63 68 61  hyper;.alias cha
06c0: 72 20 73 6d 61 6c 6c 3b 0a 0a 63 6f 6e 73 74 20  r small;..const 
06d0: 63 62 4e 44 52 43 6f 6e 74 65 78 74 3d 32 30 3b  cbNDRContext=20;
06e0: 0a 2f 2f 4d 41 43 52 4f 20 23 64 65 66 69 6e 65  .//MACRO #define
06f0: 20 4e 44 52 53 43 6f 6e 74 65 78 74 56 61 6c 75   NDRSContextValu
0700: 65 28 68 43 6f 6e 74 65 78 74 29 20 28 26 28 68  e(hContext) (&(h
0710: 43 6f 6e 74 65 78 74 29 2d 3e 75 73 65 72 43 6f  Context)->userCo
0720: 6e 74 65 78 74 29 0a 2f 2f 4d 41 43 52 4f 20 23  ntext).//MACRO #
0730: 64 65 66 69 6e 65 20 62 79 74 65 5f 66 72 6f 6d  define byte_from
0740: 5f 6e 64 72 28 73 6f 75 72 63 65 2c 20 74 61 72  _ndr(source, tar
0750: 67 65 74 29 20 7b 20 2a 28 74 61 72 67 65 74 29  get) { *(target)
0760: 20 3d 20 2a 28 2a 28 63 68 61 72 2a 2a 29 26 28   = *(*(char**)&(
0770: 73 6f 75 72 63 65 29 2d 3e 42 75 66 66 65 72 29  source)->Buffer)
0780: 2b 2b 3b 20 7d 0a 0a 2f 2f 4d 41 43 52 4f 20 23  ++; }..//MACRO #
0790: 64 65 66 69 6e 65 20 62 79 74 65 5f 61 72 72 61  define byte_arra
07a0: 79 5f 66 72 6f 6d 5f 6e 64 72 28 53 6f 75 72 63  y_from_ndr(Sourc
07b0: 65 2c 20 4c 6f 77 65 72 49 6e 64 65 78 2c 20 55  e, LowerIndex, U
07c0: 70 70 65 72 49 6e 64 65 78 2c 20 54 61 72 67 65  pperIndex, Targe
07d0: 74 29 20 7b 20 4e 44 52 63 6f 70 79 20 28 28 28  t) { NDRcopy (((
07e0: 28 63 68 61 72 20 2a 29 28 54 61 72 67 65 74 29  (char *)(Target)
07f0: 29 2b 28 4c 6f 77 65 72 49 6e 64 65 78 29 29 2c  )+(LowerIndex)),
0800: 20 28 53 6f 75 72 63 65 29 2d 3e 42 75 66 66 65   (Source)->Buffe
0810: 72 2c 20 28 75 6e 73 69 67 6e 65 64 20 69 6e 74  r, (unsigned int
0820: 29 28 28 55 70 70 65 72 49 6e 64 65 78 29 2d 28  )((UpperIndex)-(
0830: 4c 6f 77 65 72 49 6e 64 65 78 29 29 29 3b 20 2a  LowerIndex))); *
0840: 28 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 2a  (unsigned long *
0850: 29 26 28 53 6f 75 72 63 65 29 2d 3e 42 75 66 66  )&(Source)->Buff
0860: 65 72 20 2b 3d 20 28 28 55 70 70 65 72 49 6e 64  er += ((UpperInd
0870: 65 78 29 2d 28 4c 6f 77 65 72 49 6e 64 65 78 29  ex)-(LowerIndex)
0880: 29 3b 20 7d 0a 0a 2f 2f 4d 41 43 52 4f 20 23 64  ); }..//MACRO #d
0890: 65 66 69 6e 65 20 62 6f 6f 6c 65 61 6e 5f 66 72  efine boolean_fr
08a0: 6f 6d 5f 6e 64 72 28 73 6f 75 72 63 65 2c 20 74  om_ndr(source, t
08b0: 61 72 67 65 74 29 20 7b 20 2a 28 74 61 72 67 65  arget) { *(targe
08c0: 74 29 20 3d 20 2a 28 2a 28 63 68 61 72 2a 2a 29  t) = *(*(char**)
08d0: 26 28 73 6f 75 72 63 65 29 2d 3e 42 75 66 66 65  &(source)->Buffe
08e0: 72 29 2b 2b 3b 20 7d 0a 0a 2f 2f 4d 41 43 52 4f  r)++; }..//MACRO
08f0: 20 23 64 65 66 69 6e 65 20 62 6f 6f 6c 65 61 6e   #define boolean
0900: 5f 61 72 72 61 79 5f 66 72 6f 6d 5f 6e 64 72 28  _array_from_ndr(
0910: 53 6f 75 72 63 65 2c 20 4c 6f 77 65 72 49 6e 64  Source, LowerInd
0920: 65 78 2c 20 55 70 70 65 72 49 6e 64 65 78 2c 20  ex, UpperIndex, 
0930: 54 61 72 67 65 74 29 20 7b 20 4e 44 52 63 6f 70  Target) { NDRcop
0940: 79 20 28 28 28 28 63 68 61 72 20 2a 29 28 54 61  y ((((char *)(Ta
0950: 72 67 65 74 29 29 2b 28 4c 6f 77 65 72 49 6e 64  rget))+(LowerInd
0960: 65 78 29 29 2c 20 28 53 6f 75 72 63 65 29 2d 3e  ex)), (Source)->
0970: 42 75 66 66 65 72 2c 20 28 75 6e 73 69 67 6e 65  Buffer, (unsigne
0980: 64 20 69 6e 74 29 28 28 55 70 70 65 72 49 6e 64  d int)((UpperInd
0990: 65 78 29 2d 28 4c 6f 77 65 72 49 6e 64 65 78 29  ex)-(LowerIndex)
09a0: 29 29 3b 20 2a 28 75 6e 73 69 67 6e 65 64 20 6c  )); *(unsigned l
09b0: 6f 6e 67 20 2a 29 26 28 53 6f 75 72 63 65 29 2d  ong *)&(Source)-
09c0: 3e 42 75 66 66 65 72 20 2b 3d 20 28 28 55 70 70  >Buffer += ((Upp
09d0: 65 72 49 6e 64 65 78 29 2d 28 4c 6f 77 65 72 49  erIndex)-(LowerI
09e0: 6e 64 65 78 29 29 3b 20 7d 0a 0a 2f 2f 4d 41 43  ndex)); }..//MAC
09f0: 52 4f 20 23 64 65 66 69 6e 65 20 73 6d 61 6c 6c  RO #define small
0a00: 5f 66 72 6f 6d 5f 6e 64 72 28 73 6f 75 72 63 65  _from_ndr(source
0a10: 2c 20 74 61 72 67 65 74 29 20 7b 20 2a 28 74 61  , target) { *(ta
0a20: 72 67 65 74 29 20 3d 20 2a 28 2a 28 63 68 61 72  rget) = *(*(char
0a30: 2a 2a 29 26 28 73 6f 75 72 63 65 29 2d 3e 42 75  **)&(source)->Bu
0a40: 66 66 65 72 29 2b 2b 3b 20 7d 0a 0a 2f 2f 4d 41  ffer)++; }..//MA
0a50: 43 52 4f 20 23 64 65 66 69 6e 65 20 73 6d 61 6c  CRO #define smal
0a60: 6c 5f 66 72 6f 6d 5f 6e 64 72 5f 74 65 6d 70 28  l_from_ndr_temp(
0a70: 73 6f 75 72 63 65 2c 20 74 61 72 67 65 74 2c 20  source, target, 
0a80: 66 6f 72 6d 61 74 29 20 7b 20 2a 28 74 61 72 67  format) { *(targ
0a90: 65 74 29 20 3d 20 2a 28 2a 28 63 68 61 72 2a 2a  et) = *(*(char**
0aa0: 29 28 73 6f 75 72 63 65 29 29 2b 2b 3b 20 7d 0a  )(source))++; }.
0ab0: 0a 2f 2f 4d 41 43 52 4f 20 23 64 65 66 69 6e 65  .//MACRO #define
0ac0: 20 73 6d 61 6c 6c 5f 61 72 72 61 79 5f 66 72 6f   small_array_fro
0ad0: 6d 5f 6e 64 72 28 53 6f 75 72 63 65 2c 20 4c 6f  m_ndr(Source, Lo
0ae0: 77 65 72 49 6e 64 65 78 2c 20 55 70 70 65 72 49  werIndex, UpperI
0af0: 6e 64 65 78 2c 20 54 61 72 67 65 74 29 20 7b 20  ndex, Target) { 
0b00: 4e 44 52 63 6f 70 79 20 28 28 28 28 63 68 61 72  NDRcopy ((((char
0b10: 20 2a 29 28 54 61 72 67 65 74 29 29 2b 28 4c 6f   *)(Target))+(Lo
0b20: 77 65 72 49 6e 64 65 78 29 29 2c 20 28 53 6f 75  werIndex)), (Sou
0b30: 72 63 65 29 2d 3e 42 75 66 66 65 72 2c 20 28 75  rce)->Buffer, (u
0b40: 6e 73 69 67 6e 65 64 20 69 6e 74 29 28 28 55 70  nsigned int)((Up
0b50: 70 65 72 49 6e 64 65 78 29 2d 28 4c 6f 77 65 72  perIndex)-(Lower
0b60: 49 6e 64 65 78 29 29 29 3b 20 2a 28 75 6e 73 69  Index))); *(unsi
0b70: 67 6e 65 64 20 6c 6f 6e 67 20 2a 29 26 28 53 6f  gned long *)&(So
0b80: 75 72 63 65 29 2d 3e 42 75 66 66 65 72 20 2b 3d  urce)->Buffer +=
0b90: 20 28 28 55 70 70 65 72 49 6e 64 65 78 29 2d 28   ((UpperIndex)-(
0ba0: 4c 6f 77 65 72 49 6e 64 65 78 29 29 3b 20 7d 0a  LowerIndex)); }.
0bb0: 0a 2f 2f 4d 41 43 52 4f 20 23 64 65 66 69 6e 65  .//MACRO #define
0bc0: 20 4d 49 44 4c 5f 61 73 63 69 69 5f 73 74 72 6c   MIDL_ascii_strl
0bd0: 65 6e 28 73 74 72 69 6e 67 29 20 73 74 72 6c 65  en(string) strle
0be0: 6e 28 73 74 72 69 6e 67 29 0a 0a 2f 2f 4d 41 43  n(string)..//MAC
0bf0: 52 4f 20 23 64 65 66 69 6e 65 20 4d 49 44 4c 5f  RO #define MIDL_
0c00: 61 73 63 69 69 5f 73 74 72 63 70 79 28 74 61 72  ascii_strcpy(tar
0c10: 67 65 74 2c 73 6f 75 72 63 65 29 20 73 74 72 63  get,source) strc
0c20: 70 79 28 74 61 72 67 65 74 2c 73 6f 75 72 63 65  py(target,source
0c30: 29 0a 0a 2f 2f 4d 41 43 52 4f 20 23 64 65 66 69  )..//MACRO #defi
0c40: 6e 65 20 4d 49 44 4c 5f 6d 65 6d 73 65 74 28 73  ne MIDL_memset(s
0c50: 2c 63 2c 6e 29 20 6d 65 6d 73 65 74 28 73 2c 63  ,c,n) memset(s,c
0c60: 2c 6e 29 0a 0a 2f 2f 4d 41 43 52 4f 20 23 64 65  ,n)..//MACRO #de
0c70: 66 69 6e 65 20 5f 6d 69 64 6c 5f 6d 61 31 28 20  fine _midl_ma1( 
0c80: 70 2c 20 63 61 73 74 20 29 20 2a 28 2a 28 20 63  p, cast ) *(*( c
0c90: 61 73 74 20 2a 2a 29 26 70 29 2b 2b 0a 2f 2f 4d  ast **)&p)++.//M
0ca0: 41 43 52 4f 20 23 64 65 66 69 6e 65 20 5f 6d 69  ACRO #define _mi
0cb0: 64 6c 5f 6d 61 32 28 20 70 2c 20 63 61 73 74 20  dl_ma2( p, cast 
0cc0: 29 20 2a 28 2a 28 20 63 61 73 74 20 2a 2a 29 26  ) *(*( cast **)&
0cd0: 70 29 2b 2b 0a 2f 2f 4d 41 43 52 4f 20 23 64 65  p)++.//MACRO #de
0ce0: 66 69 6e 65 20 5f 6d 69 64 6c 5f 6d 61 34 28 20  fine _midl_ma4( 
0cf0: 70 2c 20 63 61 73 74 20 29 20 2a 28 2a 28 20 63  p, cast ) *(*( c
0d00: 61 73 74 20 2a 2a 29 26 70 29 2b 2b 0a 2f 2f 4d  ast **)&p)++.//M
0d10: 41 43 52 4f 20 23 64 65 66 69 6e 65 20 5f 6d 69  ACRO #define _mi
0d20: 64 6c 5f 6d 61 38 28 20 70 2c 20 63 61 73 74 20  dl_ma8( p, cast 
0d30: 29 20 2a 28 2a 28 20 63 61 73 74 20 2a 2a 29 26  ) *(*( cast **)&
0d40: 70 29 2b 2b 0a 2f 2f 4d 41 43 52 4f 20 23 64 65  p)++.//MACRO #de
0d50: 66 69 6e 65 20 5f 6d 69 64 6c 5f 75 6e 6d 61 31  fine _midl_unma1
0d60: 28 20 70 2c 20 63 61 73 74 20 29 20 2a 28 28 20  ( p, cast ) *(( 
0d70: 63 61 73 74 20 2a 29 70 29 2b 2b 0a 2f 2f 4d 41  cast *)p)++.//MA
0d80: 43 52 4f 20 23 64 65 66 69 6e 65 20 5f 6d 69 64  CRO #define _mid
0d90: 6c 5f 75 6e 6d 61 32 28 20 70 2c 20 63 61 73 74  l_unma2( p, cast
0da0: 20 29 20 2a 28 28 20 63 61 73 74 20 2a 29 70 29   ) *(( cast *)p)
0db0: 2b 2b 0a 2f 2f 4d 41 43 52 4f 20 23 64 65 66 69  ++.//MACRO #defi
0dc0: 6e 65 20 5f 6d 69 64 6c 5f 75 6e 6d 61 33 28 20  ne _midl_unma3( 
0dd0: 70 2c 20 63 61 73 74 20 29 20 2a 28 28 20 63 61  p, cast ) *(( ca
0de0: 73 74 20 2a 29 70 29 2b 2b 0a 2f 2f 4d 41 43 52  st *)p)++.//MACR
0df0: 4f 20 23 64 65 66 69 6e 65 20 5f 6d 69 64 6c 5f  O #define _midl_
0e00: 75 6e 6d 61 34 28 20 70 2c 20 63 61 73 74 20 29  unma4( p, cast )
0e10: 20 2a 28 28 20 63 61 73 74 20 2a 29 70 29 2b 2b   *(( cast *)p)++
0e20: 0a 2f 2f 4d 41 43 52 4f 20 23 64 65 66 69 6e 65  .//MACRO #define
0e30: 20 5f 6d 69 64 6c 5f 66 61 32 28 20 70 20 29 20   _midl_fa2( p ) 
0e40: 28 70 20 3d 20 28 52 50 43 5f 42 55 46 50 54 52  (p = (RPC_BUFPTR
0e50: 20 29 28 28 75 6e 73 69 67 6e 65 64 20 6c 6f 6e   )((unsigned lon
0e60: 67 29 28 70 2b 31 29 20 26 20 30 78 66 66 66 66  g)(p+1) & 0xffff
0e70: 66 66 66 65 29 29 0a 2f 2f 4d 41 43 52 4f 20 23  fffe)).//MACRO #
0e80: 64 65 66 69 6e 65 20 5f 6d 69 64 6c 5f 66 61 34  define _midl_fa4
0e90: 28 20 70 20 29 20 28 70 20 3d 20 28 52 50 43 5f  ( p ) (p = (RPC_
0ea0: 42 55 46 50 54 52 20 29 28 28 75 6e 73 69 67 6e  BUFPTR )((unsign
0eb0: 65 64 20 6c 6f 6e 67 29 28 70 2b 33 29 20 26 20  ed long)(p+3) & 
0ec0: 30 78 66 66 66 66 66 66 66 63 29 29 0a 2f 2f 4d  0xfffffffc)).//M
0ed0: 41 43 52 4f 20 23 64 65 66 69 6e 65 20 5f 6d 69  ACRO #define _mi
0ee0: 64 6c 5f 66 61 38 28 20 70 20 29 20 28 70 20 3d  dl_fa8( p ) (p =
0ef0: 20 28 52 50 43 5f 42 55 46 50 54 52 20 29 28 28   (RPC_BUFPTR )((
0f00: 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 29 28 70  unsigned long)(p
0f10: 2b 37 29 20 26 20 30 78 66 66 66 66 66 66 66 38  +7) & 0xfffffff8
0f20: 29 29 0a 2f 2f 4d 41 43 52 4f 20 23 64 65 66 69  )).//MACRO #defi
0f30: 6e 65 20 5f 6d 69 64 6c 5f 61 64 64 70 28 20 70  ne _midl_addp( p
0f40: 2c 20 6e 20 29 20 28 70 20 2b 3d 20 6e 29 0a 2f  , n ) (p += n)./
0f50: 2f 4d 41 43 52 4f 20 23 64 65 66 69 6e 65 20 5f  /MACRO #define _
0f60: 6d 69 64 6c 5f 6d 61 72 73 68 5f 6c 68 73 28 20  midl_marsh_lhs( 
0f70: 70 2c 20 63 61 73 74 20 29 20 2a 28 2a 28 20 63  p, cast ) *(*( c
0f80: 61 73 74 20 2a 2a 29 26 70 29 2b 2b 0a 2f 2f 4d  ast **)&p)++.//M
0f90: 41 43 52 4f 20 23 64 65 66 69 6e 65 20 5f 6d 69  ACRO #define _mi
0fa0: 64 6c 5f 6d 61 72 73 68 5f 75 70 28 20 6d 70 2c  dl_marsh_up( mp,
0fb0: 20 70 20 29 20 2a 28 2a 28 75 6e 73 69 67 6e 65   p ) *(*(unsigne
0fc0: 64 20 6c 6f 6e 67 20 2a 2a 29 26 6d 70 29 2b 2b  d long **)&mp)++
0fd0: 20 3d 20 28 75 6e 73 69 67 6e 65 64 20 6c 6f 6e   = (unsigned lon
0fe0: 67 29 70 0a 2f 2f 4d 41 43 52 4f 20 23 64 65 66  g)p.//MACRO #def
0ff0: 69 6e 65 20 5f 6d 69 64 6c 5f 61 64 76 6d 70 28  ine _midl_advmp(
1000: 20 6d 70 20 29 20 2a 28 2a 28 75 6e 73 69 67 6e   mp ) *(*(unsign
1010: 65 64 20 6c 6f 6e 67 20 2a 2a 29 26 6d 70 29 2b  ed long **)&mp)+
1020: 2b 0a 2f 2f 4d 41 43 52 4f 20 23 64 65 66 69 6e  +.//MACRO #defin
1030: 65 20 5f 6d 69 64 6c 5f 75 6e 6d 61 72 73 68 5f  e _midl_unmarsh_
1040: 75 70 28 20 70 20 29 20 28 2a 28 2a 28 75 6e 73  up( p ) (*(*(uns
1050: 69 67 6e 65 64 20 6c 6f 6e 67 20 2a 2a 29 26 70  igned long **)&p
1060: 29 2b 2b 29 0a 0a 2f 2f 4d 41 43 52 4f 20 23 64  )++)..//MACRO #d
1070: 65 66 69 6e 65 20 4e 64 72 4d 61 72 73 68 43 6f  efine NdrMarshCo
1080: 6e 66 53 74 72 69 6e 67 48 64 72 28 20 70 2c 20  nfStringHdr( p, 
1090: 73 2c 20 6c 20 29 20 28 5f 6d 69 64 6c 5f 6d 61  s, l ) (_midl_ma
10a0: 34 28 20 70 2c 20 75 6e 73 69 67 6e 65 64 20 6c  4( p, unsigned l
10b0: 6f 6e 67 29 20 3d 20 73 2c 20 5f 6d 69 64 6c 5f  ong) = s, _midl_
10c0: 6d 61 34 28 20 70 2c 20 75 6e 73 69 67 6e 65 64  ma4( p, unsigned
10d0: 20 6c 6f 6e 67 29 20 3d 20 30 2c 20 5f 6d 69 64   long) = 0, _mid
10e0: 6c 5f 6d 61 34 28 20 70 2c 20 75 6e 73 69 67 6e  l_ma4( p, unsign
10f0: 65 64 20 6c 6f 6e 67 29 20 3d 20 6c 29 0a 0a 2f  ed long) = l)../
1100: 2f 4d 41 43 52 4f 20 23 64 65 66 69 6e 65 20 4e  /MACRO #define N
1110: 64 72 55 6e 4d 61 72 73 68 43 6f 6e 66 53 74 72  drUnMarshConfStr
1120: 69 6e 67 48 64 72 28 70 2c 20 73 2c 20 6c 29 20  ingHdr(p, s, l) 
1130: 28 28 73 3d 5f 6d 69 64 6c 5f 75 6e 6d 61 34 28  ((s=_midl_unma4(
1140: 70 2c 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 29  p,unsigned long)
1150: 2c 20 28 5f 6d 69 64 6c 5f 61 64 64 70 28 70 2c  , (_midl_addp(p,
1160: 34 29 29 2c 20 28 6c 3d 5f 6d 69 64 6c 5f 75 6e  4)), (l=_midl_un
1170: 6d 61 34 28 70 2c 75 6e 73 69 67 6e 65 64 20 6c  ma4(p,unsigned l
1180: 6f 6e 67 29 29 0a 0a 2f 2f 4d 41 43 52 4f 20 23  ong))..//MACRO #
1190: 64 65 66 69 6e 65 20 4e 64 72 4d 61 72 73 68 43  define NdrMarshC
11a0: 43 74 78 74 48 64 6c 28 70 63 2c 70 29 20 28 4e  CtxtHdl(pc,p) (N
11b0: 44 52 43 43 6f 6e 74 65 78 74 4d 61 72 73 68 61  DRCContextMarsha
11c0: 6c 6c 28 20 28 4e 44 52 5f 43 43 4f 4e 54 45 58  ll( (NDR_CCONTEX
11d0: 54 29 70 63 2c 20 70 20 29 2c 70 2b 32 30 29 0a  T)pc, p ),p+20).
11e0: 2f 2f 4d 41 43 52 4f 20 23 64 65 66 69 6e 65 20  //MACRO #define 
11f0: 4e 64 72 55 6e 4d 61 72 73 68 43 43 74 78 74 48  NdrUnMarshCCtxtH
1200: 64 6c 28 70 63 2c 70 2c 68 2c 64 72 65 70 29 20  dl(pc,p,h,drep) 
1210: 28 4e 44 52 43 43 6f 6e 74 65 78 74 55 6e 6d 61  (NDRCContextUnma
1220: 72 73 68 61 6c 6c 28 28 4e 44 52 5f 43 4f 4e 54  rshall((NDR_CONT
1230: 45 58 54 29 70 63 2c 68 2c 70 2c 64 72 65 70 29  EXT)pc,h,p,drep)
1240: 2c 20 70 2b 32 30 29 0a 2f 2f 4d 41 43 52 4f 20  , p+20).//MACRO 
1250: 23 64 65 66 69 6e 65 20 4e 64 72 55 6e 4d 61 72  #define NdrUnMar
1260: 73 68 53 43 74 78 74 48 64 6c 28 70 63 2c 20 70  shSCtxtHdl(pc, p
1270: 2c 64 72 65 70 29 20 28 70 63 20 3d 20 4e 64 72  ,drep) (pc = Ndr
1280: 53 43 6f 6e 74 65 78 74 55 6e 4d 61 72 73 68 61  SContextUnMarsha
1290: 6c 6c 28 70 2c 64 72 65 70 20 29 29 0a 2f 2f 4d  ll(p,drep )).//M
12a0: 41 43 52 4f 20 23 64 65 66 69 6e 65 20 4e 64 72  ACRO #define Ndr
12b0: 4d 61 72 73 68 53 43 74 78 74 48 64 6c 28 70 63  MarshSCtxtHdl(pc
12c0: 2c 70 2c 72 64 29 20 28 4e 64 72 53 43 6f 6e 74  ,p,rd) (NdrSCont
12d0: 65 78 74 4d 61 72 73 68 61 6c 6c 28 28 4e 44 52  extMarshall((NDR
12e0: 5f 53 43 4f 4e 54 45 58 54 29 70 63 2c 70 2c 20  _SCONTEXT)pc,p, 
12f0: 28 4e 44 52 5f 52 55 4e 44 4f 57 4e 29 72 64 29  (NDR_RUNDOWN)rd)
1300: 0a 0a 2f 2f 4d 41 43 52 4f 20 23 64 65 66 69 6e  ..//MACRO #defin
1310: 65 20 4e 64 72 46 69 65 6c 64 4f 66 66 73 65 74  e NdrFieldOffset
1320: 28 73 2c 66 29 20 28 6c 6f 6e 67 29 28 26 20 28  (s,f) (long)(& (
1330: 28 28 73 20 2a 29 30 29 2d 3e 66 29 29 0a 2f 2f  ((s *)0)->f)).//
1340: 4d 41 43 52 4f 20 23 64 65 66 69 6e 65 20 4e 64  MACRO #define Nd
1350: 72 46 69 65 6c 64 50 61 64 28 73 2c 66 2c 70 2c  rFieldPad(s,f,p,
1360: 74 29 20 28 4e 64 72 46 69 65 6c 64 4f 66 66 73  t) (NdrFieldOffs
1370: 65 74 28 73 2c 66 29 20 2d 20 4e 64 72 46 69 65  et(s,f) - NdrFie
1380: 6c 64 4f 66 66 73 65 74 28 73 2c 70 29 20 2d 20  ldOffset(s,p) - 
1390: 73 69 7a 65 6f 66 28 74 29 29 0a 2f 2f 4d 41 43  sizeof(t)).//MAC
13a0: 52 4f 20 23 64 65 66 69 6e 65 20 4e 64 72 46 63  RO #define NdrFc
13b0: 53 68 6f 72 74 28 73 29 20 28 75 6e 73 69 67 6e  Short(s) (unsign
13c0: 65 64 20 63 68 61 72 29 28 73 20 26 20 30 78 66  ed char)(s & 0xf
13d0: 66 29 2c 20 28 75 6e 73 69 67 6e 65 64 20 63 68  f), (unsigned ch
13e0: 61 72 29 28 73 20 3e 3e 20 38 29 0a 2f 2f 4d 41  ar)(s >> 8).//MA
13f0: 43 52 4f 20 23 64 65 66 69 6e 65 20 4e 64 72 46  CRO #define NdrF
1400: 63 4c 6f 6e 67 28 73 29 20 28 75 6e 73 69 67 6e  cLong(s) (unsign
1410: 65 64 20 63 68 61 72 29 28 73 20 26 20 30 78 66  ed char)(s & 0xf
1420: 66 29 2c 20 28 75 6e 73 69 67 6e 65 64 20 63 68  f), (unsigned ch
1430: 61 72 29 28 28 73 20 26 20 30 78 30 30 30 30 66  ar)((s & 0x0000f
1440: 66 30 30 29 20 3e 3e 20 38 29 2c 20 28 75 6e 73  f00) >> 8), (uns
1450: 69 67 6e 65 64 20 63 68 61 72 29 28 28 73 20 26  igned char)((s &
1460: 20 30 78 30 30 66 66 30 30 30 30 29 20 3e 3e 20   0x00ff0000) >> 
1470: 31 36 29 2c 20 28 75 6e 73 69 67 6e 65 64 20 63  16), (unsigned c
1480: 68 61 72 29 28 73 20 3e 3e 20 32 34 29 0a 0a 61  har)(s >> 24)..a
1490: 6c 69 61 73 20 76 6f 69 64 20 2a 20 4e 44 52 5f  lias void * NDR_
14a0: 43 43 4f 4e 54 45 58 54 3b 0a 73 74 72 75 63 74  CCONTEXT;.struct
14b0: 20 74 61 67 4e 44 52 5f 53 43 4f 4e 54 45 58 54   tagNDR_SCONTEXT
14c0: 20 7b 0a 09 76 6f 69 64 20 2a 70 61 64 5b 32 5d   {..void *pad[2]
14d0: 3b 0a 09 76 6f 69 64 20 2a 75 73 65 72 43 6f 6e  ;..void *userCon
14e0: 74 65 78 74 3b 0a 7d 0a 61 6c 69 61 73 20 74 61  text;.}.alias ta
14f0: 67 4e 44 52 5f 53 43 4f 4e 54 45 58 54 20 2a 20  gNDR_SCONTEXT * 
1500: 4e 44 52 5f 53 43 4f 4e 54 45 58 54 3b 0a 0a 73  NDR_SCONTEXT;..s
1510: 74 72 75 63 74 20 53 43 4f 4e 54 45 58 54 5f 51  truct SCONTEXT_Q
1520: 55 45 55 45 20 7b 0a 09 75 69 6e 74 20 4e 75 6d  UEUE {..uint Num
1530: 62 65 72 4f 66 4f 62 6a 65 63 74 73 3b 0a 09 4e  berOfObjects;..N
1540: 44 52 5f 53 43 4f 4e 54 45 58 54 20 2a 41 72 72  DR_SCONTEXT *Arr
1550: 61 79 4f 66 4f 62 6a 65 63 74 73 3b 0a 7d 0a 61  ayOfObjects;.}.a
1560: 6c 69 61 73 20 53 43 4f 4e 54 45 58 54 5f 51 55  lias SCONTEXT_QU
1570: 45 55 45 20 2a 20 50 53 43 4f 4e 54 45 58 54 5f  EUE * PSCONTEXT_
1580: 51 55 45 55 45 3b 0a 0a 73 74 72 75 63 74 20 5f  QUEUE;..struct _
1590: 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47  MIDL_STUB_MESSAG
15a0: 45 3b 0a 73 74 72 75 63 74 20 5f 4d 49 44 4c 5f  E;.struct _MIDL_
15b0: 53 54 55 42 5f 44 45 53 43 3b 0a 73 74 72 75 63  STUB_DESC;.struc
15c0: 74 20 5f 46 55 4c 4c 5f 50 54 52 5f 58 4c 41 54  t _FULL_PTR_XLAT
15d0: 5f 54 41 42 4c 45 53 3b 0a 0a 61 6c 69 61 73 20  _TABLES;..alias 
15e0: 75 62 79 74 65 20 2a 52 50 43 5f 42 55 46 50 54  ubyte *RPC_BUFPT
15f0: 52 3b 0a 61 6c 69 61 73 20 75 69 6e 74 20 52 50  R;.alias uint RP
1600: 43 5f 4c 45 4e 47 54 48 3b 0a 0a 61 6c 69 61 73  C_LENGTH;..alias
1610: 20 43 50 74 72 21 28 63 68 61 72 29 20 50 46 4f   CPtr!(char) PFO
1620: 52 4d 41 54 5f 53 54 52 49 4e 47 3b 0a 0a 73 74  RMAT_STRING;..st
1630: 72 75 63 74 20 41 52 52 41 59 5f 49 4e 46 4f 20  ruct ARRAY_INFO 
1640: 7b 0a 09 69 6e 74 20 44 69 6d 65 6e 73 69 6f 6e  {..int Dimension
1650: 3b 0a 09 75 69 6e 74 20 2a 42 75 66 66 65 72 43  ;..uint *BufferC
1660: 6f 6e 66 6f 72 6d 61 6e 63 65 4d 61 72 6b 3b 0a  onformanceMark;.
1670: 09 75 69 6e 74 20 2a 42 75 66 66 65 72 56 61 72  .uint *BufferVar
1680: 69 61 6e 63 65 4d 61 72 6b 3b 0a 09 75 69 6e 74  ianceMark;..uint
1690: 20 2a 4d 61 78 43 6f 75 6e 74 41 72 72 61 79 3b   *MaxCountArray;
16a0: 0a 09 75 69 6e 74 20 2a 4f 66 66 73 65 74 41 72  ..uint *OffsetAr
16b0: 72 61 79 3b 0a 09 75 69 6e 74 20 2a 41 63 74 75  ray;..uint *Actu
16c0: 61 6c 43 6f 75 6e 74 41 72 72 61 79 3b 0a 7d 0a  alCountArray;.}.
16d0: 61 6c 69 61 73 20 41 52 52 41 59 5f 49 4e 46 4f  alias ARRAY_INFO
16e0: 20 2a 20 50 41 52 52 41 59 5f 49 4e 46 4f 3b 0a   * PARRAY_INFO;.
16f0: 0a 52 50 43 5f 42 49 4e 44 49 4e 47 5f 48 41 4e  .RPC_BINDING_HAN
1700: 44 4c 45 20 20 4e 44 52 43 43 6f 6e 74 65 78 74  DLE  NDRCContext
1710: 42 69 6e 64 69 6e 67 28 4e 44 52 5f 43 43 4f 4e  Binding(NDR_CCON
1720: 54 45 58 54 29 3b 0a 76 6f 69 64 20 20 4e 44 52  TEXT);.void  NDR
1730: 43 43 6f 6e 74 65 78 74 4d 61 72 73 68 61 6c 6c  CContextMarshall
1740: 28 4e 44 52 5f 43 43 4f 4e 54 45 58 54 2c 76 6f  (NDR_CCONTEXT,vo
1750: 69 64 2a 29 3b 0a 76 6f 69 64 20 20 4e 44 52 43  id*);.void  NDRC
1760: 43 6f 6e 74 65 78 74 55 6e 6d 61 72 73 68 61 6c  ContextUnmarshal
1770: 6c 28 4e 44 52 5f 43 43 4f 4e 54 45 58 54 2a 2c  l(NDR_CCONTEXT*,
1780: 52 50 43 5f 42 49 4e 44 49 4e 47 5f 48 41 4e 44  RPC_BINDING_HAND
1790: 4c 45 2c 76 6f 69 64 2a 2c 75 69 6e 74 29 3b 0a  LE,void*,uint);.
17a0: 76 6f 69 64 20 20 4e 44 52 53 43 6f 6e 74 65 78  void  NDRSContex
17b0: 74 4d 61 72 73 68 61 6c 6c 28 4e 44 52 5f 53 43  tMarshall(NDR_SC
17c0: 4f 4e 54 45 58 54 2c 76 6f 69 64 2a 2c 4e 44 52  ONTEXT,void*,NDR
17d0: 5f 52 55 4e 44 4f 57 4e 29 3b 0a 4e 44 52 5f 53  _RUNDOWN);.NDR_S
17e0: 43 4f 4e 54 45 58 54 20 20 4e 44 52 53 43 6f 6e  CONTEXT  NDRSCon
17f0: 74 65 78 74 55 6e 6d 61 72 73 68 61 6c 6c 28 76  textUnmarshall(v
1800: 6f 69 64 2a 70 42 75 66 66 2c 75 69 6e 74 29 3b  oid*pBuff,uint);
1810: 0a 76 6f 69 64 20 20 52 70 63 53 73 44 65 73 74  .void  RpcSsDest
1820: 72 6f 79 43 6c 69 65 6e 74 43 6f 6e 74 65 78 74  royClientContext
1830: 28 76 6f 69 64 2a 2a 29 3b 0a 76 6f 69 64 20 20  (void**);.void  
1840: 4e 44 52 63 6f 70 79 28 76 6f 69 64 2a 2c 76 6f  NDRcopy(void*,vo
1850: 69 64 2a 2c 75 69 6e 74 29 3b 0a 75 69 6e 74 20  id*,uint);.uint 
1860: 20 4d 49 44 4c 5f 77 63 68 61 72 5f 73 74 72 6c   MIDL_wchar_strl
1870: 65 6e 28 77 63 68 61 72 20 2a 29 3b 0a 76 6f 69  en(wchar *);.voi
1880: 64 20 20 4d 49 44 4c 5f 77 63 68 61 72 5f 73 74  d  MIDL_wchar_st
1890: 72 63 70 79 28 76 6f 69 64 2a 2c 77 63 68 61 72  rcpy(void*,wchar
18a0: 20 2a 29 3b 0a 76 6f 69 64 20 20 63 68 61 72 5f   *);.void  char_
18b0: 66 72 6f 6d 5f 6e 64 72 28 50 52 50 43 5f 4d 45  from_ndr(PRPC_ME
18c0: 53 53 41 47 45 2c 75 62 79 74 65 2a 29 3b 0a 76  SSAGE,ubyte*);.v
18d0: 6f 69 64 20 20 63 68 61 72 5f 61 72 72 61 79 5f  oid  char_array_
18e0: 66 72 6f 6d 5f 6e 64 72 28 50 52 50 43 5f 4d 45  from_ndr(PRPC_ME
18f0: 53 53 41 47 45 2c 75 69 6e 74 2c 75 69 6e 74 2c  SSAGE,uint,uint,
1900: 75 62 79 74 65 2a 29 3b 0a 76 6f 69 64 20 20 73  ubyte*);.void  s
1910: 68 6f 72 74 5f 66 72 6f 6d 5f 6e 64 72 28 50 52  hort_from_ndr(PR
1920: 50 43 5f 4d 45 53 53 41 47 45 2c 75 73 68 6f 72  PC_MESSAGE,ushor
1930: 74 2a 29 3b 0a 76 6f 69 64 20 20 73 68 6f 72 74  t*);.void  short
1940: 5f 61 72 72 61 79 5f 66 72 6f 6d 5f 6e 64 72 28  _array_from_ndr(
1950: 50 52 50 43 5f 4d 45 53 53 41 47 45 2c 75 69 6e  PRPC_MESSAGE,uin
1960: 74 2c 75 69 6e 74 2c 75 73 68 6f 72 74 2a 29 3b  t,uint,ushort*);
1970: 0a 76 6f 69 64 20 20 73 68 6f 72 74 5f 66 72 6f  .void  short_fro
1980: 6d 5f 6e 64 72 5f 74 65 6d 70 28 75 62 79 74 65  m_ndr_temp(ubyte
1990: 2a 2a 2c 75 73 68 6f 72 74 2a 2c 75 69 6e 74 29  **,ushort*,uint)
19a0: 3b 0a 76 6f 69 64 20 20 69 6e 74 5f 66 72 6f 6d  ;.void  int_from
19b0: 5f 6e 64 72 28 50 52 50 43 5f 4d 45 53 53 41 47  _ndr(PRPC_MESSAG
19c0: 45 2c 75 69 6e 74 2a 29 3b 0a 76 6f 69 64 20 20  E,uint*);.void  
19d0: 69 6e 74 5f 61 72 72 61 79 5f 66 72 6f 6d 5f 6e  int_array_from_n
19e0: 64 72 28 50 52 50 43 5f 4d 45 53 53 41 47 45 2c  dr(PRPC_MESSAGE,
19f0: 75 69 6e 74 2c 75 69 6e 74 2c 75 69 6e 74 2a 29  uint,uint,uint*)
1a00: 3b 0a 76 6f 69 64 20 20 69 6e 74 5f 66 72 6f 6d  ;.void  int_from
1a10: 5f 6e 64 72 5f 74 65 6d 70 28 75 62 79 74 65 2a  _ndr_temp(ubyte*
1a20: 2a 2c 75 69 6e 74 2a 2c 75 69 6e 74 29 3b 0a 76  *,uint*,uint);.v
1a30: 6f 69 64 20 20 65 6e 75 6d 5f 66 72 6f 6d 5f 6e  oid  enum_from_n
1a40: 64 72 28 50 52 50 43 5f 4d 45 53 53 41 47 45 2c  dr(PRPC_MESSAGE,
1a50: 75 69 6e 74 2a 29 3b 0a 76 6f 69 64 20 20 66 6c  uint*);.void  fl
1a60: 6f 61 74 5f 66 72 6f 6d 5f 6e 64 72 28 50 52 50  oat_from_ndr(PRP
1a70: 43 5f 4d 45 53 53 41 47 45 2c 76 6f 69 64 2a 29  C_MESSAGE,void*)
1a80: 3b 0a 76 6f 69 64 20 20 66 6c 6f 61 74 5f 61 72  ;.void  float_ar
1a90: 72 61 79 5f 66 72 6f 6d 5f 6e 64 72 28 50 52 50  ray_from_ndr(PRP
1aa0: 43 5f 4d 45 53 53 41 47 45 2c 75 69 6e 74 2c 75  C_MESSAGE,uint,u
1ab0: 69 6e 74 2c 76 6f 69 64 2a 29 3b 0a 76 6f 69 64  int,void*);.void
1ac0: 20 20 64 6f 75 62 6c 65 5f 66 72 6f 6d 5f 6e 64    double_from_nd
1ad0: 72 28 50 52 50 43 5f 4d 45 53 53 41 47 45 2c 76  r(PRPC_MESSAGE,v
1ae0: 6f 69 64 2a 29 3b 0a 76 6f 69 64 20 20 64 6f 75  oid*);.void  dou
1af0: 62 6c 65 5f 61 72 72 61 79 5f 66 72 6f 6d 5f 6e  ble_array_from_n
1b00: 64 72 28 50 52 50 43 5f 4d 45 53 53 41 47 45 2c  dr(PRPC_MESSAGE,
1b10: 75 69 6e 74 2c 75 69 6e 74 2c 76 6f 69 64 2a 29  uint,uint,void*)
1b20: 3b 0a 76 6f 69 64 20 20 68 79 70 65 72 5f 66 72  ;.void  hyper_fr
1b30: 6f 6d 5f 6e 64 72 28 50 52 50 43 5f 4d 45 53 53  om_ndr(PRPC_MESS
1b40: 41 47 45 2c 68 79 70 65 72 2a 29 3b 0a 76 6f 69  AGE,hyper*);.voi
1b50: 64 20 20 68 79 70 65 72 5f 61 72 72 61 79 5f 66  d  hyper_array_f
1b60: 72 6f 6d 5f 6e 64 72 28 50 52 50 43 5f 4d 45 53  rom_ndr(PRPC_MES
1b70: 53 41 47 45 2c 75 69 6e 74 2c 75 69 6e 74 2c 68  SAGE,uint,uint,h
1b80: 79 70 65 72 2a 29 3b 0a 76 6f 69 64 20 20 68 79  yper*);.void  hy
1b90: 70 65 72 5f 66 72 6f 6d 5f 6e 64 72 5f 74 65 6d  per_from_ndr_tem
1ba0: 70 28 75 62 79 74 65 2a 2a 2c 68 79 70 65 72 2a  p(ubyte**,hyper*
1bb0: 2c 75 69 6e 74 29 3b 0a 76 6f 69 64 20 20 64 61  ,uint);.void  da
1bc0: 74 61 5f 66 72 6f 6d 5f 6e 64 72 28 50 52 50 43  ta_from_ndr(PRPC
1bd0: 5f 4d 45 53 53 41 47 45 2c 76 6f 69 64 2a 2c 63  _MESSAGE,void*,c
1be0: 68 61 72 2a 2c 75 62 79 74 65 29 3b 0a 76 6f 69  har*,ubyte);.voi
1bf0: 64 20 20 64 61 74 61 5f 69 6e 74 6f 5f 6e 64 72  d  data_into_ndr
1c00: 28 76 6f 69 64 2a 2c 50 52 50 43 5f 4d 45 53 53  (void*,PRPC_MESS
1c10: 41 47 45 2c 63 68 61 72 2a 2c 75 62 79 74 65 29  AGE,char*,ubyte)
1c20: 3b 0a 76 6f 69 64 20 20 74 72 65 65 5f 69 6e 74  ;.void  tree_int
1c30: 6f 5f 6e 64 72 28 76 6f 69 64 2a 2c 50 52 50 43  o_ndr(void*,PRPC
1c40: 5f 4d 45 53 53 41 47 45 2c 63 68 61 72 2a 2c 75  _MESSAGE,char*,u
1c50: 62 79 74 65 29 3b 0a 76 6f 69 64 20 20 64 61 74  byte);.void  dat
1c60: 61 5f 73 69 7a 65 5f 6e 64 72 28 76 6f 69 64 2a  a_size_ndr(void*
1c70: 2c 50 52 50 43 5f 4d 45 53 53 41 47 45 2c 63 68  ,PRPC_MESSAGE,ch
1c80: 61 72 2a 2c 75 62 79 74 65 29 3b 0a 76 6f 69 64  ar*,ubyte);.void
1c90: 20 20 74 72 65 65 5f 73 69 7a 65 5f 6e 64 72 28    tree_size_ndr(
1ca0: 76 6f 69 64 2a 2c 50 52 50 43 5f 4d 45 53 53 41  void*,PRPC_MESSA
1cb0: 47 45 2c 63 68 61 72 2a 2c 75 62 79 74 65 29 3b  GE,char*,ubyte);
1cc0: 0a 76 6f 69 64 20 20 74 72 65 65 5f 70 65 65 6b  .void  tree_peek
1cd0: 5f 6e 64 72 28 50 52 50 43 5f 4d 45 53 53 41 47  _ndr(PRPC_MESSAG
1ce0: 45 2c 75 62 79 74 65 2a 2a 2c 63 68 61 72 2a 2c  E,ubyte**,char*,
1cf0: 75 62 79 74 65 29 3b 0a 76 6f 69 64 20 2a 20 6d  ubyte);.void * m
1d00: 69 64 6c 5f 61 6c 6c 6f 63 61 74 65 28 69 6e 74  idl_allocate(int
1d10: 29 3b 0a 0a 61 6c 69 67 6e 28 34 29 3a 0a 73 74  );..align(4):.st
1d20: 72 75 63 74 20 4d 49 44 4c 5f 53 54 55 42 5f 4d  ruct MIDL_STUB_M
1d30: 45 53 53 41 47 45 20 7b 0a 09 50 52 50 43 5f 4d  ESSAGE {..PRPC_M
1d40: 45 53 53 41 47 45 20 52 70 63 4d 73 67 3b 0a 09  ESSAGE RpcMsg;..
1d50: 75 62 79 74 65 20 2a 42 75 66 66 65 72 3b 0a 09  ubyte *Buffer;..
1d60: 75 62 79 74 65 20 2a 42 75 66 66 65 72 53 74 61  ubyte *BufferSta
1d70: 72 74 3b 0a 09 75 62 79 74 65 20 2a 42 75 66 66  rt;..ubyte *Buff
1d80: 65 72 45 6e 64 3b 0a 09 75 62 79 74 65 20 2a 42  erEnd;..ubyte *B
1d90: 75 66 66 65 72 4d 61 72 6b 3b 0a 09 75 69 6e 74  ufferMark;..uint
1da0: 20 42 75 66 66 65 72 4c 65 6e 67 74 68 3b 0a 09   BufferLength;..
1db0: 75 69 6e 74 20 4d 65 6d 6f 72 79 53 69 7a 65 3b  uint MemorySize;
1dc0: 0a 09 75 62 79 74 65 20 2a 4d 65 6d 6f 72 79 3b  ..ubyte *Memory;
1dd0: 0a 09 69 6e 74 20 49 73 43 6c 69 65 6e 74 3b 0a  ..int IsClient;.
1de0: 09 69 6e 74 20 52 65 75 73 65 42 75 66 66 65 72  .int ReuseBuffer
1df0: 3b 0a 09 75 62 79 74 65 20 2a 41 6c 6c 6f 63 41  ;..ubyte *AllocA
1e00: 6c 6c 4e 6f 64 65 73 4d 65 6d 6f 72 79 3b 0a 09  llNodesMemory;..
1e10: 75 62 79 74 65 20 2a 41 6c 6c 6f 63 41 6c 6c 4e  ubyte *AllocAllN
1e20: 6f 64 65 73 4d 65 6d 6f 72 79 45 6e 64 3b 0a 09  odesMemoryEnd;..
1e30: 69 6e 74 20 49 67 6e 6f 72 65 45 6d 62 65 64 64  int IgnoreEmbedd
1e40: 65 64 50 6f 69 6e 74 65 72 73 3b 0a 09 75 62 79  edPointers;..uby
1e50: 74 65 20 2a 50 6f 69 6e 74 65 72 42 75 66 66 65  te *PointerBuffe
1e60: 72 4d 61 72 6b 3b 0a 09 75 62 79 74 65 20 66 42  rMark;..ubyte fB
1e70: 75 66 66 65 72 56 61 6c 69 64 3b 0a 09 75 62 79  ufferValid;..uby
1e80: 74 65 20 55 6e 75 73 65 64 3b 0a 09 75 69 6e 74  te Unused;..uint
1e90: 20 4d 61 78 43 6f 75 6e 74 3b 0a 09 75 69 6e 74   MaxCount;..uint
1ea0: 20 4f 66 66 73 65 74 3b 0a 09 75 69 6e 74 20 41   Offset;..uint A
1eb0: 63 74 75 61 6c 43 6f 75 6e 74 3b 0a 09 76 6f 69  ctualCount;..voi
1ec0: 64 2a 20 66 75 6e 63 74 69 6f 6e 20 28 75 69 6e  d* function (uin
1ed0: 74 29 20 70 66 6e 41 6c 6c 6f 63 61 74 65 3b 0a  t) pfnAllocate;.
1ee0: 09 76 6f 69 64 20 66 75 6e 63 74 69 6f 6e 20 28  .void function (
1ef0: 76 6f 69 64 2a 29 20 70 66 6e 46 72 65 65 3b 0a  void*) pfnFree;.
1f00: 09 75 62 79 74 65 20 2a 20 53 74 61 63 6b 54 6f  .ubyte * StackTo
1f10: 70 3b 0a 09 75 62 79 74 65 20 2a 20 70 50 72 65  p;..ubyte * pPre
1f20: 73 65 6e 74 65 64 54 79 70 65 3b 0a 09 75 62 79  sentedType;..uby
1f30: 74 65 20 2a 20 70 54 72 61 6e 73 6d 69 74 54 79  te * pTransmitTy
1f40: 70 65 3b 0a 09 68 61 6e 64 6c 65 5f 74 20 53 61  pe;..handle_t Sa
1f50: 76 65 64 48 61 6e 64 6c 65 3b 0a 09 43 50 74 72  vedHandle;..CPtr
1f60: 21 28 5f 4d 49 44 4c 5f 53 54 55 42 5f 44 45 53  !(_MIDL_STUB_DES
1f70: 43 29 20 53 74 75 62 44 65 73 63 3b 0a 09 5f 46  C) StubDesc;.._F
1f80: 55 4c 4c 5f 50 54 52 5f 58 4c 41 54 5f 54 41 42  ULL_PTR_XLAT_TAB
1f90: 4c 45 53 20 2a 46 75 6c 6c 50 74 72 58 6c 61 74  LES *FullPtrXlat
1fa0: 54 61 62 6c 65 73 3b 0a 09 75 69 6e 74 20 46 75  Tables;..uint Fu
1fb0: 6c 6c 50 74 72 52 65 66 49 64 3b 0a 09 69 6e 74  llPtrRefId;..int
1fc0: 20 66 43 68 65 63 6b 42 6f 75 6e 64 73 3b 0a 09   fCheckBounds;..
1fd0: 2f 2f 20 46 49 58 4d 45 3a 0a 09 62 79 74 65 20  // FIXME:..byte 
1fe0: 62 69 74 5f 66 69 65 6c 64 73 5f 66 6f 72 5f 44  bit_fields_for_D
1ff0: 3b 20 2f 2f 20 46 49 58 4d 45 3a 20 42 69 74 66  ; // FIXME: Bitf
2000: 69 65 6c 64 73 0a 2f 2f 09 69 6e 74 20 66 49 6e  ields.//.int fIn
2010: 44 6f 6e 74 46 72 65 65 20 3a 31 3b 0a 2f 2f 09  DontFree :1;.//.
2020: 69 6e 74 20 66 44 6f 6e 74 43 61 6c 6c 46 72 65  int fDontCallFre
2030: 65 49 6e 73 74 20 3a 31 3b 0a 2f 2f 09 69 6e 74  eInst :1;.//.int
2040: 20 66 49 6e 4f 6e 6c 79 50 61 72 61 6d 20 3a 31   fInOnlyParam :1
2050: 3b 0a 2f 2f 09 69 6e 74 20 66 48 61 73 52 65 74  ;.//.int fHasRet
2060: 75 72 6e 20 3a 31 3b 0a 09 75 69 6e 74 20 64 77  urn :1;..uint dw
2070: 44 65 73 74 43 6f 6e 74 65 78 74 3b 0a 09 76 6f  DestContext;..vo
2080: 69 64 2a 20 70 76 44 65 73 74 43 6f 6e 74 65 78  id* pvDestContex
2090: 74 3b 0a 09 4e 44 52 5f 53 43 4f 4e 54 45 58 54  t;..NDR_SCONTEXT
20a0: 20 2a 20 53 61 76 65 64 43 6f 6e 74 65 78 74 48   * SavedContextH
20b0: 61 6e 64 6c 65 73 3b 0a 09 69 6e 74 20 50 61 72  andles;..int Par
20c0: 61 6d 4e 75 6d 62 65 72 3b 0a 09 49 52 70 63 43  amNumber;..IRpcC
20d0: 68 61 6e 6e 65 6c 42 75 66 66 65 72 20 2a 20 70  hannelBuffer * p
20e0: 52 70 63 43 68 61 6e 6e 65 6c 42 75 66 66 65 72  RpcChannelBuffer
20f0: 3b 0a 09 50 41 52 52 41 59 5f 49 4e 46 4f 20 70  ;..PARRAY_INFO p
2100: 41 72 72 61 79 49 6e 66 6f 3b 0a 09 75 69 6e 74  ArrayInfo;..uint
2110: 20 2a 20 53 69 7a 65 50 74 72 43 6f 75 6e 74 41   * SizePtrCountA
2120: 72 72 61 79 3b 0a 09 75 69 6e 74 20 2a 20 53 69  rray;..uint * Si
2130: 7a 65 50 74 72 4f 66 66 73 65 74 41 72 72 61 79  zePtrOffsetArray
2140: 3b 0a 09 75 69 6e 74 20 2a 20 53 69 7a 65 50 74  ;..uint * SizePt
2150: 72 4c 65 6e 67 74 68 41 72 72 61 79 3b 0a 09 76  rLengthArray;..v
2160: 6f 69 64 2a 20 70 41 72 67 51 75 65 75 65 3b 0a  oid* pArgQueue;.
2170: 09 75 69 6e 74 20 64 77 53 74 75 62 50 68 61 73  .uint dwStubPhas
2180: 65 3b 0a 09 75 69 6e 74 20 77 32 6b 52 65 73 65  e;..uint w2kRese
2190: 72 76 65 64 5b 35 5d 3b 0a 7d 0a 61 6c 69 61 73  rved[5];.}.alias
21a0: 20 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41   MIDL_STUB_MESSA
21b0: 47 45 20 2a 20 50 4d 49 44 4c 5f 53 54 55 42 5f  GE * PMIDL_STUB_
21c0: 4d 45 53 53 41 47 45 3b 0a 0a 65 78 74 65 72 6e  MESSAGE;..extern
21d0: 20 28 57 69 6e 64 6f 77 73 29 20 7b 0a 09 61 6c   (Windows) {..al
21e0: 69 61 73 20 76 6f 69 64 2a 20 66 75 6e 63 74 69  ias void* functi
21f0: 6f 6e 20 28 76 6f 69 64 2a 29 20 47 45 4e 45 52  on (void*) GENER
2200: 49 43 5f 42 49 4e 44 49 4e 47 5f 52 4f 55 54 49  IC_BINDING_ROUTI
2210: 4e 45 3b 0a 09 61 6c 69 61 73 20 76 6f 69 64 20  NE;..alias void 
2220: 66 75 6e 63 74 69 6f 6e 20 28 76 6f 69 64 2a 2c  function (void*,
2230: 75 62 79 74 65 2a 29 20 47 45 4e 45 52 49 43 5f  ubyte*) GENERIC_
2240: 55 4e 42 49 4e 44 5f 52 4f 55 54 49 4e 45 3b 0a  UNBIND_ROUTINE;.
2250: 09 61 6c 69 61 73 20 75 69 6e 74 20 66 75 6e 63  .alias uint func
2260: 74 69 6f 6e 20 28 75 69 6e 74 20 2a 2c 75 69 6e  tion (uint *,uin
2270: 74 2c 76 6f 69 64 20 2a 29 20 55 53 45 52 5f 4d  t,void *) USER_M
2280: 41 52 53 48 41 4c 5f 53 49 5a 49 4e 47 5f 52 4f  ARSHAL_SIZING_RO
2290: 55 54 49 4e 45 3b 0a 09 61 6c 69 61 73 20 75 62  UTINE;..alias ub
22a0: 79 74 65 20 2a 20 66 75 6e 63 74 69 6f 6e 20 28  yte * function (
22b0: 75 69 6e 74 20 2a 2c 75 62 79 74 65 20 2a 2c 76  uint *,ubyte *,v
22c0: 6f 69 64 20 2a 29 20 55 53 45 52 5f 4d 41 52 53  oid *) USER_MARS
22d0: 48 41 4c 5f 4d 41 52 53 48 41 4c 4c 49 4e 47 5f  HAL_MARSHALLING_
22e0: 52 4f 55 54 49 4e 45 3b 0a 09 61 6c 69 61 73 20  ROUTINE;..alias 
22f0: 75 62 79 74 65 20 2a 20 66 75 6e 63 74 69 6f 6e  ubyte * function
2300: 20 28 75 69 6e 74 20 2a 2c 75 62 79 74 65 20 2a   (uint *,ubyte *
2310: 2c 76 6f 69 64 20 2a 29 20 55 53 45 52 5f 4d 41  ,void *) USER_MA
2320: 52 53 48 41 4c 5f 55 4e 4d 41 52 53 48 41 4c 4c  RSHAL_UNMARSHALL
2330: 49 4e 47 5f 52 4f 55 54 49 4e 45 3b 0a 09 61 6c  ING_ROUTINE;..al
2340: 69 61 73 20 76 6f 69 64 20 66 75 6e 63 74 69 6f  ias void functio
2350: 6e 20 28 75 69 6e 74 20 2a 2c 76 6f 69 64 20 2a  n (uint *,void *
2360: 29 20 55 53 45 52 5f 4d 41 52 53 48 41 4c 5f 46  ) USER_MARSHAL_F
2370: 52 45 45 49 4e 47 5f 52 4f 55 54 49 4e 45 3b 0a  REEING_ROUTINE;.
2380: 09 61 6c 69 61 73 20 76 6f 69 64 20 66 75 6e 63  .alias void func
2390: 74 69 6f 6e 20 28 29 20 4e 44 52 5f 4e 4f 54 49  tion () NDR_NOTI
23a0: 46 59 5f 52 4f 55 54 49 4e 45 3b 0a 7d 0a 0a 61  FY_ROUTINE;.}..a
23b0: 6c 69 67 6e 3a 0a 73 74 72 75 63 74 20 47 45 4e  lign:.struct GEN
23c0: 45 52 49 43 5f 42 49 4e 44 49 4e 47 5f 52 4f 55  ERIC_BINDING_ROU
23d0: 54 49 4e 45 5f 50 41 49 52 20 7b 0a 09 47 45 4e  TINE_PAIR {..GEN
23e0: 45 52 49 43 5f 42 49 4e 44 49 4e 47 5f 52 4f 55  ERIC_BINDING_ROU
23f0: 54 49 4e 45 20 70 66 6e 42 69 6e 64 3b 0a 09 47  TINE pfnBind;..G
2400: 45 4e 45 52 49 43 5f 55 4e 42 49 4e 44 5f 52 4f  ENERIC_UNBIND_RO
2410: 55 54 49 4e 45 20 70 66 6e 55 6e 62 69 6e 64 3b  UTINE pfnUnbind;
2420: 0a 7d 0a 61 6c 69 61 73 20 47 45 4e 45 52 49 43  .}.alias GENERIC
2430: 5f 42 49 4e 44 49 4e 47 5f 52 4f 55 54 49 4e 45  _BINDING_ROUTINE
2440: 5f 50 41 49 52 20 2a 20 50 47 45 4e 45 52 49 43  _PAIR * PGENERIC
2450: 5f 42 49 4e 44 49 4e 47 5f 52 4f 55 54 49 4e 45  _BINDING_ROUTINE
2460: 5f 50 41 49 52 3b 0a 0a 73 74 72 75 63 74 20 47  _PAIR;..struct G
2470: 45 4e 45 52 49 43 5f 42 49 4e 44 49 4e 47 5f 49  ENERIC_BINDING_I
2480: 4e 46 4f 20 7b 0a 09 76 6f 69 64 20 2a 70 4f 62  NFO {..void *pOb
2490: 6a 3b 0a 09 75 69 6e 74 20 53 69 7a 65 3b 0a 09  j;..uint Size;..
24a0: 47 45 4e 45 52 49 43 5f 42 49 4e 44 49 4e 47 5f  GENERIC_BINDING_
24b0: 52 4f 55 54 49 4e 45 20 70 66 6e 42 69 6e 64 3b  ROUTINE pfnBind;
24c0: 0a 09 47 45 4e 45 52 49 43 5f 55 4e 42 49 4e 44  ..GENERIC_UNBIND
24d0: 5f 52 4f 55 54 49 4e 45 20 70 66 6e 55 6e 62 69  _ROUTINE pfnUnbi
24e0: 6e 64 3b 0a 7d 0a 61 6c 69 61 73 20 47 45 4e 45  nd;.}.alias GENE
24f0: 52 49 43 5f 42 49 4e 44 49 4e 47 5f 49 4e 46 4f  RIC_BINDING_INFO
2500: 20 2a 20 50 47 45 4e 45 52 49 43 5f 42 49 4e 44   * PGENERIC_BIND
2510: 49 4e 47 5f 49 4e 46 4f 3b 0a 0a 0a 73 74 72 75  ING_INFO;...stru
2520: 63 74 20 58 4d 49 54 5f 52 4f 55 54 49 4e 45 5f  ct XMIT_ROUTINE_
2530: 51 55 49 4e 54 55 50 4c 45 20 7b 0a 09 58 4d 49  QUINTUPLE {..XMI
2540: 54 5f 48 45 4c 50 45 52 5f 52 4f 55 54 49 4e 45  T_HELPER_ROUTINE
2550: 20 70 66 6e 54 72 61 6e 73 6c 61 74 65 54 6f 58   pfnTranslateToX
2560: 6d 69 74 3b 0a 09 58 4d 49 54 5f 48 45 4c 50 45  mit;..XMIT_HELPE
2570: 52 5f 52 4f 55 54 49 4e 45 20 70 66 6e 54 72 61  R_ROUTINE pfnTra
2580: 6e 73 6c 61 74 65 46 72 6f 6d 58 6d 69 74 3b 0a  nslateFromXmit;.
2590: 09 58 4d 49 54 5f 48 45 4c 50 45 52 5f 52 4f 55  .XMIT_HELPER_ROU
25a0: 54 49 4e 45 20 70 66 6e 46 72 65 65 58 6d 69 74  TINE pfnFreeXmit
25b0: 3b 0a 09 58 4d 49 54 5f 48 45 4c 50 45 52 5f 52  ;..XMIT_HELPER_R
25c0: 4f 55 54 49 4e 45 20 70 66 6e 46 72 65 65 49 6e  OUTINE pfnFreeIn
25d0: 73 74 3b 0a 7d 0a 61 6c 69 61 73 20 58 4d 49 54  st;.}.alias XMIT
25e0: 5f 52 4f 55 54 49 4e 45 5f 51 55 49 4e 54 55 50  _ROUTINE_QUINTUP
25f0: 4c 45 20 2a 20 50 58 4d 49 54 5f 52 4f 55 54 49  LE * PXMIT_ROUTI
2600: 4e 45 5f 51 55 49 4e 54 55 50 4c 45 3b 0a 0a 73  NE_QUINTUPLE;..s
2610: 74 72 75 63 74 20 4d 41 4c 4c 4f 43 5f 46 52 45  truct MALLOC_FRE
2620: 45 5f 53 54 52 55 43 54 20 7b 0a 09 76 6f 69 64  E_STRUCT {..void
2630: 2a 20 66 75 6e 63 74 69 6f 6e 20 28 75 69 6e 74  * function (uint
2640: 29 20 70 66 6e 41 6c 6c 6f 63 61 74 65 3b 0a 09  ) pfnAllocate;..
2650: 76 6f 69 64 20 66 75 6e 63 74 69 6f 6e 20 28 76  void function (v
2660: 6f 69 64 2a 29 20 70 66 6e 46 72 65 65 3b 0a 7d  oid*) pfnFree;.}
2670: 0a 0a 73 74 72 75 63 74 20 43 4f 4d 4d 5f 46 41  ..struct COMM_FA
2680: 55 4c 54 5f 4f 46 46 53 45 54 53 20 7b 0a 09 73  ULT_OFFSETS {..s
2690: 68 6f 72 74 20 43 6f 6d 6d 4f 66 66 73 65 74 3b  hort CommOffset;
26a0: 0a 09 73 68 6f 72 74 20 46 61 75 6c 74 4f 66 66  ..short FaultOff
26b0: 73 65 74 3b 0a 7d 0a 0a 73 74 72 75 63 74 20 55  set;.}..struct U
26c0: 53 45 52 5f 4d 41 52 53 48 41 4c 5f 52 4f 55 54  SER_MARSHAL_ROUT
26d0: 49 4e 45 5f 51 55 41 44 52 55 50 4c 45 20 7b 0a  INE_QUADRUPLE {.
26e0: 09 55 53 45 52 5f 4d 41 52 53 48 41 4c 5f 53 49  .USER_MARSHAL_SI
26f0: 5a 49 4e 47 5f 52 4f 55 54 49 4e 45 20 70 66 6e  ZING_ROUTINE pfn
2700: 42 75 66 66 65 72 53 69 7a 65 3b 0a 09 55 53 45  BufferSize;..USE
2710: 52 5f 4d 41 52 53 48 41 4c 5f 4d 41 52 53 48 41  R_MARSHAL_MARSHA
2720: 4c 4c 49 4e 47 5f 52 4f 55 54 49 4e 45 20 70 66  LLING_ROUTINE pf
2730: 6e 4d 61 72 73 68 61 6c 6c 3b 0a 09 55 53 45 52  nMarshall;..USER
2740: 5f 4d 41 52 53 48 41 4c 5f 55 4e 4d 41 52 53 48  _MARSHAL_UNMARSH
2750: 41 4c 4c 49 4e 47 5f 52 4f 55 54 49 4e 45 20 70  ALLING_ROUTINE p
2760: 66 6e 55 6e 6d 61 72 73 68 61 6c 6c 3b 0a 09 55  fnUnmarshall;..U
2770: 53 45 52 5f 4d 41 52 53 48 41 4c 5f 46 52 45 45  SER_MARSHAL_FREE
2780: 49 4e 47 5f 52 4f 55 54 49 4e 45 20 70 66 6e 46  ING_ROUTINE pfnF
2790: 72 65 65 3b 0a 7d 0a 0a 65 6e 75 6d 20 49 44 4c  ree;.}..enum IDL
27a0: 5f 43 53 5f 43 4f 4e 56 45 52 54 20 7b 0a 09 49  _CS_CONVERT {..I
27b0: 44 4c 5f 43 53 5f 4e 4f 5f 43 4f 4e 56 45 52 54  DL_CS_NO_CONVERT
27c0: 2c 0a 09 49 44 4c 5f 43 53 5f 49 4e 5f 50 4c 41  ,..IDL_CS_IN_PLA
27d0: 43 45 5f 43 4f 4e 56 45 52 54 2c 0a 09 49 44 4c  CE_CONVERT,..IDL
27e0: 5f 43 53 5f 4e 45 57 5f 42 55 46 46 45 52 5f 43  _CS_NEW_BUFFER_C
27f0: 4f 4e 56 45 52 54 0a 7d 0a 0a 73 74 72 75 63 74  ONVERT.}..struct
2800: 20 4e 44 52 5f 43 53 5f 53 49 5a 45 5f 43 4f 4e   NDR_CS_SIZE_CON
2810: 56 45 52 54 5f 52 4f 55 54 49 4e 45 53 20 7b 0a  VERT_ROUTINES {.
2820: 09 43 53 5f 54 59 50 45 5f 4e 45 54 5f 53 49 5a  .CS_TYPE_NET_SIZ
2830: 45 5f 52 4f 55 54 49 4e 45 20 70 66 6e 4e 65 74  E_ROUTINE pfnNet
2840: 53 69 7a 65 3b 0a 09 43 53 5f 54 59 50 45 5f 54  Size;..CS_TYPE_T
2850: 4f 5f 4e 45 54 43 53 5f 52 4f 55 54 49 4e 45 20  O_NETCS_ROUTINE 
2860: 70 66 6e 54 6f 4e 65 74 43 73 3b 0a 09 43 53 5f  pfnToNetCs;..CS_
2870: 54 59 50 45 5f 4c 4f 43 41 4c 5f 53 49 5a 45 5f  TYPE_LOCAL_SIZE_
2880: 52 4f 55 54 49 4e 45 20 70 66 6e 4c 6f 63 61 6c  ROUTINE pfnLocal
2890: 53 69 7a 65 3b 0a 09 43 53 5f 54 59 50 45 5f 46  Size;..CS_TYPE_F
28a0: 52 4f 4d 5f 4e 45 54 43 53 5f 52 4f 55 54 49 4e  ROM_NETCS_ROUTIN
28b0: 45 20 70 66 6e 46 72 6f 6d 4e 65 74 43 73 3b 0a  E pfnFromNetCs;.
28c0: 7d 0a 0a 73 74 72 75 63 74 20 4e 44 52 5f 43 53  }..struct NDR_CS
28d0: 5f 52 4f 55 54 49 4e 45 53 20 7b 0a 09 4e 44 52  _ROUTINES {..NDR
28e0: 5f 43 53 5f 53 49 5a 45 5f 43 4f 4e 56 45 52 54  _CS_SIZE_CONVERT
28f0: 5f 52 4f 55 54 49 4e 45 53 20 2a 70 53 69 7a 65  _ROUTINES *pSize
2900: 43 6f 6e 76 65 72 74 52 6f 75 74 69 6e 65 73 3b  ConvertRoutines;
2910: 0a 09 43 53 5f 54 41 47 5f 47 45 54 54 49 4e 47  ..CS_TAG_GETTING
2920: 5f 52 4f 55 54 49 4e 45 20 2a 70 54 61 67 47 65  _ROUTINE *pTagGe
2930: 74 74 69 6e 67 52 6f 75 74 69 6e 65 73 3b 0a 7d  ttingRoutines;.}
2940: 0a 0a 73 74 72 75 63 74 20 4d 49 44 4c 5f 53 54  ..struct MIDL_ST
2950: 55 42 5f 44 45 53 43 20 7b 0a 09 76 6f 69 64 2a  UB_DESC {..void*
2960: 20 52 70 63 49 6e 74 65 72 66 61 63 65 49 6e 66   RpcInterfaceInf
2970: 6f 72 6d 61 74 69 6f 6e 3b 0a 09 76 6f 69 64 2a  ormation;..void*
2980: 20 66 75 6e 63 74 69 6f 6e 28 75 69 6e 74 29 20   function(uint) 
2990: 70 66 6e 41 6c 6c 6f 63 61 74 65 3b 0a 09 76 6f  pfnAllocate;..vo
29a0: 69 64 20 66 75 6e 63 74 69 6f 6e 20 28 76 6f 69  id function (voi
29b0: 64 2a 29 20 70 66 6e 46 72 65 65 3b 0a 09 75 6e  d*) pfnFree;..un
29c0: 69 6f 6e 20 5f 49 4d 50 4c 49 43 49 54 5f 48 41  ion _IMPLICIT_HA
29d0: 4e 44 4c 45 5f 49 4e 46 4f 20 7b 0a 09 09 68 61  NDLE_INFO {...ha
29e0: 6e 64 6c 65 5f 74 20 2a 70 41 75 74 6f 48 61 6e  ndle_t *pAutoHan
29f0: 64 6c 65 3b 0a 09 09 68 61 6e 64 6c 65 5f 74 20  dle;...handle_t 
2a00: 2a 70 50 72 69 6d 69 74 69 76 65 48 61 6e 64 6c  *pPrimitiveHandl
2a10: 65 3b 0a 09 09 50 47 45 4e 45 52 49 43 5f 42 49  e;...PGENERIC_BI
2a20: 4e 44 49 4e 47 5f 49 4e 46 4f 20 70 47 65 6e 65  NDING_INFO pGene
2a30: 72 69 63 42 69 6e 64 69 6e 67 49 6e 66 6f 3b 0a  ricBindingInfo;.
2a40: 09 7d 0a 09 5f 49 4d 50 4c 49 43 49 54 5f 48 41  .}.._IMPLICIT_HA
2a50: 4e 44 4c 45 5f 49 4e 46 4f 20 49 4d 50 4c 49 43  NDLE_INFO IMPLIC
2a60: 49 54 5f 48 41 4e 44 4c 45 5f 49 4e 46 4f 3b 09  IT_HANDLE_INFO;.
2a70: 0a 09 43 50 74 72 21 28 4e 44 52 5f 52 55 4e 44  ..CPtr!(NDR_RUND
2a80: 4f 57 4e 29 20 61 70 66 6e 4e 64 72 52 75 6e 64  OWN) apfnNdrRund
2a90: 6f 77 6e 52 6f 75 74 69 6e 65 73 3b 0a 09 43 50  ownRoutines;..CP
2aa0: 74 72 21 28 47 45 4e 45 52 49 43 5f 42 49 4e 44  tr!(GENERIC_BIND
2ab0: 49 4e 47 5f 52 4f 55 54 49 4e 45 5f 50 41 49 52  ING_ROUTINE_PAIR
2ac0: 29 20 61 47 65 6e 65 72 69 63 42 69 6e 64 69 6e  ) aGenericBindin
2ad0: 67 52 6f 75 74 69 6e 65 50 61 69 72 73 3b 0a 09  gRoutinePairs;..
2ae0: 43 50 74 72 21 28 45 58 50 52 5f 45 56 41 4c 29  CPtr!(EXPR_EVAL)
2af0: 20 61 70 66 6e 45 78 70 72 45 76 61 6c 3b 0a 09   apfnExprEval;..
2b00: 43 50 74 72 21 28 58 4d 49 54 5f 52 4f 55 54 49  CPtr!(XMIT_ROUTI
2b10: 4e 45 5f 51 55 49 4e 54 55 50 4c 45 29 20 61 58  NE_QUINTUPLE) aX
2b20: 6d 69 74 51 75 69 6e 74 75 70 6c 65 3b 0a 09 43  mitQuintuple;..C
2b30: 50 74 72 21 28 63 68 61 72 29 20 2a 70 46 6f 72  Ptr!(char) *pFor
2b40: 6d 61 74 54 79 70 65 73 3b 0a 09 69 6e 74 20 66  matTypes;..int f
2b50: 43 68 65 63 6b 42 6f 75 6e 64 73 3b 0a 09 75 69  CheckBounds;..ui
2b60: 6e 74 20 56 65 72 73 69 6f 6e 3b 0a 09 4d 41 4c  nt Version;..MAL
2b70: 4c 4f 43 5f 46 52 45 45 5f 53 54 52 55 43 54 20  LOC_FREE_STRUCT 
2b80: 2a 70 4d 61 6c 6c 6f 63 46 72 65 65 53 74 72 75  *pMallocFreeStru
2b90: 63 74 3b 0a 09 69 6e 74 20 4d 49 44 4c 56 65 72  ct;..int MIDLVer
2ba0: 73 69 6f 6e 3b 0a 09 43 50 74 72 21 28 43 4f 4d  sion;..CPtr!(COM
2bb0: 4d 5f 46 41 55 4c 54 5f 4f 46 46 53 45 54 53 29  M_FAULT_OFFSETS)
2bc0: 20 43 6f 6d 6d 46 61 75 6c 74 4f 66 66 73 65 74   CommFaultOffset
2bd0: 73 3b 0a 09 43 50 74 72 21 28 55 53 45 52 5f 4d  s;..CPtr!(USER_M
2be0: 41 52 53 48 41 4c 5f 52 4f 55 54 49 4e 45 5f 51  ARSHAL_ROUTINE_Q
2bf0: 55 41 44 52 55 50 4c 45 29 20 61 55 73 65 72 4d  UADRUPLE) aUserM
2c00: 61 72 73 68 61 6c 51 75 61 64 72 75 70 6c 65 3b  arshalQuadruple;
2c10: 0a 09 43 50 74 72 21 28 4e 44 52 5f 4e 4f 54 49  ..CPtr!(NDR_NOTI
2c20: 46 59 5f 52 4f 55 54 49 4e 45 29 20 4e 6f 74 69  FY_ROUTINE) Noti
2c30: 66 79 52 6f 75 74 69 6e 65 54 61 62 6c 65 3b 0a  fyRoutineTable;.
2c40: 09 55 4c 4f 4e 47 5f 50 54 52 20 6d 46 6c 61 67  .ULONG_PTR mFlag
2c50: 73 3b 0a 09 43 50 74 72 21 28 4e 44 52 5f 43 53  s;..CPtr!(NDR_CS
2c60: 5f 52 4f 55 54 49 4e 45 53 29 20 43 73 52 6f 75  _ROUTINES) CsRou
2c70: 74 69 6e 65 54 61 62 6c 65 73 3b 0a 09 76 6f 69  tineTables;..voi
2c80: 64 20 2a 52 65 73 65 72 76 65 64 34 3b 0a 09 55  d *Reserved4;..U
2c90: 4c 4f 4e 47 5f 50 54 52 20 52 65 73 65 72 76 65  LONG_PTR Reserve
2ca0: 64 35 3b 0a 7d 0a 61 6c 69 61 73 20 43 50 74 72  d5;.}.alias CPtr
2cb0: 21 28 4d 49 44 4c 5f 53 54 55 42 5f 44 45 53 43  !(MIDL_STUB_DESC
2cc0: 29 20 50 4d 49 44 4c 5f 53 54 55 42 5f 44 45 53  ) PMIDL_STUB_DES
2cd0: 43 3b 0a 0a 61 6c 69 61 73 20 76 6f 69 64 20 2a  C;..alias void *
2ce0: 20 50 4d 49 44 4c 5f 58 4d 49 54 5f 54 59 50 45   PMIDL_XMIT_TYPE
2cf0: 3b 0a 0a 73 74 72 75 63 74 20 4d 49 44 4c 5f 46  ;..struct MIDL_F
2d00: 4f 52 4d 41 54 5f 53 54 52 49 4e 47 20 7b 0a 09  ORMAT_STRING {..
2d10: 73 68 6f 72 74 20 50 61 64 3b 0a 09 75 62 79 74  short Pad;..ubyt
2d20: 65 20 46 6f 72 6d 61 74 5b 31 5d 3b 0a 7d 0a 0a  e Format[1];.}..
2d30: 73 74 72 75 63 74 20 4d 49 44 4c 5f 53 45 52 56  struct MIDL_SERV
2d40: 45 52 5f 49 4e 46 4f 20 7b 0a 09 50 4d 49 44 4c  ER_INFO {..PMIDL
2d50: 5f 53 54 55 42 5f 44 45 53 43 20 70 53 74 75 62  _STUB_DESC pStub
2d60: 44 65 73 63 3b 0a 09 43 50 74 72 21 28 53 45 52  Desc;..CPtr!(SER
2d70: 56 45 52 5f 52 4f 55 54 49 4e 45 29 20 44 69 73  VER_ROUTINE) Dis
2d80: 70 61 74 63 68 54 61 62 6c 65 3b 0a 09 50 46 4f  patchTable;..PFO
2d90: 52 4d 41 54 5f 53 54 52 49 4e 47 20 50 72 6f 63  RMAT_STRING Proc
2da0: 53 74 72 69 6e 67 3b 0a 09 43 50 74 72 21 28 75  String;..CPtr!(u
2db0: 73 68 6f 72 74 29 20 46 6d 74 53 74 72 69 6e 67  short) FmtString
2dc0: 4f 66 66 73 65 74 3b 0a 09 43 50 74 72 21 28 53  Offset;..CPtr!(S
2dd0: 54 55 42 5f 54 48 55 4e 4b 29 20 54 68 75 6e 6b  TUB_THUNK) Thunk
2de0: 54 61 62 6c 65 3b 0a 7d 0a 61 6c 69 61 73 20 4d  Table;.}.alias M
2df0: 49 44 4c 5f 53 45 52 56 45 52 5f 49 4e 46 4f 20  IDL_SERVER_INFO 
2e00: 2a 20 50 4d 49 44 4c 5f 53 45 52 56 45 52 5f 49  * PMIDL_SERVER_I
2e10: 4e 46 4f 3b 0a 0a 73 74 72 75 63 74 20 4d 49 44  NFO;..struct MID
2e20: 4c 5f 53 54 55 42 4c 45 53 53 5f 50 52 4f 58 59  L_STUBLESS_PROXY
2e30: 5f 49 4e 46 4f 20 7b 0a 09 50 4d 49 44 4c 5f 53  _INFO {..PMIDL_S
2e40: 54 55 42 5f 44 45 53 43 20 70 53 74 75 62 44 65  TUB_DESC pStubDe
2e50: 73 63 3b 0a 09 50 46 4f 52 4d 41 54 5f 53 54 52  sc;..PFORMAT_STR
2e60: 49 4e 47 20 50 72 6f 63 46 6f 72 6d 61 74 53 74  ING ProcFormatSt
2e70: 72 69 6e 67 3b 0a 09 43 50 74 72 21 28 75 73 68  ring;..CPtr!(ush
2e80: 6f 72 74 29 20 46 6f 72 6d 61 74 53 74 72 69 6e  ort) FormatStrin
2e90: 67 4f 66 66 73 65 74 3b 0a 7d 0a 61 6c 69 61 73  gOffset;.}.alias
2ea0: 20 4d 49 44 4c 5f 53 54 55 42 4c 45 53 53 5f 50   MIDL_STUBLESS_P
2eb0: 52 4f 58 59 5f 49 4e 46 4f 20 2a 50 4d 49 44 4c  ROXY_INFO *PMIDL
2ec0: 5f 53 54 55 42 4c 45 53 53 5f 50 52 4f 58 59 5f  _STUBLESS_PROXY_
2ed0: 49 4e 46 4f 3b 0a 0a 75 6e 69 6f 6e 20 43 4c 49  INFO;..union CLI
2ee0: 45 4e 54 5f 43 41 4c 4c 5f 52 45 54 55 52 4e 20  ENT_CALL_RETURN 
2ef0: 7b 0a 09 76 6f 69 64 20 2a 50 6f 69 6e 74 65 72  {..void *Pointer
2f00: 3b 0a 09 69 6e 74 20 53 69 6d 70 6c 65 3b 0a 7d  ;..int Simple;.}
2f10: 0a 0a 65 6e 75 6d 20 58 4c 41 54 5f 53 49 44 45  ..enum XLAT_SIDE
2f20: 20 7b 0a 09 58 4c 41 54 5f 53 45 52 56 45 52 20   {..XLAT_SERVER 
2f30: 3d 20 31 2c 0a 09 58 4c 41 54 5f 43 4c 49 45 4e  = 1,..XLAT_CLIEN
2f40: 54 0a 7d 0a 73 74 72 75 63 74 20 46 55 4c 4c 5f  T.}.struct FULL_
2f50: 50 54 52 5f 54 4f 5f 52 45 46 49 44 5f 45 4c 45  PTR_TO_REFID_ELE
2f60: 4d 45 4e 54 20 7b 0a 09 46 55 4c 4c 5f 50 54 52  MENT {..FULL_PTR
2f70: 5f 54 4f 5f 52 45 46 49 44 5f 45 4c 45 4d 45 4e  _TO_REFID_ELEMEN
2f80: 54 20 2a 20 4e 65 78 74 3b 0a 09 76 6f 69 64 2a  T * Next;..void*
2f90: 20 50 6f 69 6e 74 65 72 3b 0a 09 75 69 6e 74 20   Pointer;..uint 
2fa0: 52 65 66 49 64 3b 0a 09 75 62 79 74 65 20 53 74  RefId;..ubyte St
2fb0: 61 74 65 3b 0a 7d 0a 61 6c 69 61 73 20 46 55 4c  ate;.}.alias FUL
2fc0: 4c 5f 50 54 52 5f 54 4f 5f 52 45 46 49 44 5f 45  L_PTR_TO_REFID_E
2fd0: 4c 45 4d 45 4e 54 20 2a 20 50 46 55 4c 4c 5f 50  LEMENT * PFULL_P
2fe0: 54 52 5f 54 4f 5f 52 45 46 49 44 5f 45 4c 45 4d  TR_TO_REFID_ELEM
2ff0: 45 4e 54 3b 0a 0a 73 74 72 75 63 74 20 46 55 4c  ENT;..struct FUL
3000: 4c 5f 50 54 52 5f 58 4c 41 54 5f 54 41 42 4c 45  L_PTR_XLAT_TABLE
3010: 53 20 7b 0a 09 73 74 72 75 63 74 20 52 65 66 49  S {..struct RefI
3020: 64 54 6f 50 6f 69 6e 74 65 72 20 7b 0a 09 09 76  dToPointer {...v
3030: 6f 69 64 20 2a 2a 58 6c 61 74 54 61 62 6c 65 3b  oid **XlatTable;
3040: 0a 09 09 75 62 79 74 65 20 2a 53 74 61 74 65 54  ...ubyte *StateT
3050: 61 62 6c 65 3b 0a 09 09 75 69 6e 74 20 4e 75 6d  able;...uint Num
3060: 62 65 72 4f 66 45 6e 74 72 69 65 73 3b 0a 09 7d  berOfEntries;..}
3070: 0a 09 73 74 72 75 63 74 20 50 6f 69 6e 74 65 72  ..struct Pointer
3080: 54 6f 52 65 66 49 64 20 7b 0a 09 09 50 46 55 4c  ToRefId {...PFUL
3090: 4c 5f 50 54 52 5f 54 4f 5f 52 45 46 49 44 5f 45  L_PTR_TO_REFID_E
30a0: 4c 45 4d 45 4e 54 20 2a 58 6c 61 74 54 61 62 6c  LEMENT *XlatTabl
30b0: 65 3b 0a 09 09 75 69 6e 74 20 4e 75 6d 62 65 72  e;...uint Number
30c0: 4f 66 42 75 63 6b 65 74 73 3b 0a 09 09 75 69 6e  OfBuckets;...uin
30d0: 74 20 48 61 73 68 4d 61 73 6b 3b 0a 09 7d 0a 09  t HashMask;..}..
30e0: 75 69 6e 74 20 4e 65 78 74 52 65 66 49 64 3b 0a  uint NextRefId;.
30f0: 09 58 4c 41 54 5f 53 49 44 45 20 58 6c 61 74 53  .XLAT_SIDE XlatS
3100: 69 64 65 3b 0a 7d 0a 61 6c 69 61 73 20 46 55 4c  ide;.}.alias FUL
3110: 4c 5f 50 54 52 5f 58 4c 41 54 5f 54 41 42 4c 45  L_PTR_XLAT_TABLE
3120: 53 20 2a 20 50 46 55 4c 4c 5f 50 54 52 5f 58 4c  S * PFULL_PTR_XL
3130: 41 54 5f 54 41 42 4c 45 53 3b 0a 0a 0a 65 6e 75  AT_TABLES;...enu
3140: 6d 20 53 54 55 42 5f 50 48 41 53 45 20 7b 0a 09  m STUB_PHASE {..
3150: 53 54 55 42 5f 55 4e 4d 41 52 53 48 41 4c 2c 0a  STUB_UNMARSHAL,.
3160: 09 53 54 55 42 5f 43 41 4c 4c 5f 53 45 52 56 45  .STUB_CALL_SERVE
3170: 52 2c 0a 09 53 54 55 42 5f 4d 41 52 53 48 41 4c  R,..STUB_MARSHAL
3180: 2c 0a 09 53 54 55 42 5f 43 41 4c 4c 5f 53 45 52  ,..STUB_CALL_SER
3190: 56 45 52 5f 4e 4f 5f 48 52 45 53 55 4c 54 0a 7d  VER_NO_HRESULT.}
31a0: 0a 0a 65 6e 75 6d 20 50 52 4f 58 59 5f 50 48 41  ..enum PROXY_PHA
31b0: 53 45 20 7b 0a 09 50 52 4f 58 59 5f 43 41 4c 43  SE {..PROXY_CALC
31c0: 53 49 5a 45 2c 0a 09 50 52 4f 58 59 5f 47 45 54  SIZE,..PROXY_GET
31d0: 42 55 46 46 45 52 2c 0a 09 50 52 4f 58 59 5f 4d  BUFFER,..PROXY_M
31e0: 41 52 53 48 41 4c 2c 0a 09 50 52 4f 58 59 5f 53  ARSHAL,..PROXY_S
31f0: 45 4e 44 52 45 43 45 49 56 45 2c 0a 09 50 52 4f  ENDRECEIVE,..PRO
3200: 58 59 5f 55 4e 4d 41 52 53 48 41 4c 0a 7d 0a 0a  XY_UNMARSHAL.}..
3210: 61 6c 69 61 73 20 76 6f 69 64 20 2a 20 52 50 43  alias void * RPC
3220: 5f 53 53 5f 54 48 52 45 41 44 5f 48 41 4e 44 4c  _SS_THREAD_HANDL
3230: 45 3b 0a 0a 65 78 74 65 72 6e 20 28 57 69 6e 64  E;..extern (Wind
3240: 6f 77 73 29 20 7b 0a 61 6c 69 61 73 20 76 6f 69  ows) {.alias voi
3250: 64 20 66 75 6e 63 74 69 6f 6e 20 28 76 6f 69 64  d function (void
3260: 2a 29 20 4e 44 52 5f 52 55 4e 44 4f 57 4e 3b 0a  *) NDR_RUNDOWN;.
3270: 61 6c 69 61 73 20 76 6f 69 64 20 66 75 6e 63 74  alias void funct
3280: 69 6f 6e 20 28 5f 4d 49 44 4c 5f 53 54 55 42 5f  ion (_MIDL_STUB_
3290: 4d 45 53 53 41 47 45 2a 29 20 45 58 50 52 5f 45  MESSAGE*) EXPR_E
32a0: 56 41 4c 3b 0a 61 6c 69 61 73 20 76 6f 69 64 20  VAL;.alias void 
32b0: 66 75 6e 63 74 69 6f 6e 28 50 4d 49 44 4c 5f 53  function(PMIDL_S
32c0: 54 55 42 5f 4d 45 53 53 41 47 45 29 20 58 4d 49  TUB_MESSAGE) XMI
32d0: 54 5f 48 45 4c 50 45 52 5f 52 4f 55 54 49 4e 45  T_HELPER_ROUTINE
32e0: 3b 0a 61 6c 69 61 73 20 76 6f 69 64 20 66 75 6e  ;.alias void fun
32f0: 63 74 69 6f 6e 20 28 52 50 43 5f 42 49 4e 44 49  ction (RPC_BINDI
3300: 4e 47 5f 48 41 4e 44 4c 45 2c 75 69 6e 74 2c 75  NG_HANDLE,uint,u
3310: 69 6e 74 2c 49 44 4c 5f 43 53 5f 43 4f 4e 56 45  int,IDL_CS_CONVE
3320: 52 54 2a 2c 75 69 6e 74 2a 2c 65 72 72 6f 72 5f  RT*,uint*,error_
3330: 73 74 61 74 75 73 5f 74 2a 29 20 43 53 5f 54 59  status_t*) CS_TY
3340: 50 45 5f 4e 45 54 5f 53 49 5a 45 5f 52 4f 55 54  PE_NET_SIZE_ROUT
3350: 49 4e 45 3b 0a 61 6c 69 61 73 20 76 6f 69 64 20  INE;.alias void 
3360: 66 75 6e 63 74 69 6f 6e 20 28 52 50 43 5f 42 49  function (RPC_BI
3370: 4e 44 49 4e 47 5f 48 41 4e 44 4c 45 2c 75 69 6e  NDING_HANDLE,uin
3380: 74 2c 75 69 6e 74 2c 49 44 4c 5f 43 53 5f 43 4f  t,uint,IDL_CS_CO
3390: 4e 56 45 52 54 2a 2c 75 69 6e 74 2a 2c 65 72 72  NVERT*,uint*,err
33a0: 6f 72 5f 73 74 61 74 75 73 5f 74 2a 29 20 43 53  or_status_t*) CS
33b0: 5f 54 59 50 45 5f 4c 4f 43 41 4c 5f 53 49 5a 45  _TYPE_LOCAL_SIZE
33c0: 5f 52 4f 55 54 49 4e 45 3b 0a 61 6c 69 61 73 20  _ROUTINE;.alias 
33d0: 76 6f 69 64 20 66 75 6e 63 74 69 6f 6e 20 28 52  void function (R
33e0: 50 43 5f 42 49 4e 44 49 4e 47 5f 48 41 4e 44 4c  PC_BINDING_HANDL
33f0: 45 2c 75 69 6e 74 2c 76 6f 69 64 2a 2c 75 69 6e  E,uint,void*,uin
3400: 74 2c 62 79 74 65 2a 2c 75 69 6e 74 2a 2c 65 72  t,byte*,uint*,er
3410: 72 6f 72 5f 73 74 61 74 75 73 5f 74 2a 29 20 43  ror_status_t*) C
3420: 53 5f 54 59 50 45 5f 54 4f 5f 4e 45 54 43 53 5f  S_TYPE_TO_NETCS_
3430: 52 4f 55 54 49 4e 45 3b 0a 61 6c 69 61 73 20 76  ROUTINE;.alias v
3440: 6f 69 64 20 66 75 6e 63 74 69 6f 6e 20 28 52 50  oid function (RP
3450: 43 5f 42 49 4e 44 49 4e 47 5f 48 41 4e 44 4c 45  C_BINDING_HANDLE
3460: 2c 75 69 6e 74 2c 62 79 74 65 2a 2c 75 69 6e 74  ,uint,byte*,uint
3470: 2c 75 69 6e 74 2c 76 6f 69 64 2a 2c 75 69 6e 74  ,uint,void*,uint
3480: 2a 2c 65 72 72 6f 72 5f 73 74 61 74 75 73 5f 74  *,error_status_t
3490: 2a 29 20 43 53 5f 54 59 50 45 5f 46 52 4f 4d 5f  *) CS_TYPE_FROM_
34a0: 4e 45 54 43 53 5f 52 4f 55 54 49 4e 45 3b 0a 61  NETCS_ROUTINE;.a
34b0: 6c 69 61 73 20 76 6f 69 64 20 66 75 6e 63 74 69  lias void functi
34c0: 6f 6e 20 28 52 50 43 5f 42 49 4e 44 49 4e 47 5f  on (RPC_BINDING_
34d0: 48 41 4e 44 4c 45 2c 69 6e 74 2c 75 69 6e 74 2a  HANDLE,int,uint*
34e0: 2c 75 69 6e 74 2a 2c 75 69 6e 74 2a 2c 65 72 72  ,uint*,uint*,err
34f0: 6f 72 5f 73 74 61 74 75 73 5f 74 2a 29 20 43 53  or_status_t*) CS
3500: 5f 54 41 47 5f 47 45 54 54 49 4e 47 5f 52 4f 55  _TAG_GETTING_ROU
3510: 54 49 4e 45 3b 0a 0a 2f 2f 61 6c 69 61 73 20 76  TINE;..//alias v
3520: 6f 69 64 2a 20 52 50 43 5f 43 4c 49 45 4e 54 5f  oid* RPC_CLIENT_
3530: 41 4c 4c 4f 43 28 75 69 6e 74 29 3b 0a 2f 2f 61  ALLOC(uint);.//a
3540: 6c 69 61 73 20 76 6f 69 64 20 52 50 43 5f 43 4c  lias void RPC_CL
3550: 49 45 4e 54 5f 46 52 45 45 28 76 6f 69 64 2a 29  IENT_FREE(void*)
3560: 3b 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 66 75  ;.alias void* fu
3570: 6e 63 74 69 6f 6e 28 75 69 6e 74 29 20 50 52 50  nction(uint) PRP
3580: 43 5f 43 4c 49 45 4e 54 5f 41 4c 4c 4f 43 3b 0a  C_CLIENT_ALLOC;.
3590: 61 6c 69 61 73 20 76 6f 69 64 20 66 75 6e 63 74  alias void funct
35a0: 69 6f 6e 28 76 6f 69 64 2a 29 20 50 52 50 43 5f  ion(void*) PRPC_
35b0: 43 4c 49 45 4e 54 5f 46 52 45 45 3b 0a 0a 09 61  CLIENT_FREE;...a
35c0: 6c 69 61 73 20 76 6f 69 64 20 66 75 6e 63 74 69  lias void functi
35d0: 6f 6e 20 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d  on (PMIDL_STUB_M
35e0: 45 53 53 41 47 45 29 20 53 54 55 42 5f 54 48 55  ESSAGE) STUB_THU
35f0: 4e 4b 3b 0a 09 61 6c 69 61 73 20 69 6e 74 20 66  NK;..alias int f
3600: 75 6e 63 74 69 6f 6e 28 29 20 53 45 52 56 45 52  unction() SERVER
3610: 5f 52 4f 55 54 49 4e 45 3b 0a 7d 0a 0a 76 6f 69  _ROUTINE;.}..voi
3620: 64 20 20 4e 64 72 53 69 6d 70 6c 65 54 79 70 65  d  NdrSimpleType
3630: 4d 61 72 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53  Marshall(PMIDL_S
3640: 54 55 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74  TUB_MESSAGE,ubyt
3650: 65 2a 2c 75 62 79 74 65 29 3b 0a 75 62 79 74 65  e*,ubyte);.ubyte
3660: 20 2a 20 4e 64 72 50 6f 69 6e 74 65 72 4d 61 72   * NdrPointerMar
3670: 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53 54 55 42  shall(PMIDL_STUB
3680: 5f 4d 45 53 53 41 47 45 2c 75 62 79 74 65 2a 2c  _MESSAGE,ubyte*,
3690: 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 20 70  PFORMAT_STRING p
36a0: 46 6f 72 6d 61 74 29 3b 0a 75 62 79 74 65 20 2a  Format);.ubyte *
36b0: 20 4e 64 72 53 69 6d 70 6c 65 53 74 72 75 63 74   NdrSimpleStruct
36c0: 4d 61 72 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53  Marshall(PMIDL_S
36d0: 54 55 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74  TUB_MESSAGE,ubyt
36e0: 65 2a 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e  e*,PFORMAT_STRIN
36f0: 47 29 3b 0a 75 62 79 74 65 20 2a 20 4e 64 72 43  G);.ubyte * NdrC
3700: 6f 6e 66 6f 72 6d 61 6e 74 53 74 72 75 63 74 4d  onformantStructM
3710: 61 72 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53 54  arshall(PMIDL_ST
3720: 55 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74 65  UB_MESSAGE,ubyte
3730: 2a 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47  *,PFORMAT_STRING
3740: 29 3b 0a 75 62 79 74 65 20 2a 20 4e 64 72 43 6f  );.ubyte * NdrCo
3750: 6e 66 6f 72 6d 61 6e 74 56 61 72 79 69 6e 67 53  nformantVaryingS
3760: 74 72 75 63 74 4d 61 72 73 68 61 6c 6c 28 50 4d  tructMarshall(PM
3770: 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47 45  IDL_STUB_MESSAGE
3780: 2c 75 62 79 74 65 2a 2c 50 46 4f 52 4d 41 54 5f  ,ubyte*,PFORMAT_
3790: 53 54 52 49 4e 47 29 3b 0a 75 62 79 74 65 20 2a  STRING);.ubyte *
37a0: 20 4e 64 72 48 61 72 64 53 74 72 75 63 74 4d 61   NdrHardStructMa
37b0: 72 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53 54 55  rshall(PMIDL_STU
37c0: 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74 65 2a  B_MESSAGE,ubyte*
37d0: 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29  ,PFORMAT_STRING)
37e0: 3b 0a 75 62 79 74 65 20 2a 20 4e 64 72 43 6f 6d  ;.ubyte * NdrCom
37f0: 70 6c 65 78 53 74 72 75 63 74 4d 61 72 73 68 61  plexStructMarsha
3800: 6c 6c 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45  ll(PMIDL_STUB_ME
3810: 53 53 41 47 45 2c 75 62 79 74 65 2a 2c 50 46 4f  SSAGE,ubyte*,PFO
3820: 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a 75 62  RMAT_STRING);.ub
3830: 79 74 65 20 2a 20 4e 64 72 46 69 78 65 64 41 72  yte * NdrFixedAr
3840: 72 61 79 4d 61 72 73 68 61 6c 6c 28 50 4d 49 44  rayMarshall(PMID
3850: 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 75  L_STUB_MESSAGE,u
3860: 62 79 74 65 2a 2c 50 46 4f 52 4d 41 54 5f 53 54  byte*,PFORMAT_ST
3870: 52 49 4e 47 29 3b 0a 75 62 79 74 65 20 2a 20 4e  RING);.ubyte * N
3880: 64 72 43 6f 6e 66 6f 72 6d 61 6e 74 41 72 72 61  drConformantArra
3890: 79 4d 61 72 73 68 61 6c 6c 28 50 4d 49 44 4c 5f  yMarshall(PMIDL_
38a0: 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 75 62 79  STUB_MESSAGE,uby
38b0: 74 65 2a 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49  te*,PFORMAT_STRI
38c0: 4e 47 29 3b 0a 75 62 79 74 65 20 2a 20 4e 64 72  NG);.ubyte * Ndr
38d0: 43 6f 6e 66 6f 72 6d 61 6e 74 56 61 72 79 69 6e  ConformantVaryin
38e0: 67 41 72 72 61 79 4d 61 72 73 68 61 6c 6c 28 50  gArrayMarshall(P
38f0: 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47  MIDL_STUB_MESSAG
3900: 45 2c 75 62 79 74 65 2a 2c 50 46 4f 52 4d 41 54  E,ubyte*,PFORMAT
3910: 5f 53 54 52 49 4e 47 29 3b 0a 75 62 79 74 65 20  _STRING);.ubyte 
3920: 2a 20 4e 64 72 56 61 72 79 69 6e 67 41 72 72 61  * NdrVaryingArra
3930: 79 4d 61 72 73 68 61 6c 6c 28 50 4d 49 44 4c 5f  yMarshall(PMIDL_
3940: 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 75 62 79  STUB_MESSAGE,uby
3950: 74 65 2a 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49  te*,PFORMAT_STRI
3960: 4e 47 29 3b 0a 75 62 79 74 65 20 2a 20 4e 64 72  NG);.ubyte * Ndr
3970: 43 6f 6d 70 6c 65 78 41 72 72 61 79 4d 61 72 73  ComplexArrayMars
3980: 68 61 6c 6c 28 50 4d 49 44 4c 5f 53 54 55 42 5f  hall(PMIDL_STUB_
3990: 4d 45 53 53 41 47 45 2c 75 62 79 74 65 2a 2c 50  MESSAGE,ubyte*,P
39a0: 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a  FORMAT_STRING);.
39b0: 75 62 79 74 65 20 2a 20 4e 64 72 4e 6f 6e 43 6f  ubyte * NdrNonCo
39c0: 6e 66 6f 72 6d 61 6e 74 53 74 72 69 6e 67 4d 61  nformantStringMa
39d0: 72 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53 54 55  rshall(PMIDL_STU
39e0: 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74 65 2a  B_MESSAGE,ubyte*
39f0: 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29  ,PFORMAT_STRING)
3a00: 3b 0a 75 62 79 74 65 20 2a 20 4e 64 72 43 6f 6e  ;.ubyte * NdrCon
3a10: 66 6f 72 6d 61 6e 74 53 74 72 69 6e 67 4d 61 72  formantStringMar
3a20: 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53 54 55 42  shall(PMIDL_STUB
3a30: 5f 4d 45 53 53 41 47 45 2c 75 62 79 74 65 2a 2c  _MESSAGE,ubyte*,
3a40: 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b  PFORMAT_STRING);
3a50: 0a 75 62 79 74 65 20 2a 20 4e 64 72 45 6e 63 61  .ubyte * NdrEnca
3a60: 70 73 75 6c 61 74 65 64 55 6e 69 6f 6e 4d 61 72  psulatedUnionMar
3a70: 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53 54 55 42  shall(PMIDL_STUB
3a80: 5f 4d 45 53 53 41 47 45 2c 75 62 79 74 65 2a 2c  _MESSAGE,ubyte*,
3a90: 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b  PFORMAT_STRING);
3aa0: 0a 75 62 79 74 65 20 2a 20 4e 64 72 4e 6f 6e 45  .ubyte * NdrNonE
3ab0: 6e 63 61 70 73 75 6c 61 74 65 64 55 6e 69 6f 6e  ncapsulatedUnion
3ac0: 4d 61 72 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53  Marshall(PMIDL_S
3ad0: 54 55 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74  TUB_MESSAGE,ubyt
3ae0: 65 2a 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e  e*,PFORMAT_STRIN
3af0: 47 29 3b 0a 75 62 79 74 65 20 2a 20 4e 64 72 42  G);.ubyte * NdrB
3b00: 79 74 65 43 6f 75 6e 74 50 6f 69 6e 74 65 72 4d  yteCountPointerM
3b10: 61 72 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53 54  arshall(PMIDL_ST
3b20: 55 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74 65  UB_MESSAGE,ubyte
3b30: 2a 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47  *,PFORMAT_STRING
3b40: 29 3b 0a 75 62 79 74 65 20 2a 20 4e 64 72 58 6d  );.ubyte * NdrXm
3b50: 69 74 4f 72 52 65 70 41 73 4d 61 72 73 68 61 6c  itOrRepAsMarshal
3b60: 6c 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53  l(PMIDL_STUB_MES
3b70: 53 41 47 45 2c 75 62 79 74 65 2a 2c 50 46 4f 52  SAGE,ubyte*,PFOR
3b80: 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a 75 62 79  MAT_STRING);.uby
3b90: 74 65 20 2a 20 4e 64 72 49 6e 74 65 72 66 61 63  te * NdrInterfac
3ba0: 65 50 6f 69 6e 74 65 72 4d 61 72 73 68 61 6c 6c  ePointerMarshall
3bb0: 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53  (PMIDL_STUB_MESS
3bc0: 41 47 45 2c 75 62 79 74 65 2a 2c 50 46 4f 52 4d  AGE,ubyte*,PFORM
3bd0: 41 54 5f 53 54 52 49 4e 47 29 3b 0a 76 6f 69 64  AT_STRING);.void
3be0: 20 20 4e 64 72 43 6c 69 65 6e 74 43 6f 6e 74 65    NdrClientConte
3bf0: 78 74 4d 61 72 73 68 61 6c 6c 28 50 4d 49 44 4c  xtMarshall(PMIDL
3c00: 5f 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 4e 44  _STUB_MESSAGE,ND
3c10: 52 5f 43 43 4f 4e 54 45 58 54 2c 69 6e 74 29 3b  R_CCONTEXT,int);
3c20: 0a 76 6f 69 64 20 20 4e 64 72 53 65 72 76 65 72  .void  NdrServer
3c30: 43 6f 6e 74 65 78 74 4d 61 72 73 68 61 6c 6c 28  ContextMarshall(
3c40: 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41  PMIDL_STUB_MESSA
3c50: 47 45 2c 4e 44 52 5f 53 43 4f 4e 54 45 58 54 2c  GE,NDR_SCONTEXT,
3c60: 4e 44 52 5f 52 55 4e 44 4f 57 4e 29 3b 0a 76 6f  NDR_RUNDOWN);.vo
3c70: 69 64 20 20 4e 64 72 53 69 6d 70 6c 65 54 79 70  id  NdrSimpleTyp
3c80: 65 55 6e 6d 61 72 73 68 61 6c 6c 28 50 4d 49 44  eUnmarshall(PMID
3c90: 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 75  L_STUB_MESSAGE,u
3ca0: 62 79 74 65 2a 2c 75 62 79 74 65 29 3b 0a 75 62  byte*,ubyte);.ub
3cb0: 79 74 65 20 2a 20 4e 64 72 50 6f 69 6e 74 65 72  yte * NdrPointer
3cc0: 55 6e 6d 61 72 73 68 61 6c 6c 28 50 4d 49 44 4c  Unmarshall(PMIDL
3cd0: 5f 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 75 62  _STUB_MESSAGE,ub
3ce0: 79 74 65 2a 2a 2c 50 46 4f 52 4d 41 54 5f 53 54  yte**,PFORMAT_ST
3cf0: 52 49 4e 47 2c 75 62 79 74 65 29 3b 0a 75 62 79  RING,ubyte);.uby
3d00: 74 65 20 2a 20 4e 64 72 53 69 6d 70 6c 65 53 74  te * NdrSimpleSt
3d10: 72 75 63 74 55 6e 6d 61 72 73 68 61 6c 6c 28 50  ructUnmarshall(P
3d20: 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47  MIDL_STUB_MESSAG
3d30: 45 2c 75 62 79 74 65 2a 2a 2c 50 46 4f 52 4d 41  E,ubyte**,PFORMA
3d40: 54 5f 53 54 52 49 4e 47 2c 75 62 79 74 65 29 3b  T_STRING,ubyte);
3d50: 0a 75 62 79 74 65 20 2a 20 4e 64 72 43 6f 6e 66  .ubyte * NdrConf
3d60: 6f 72 6d 61 6e 74 53 74 72 75 63 74 55 6e 6d 61  ormantStructUnma
3d70: 72 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53 54 55  rshall(PMIDL_STU
3d80: 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74 65 2a  B_MESSAGE,ubyte*
3d90: 2a 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47  *,PFORMAT_STRING
3da0: 2c 75 62 79 74 65 29 3b 0a 75 62 79 74 65 20 2a  ,ubyte);.ubyte *
3db0: 20 4e 64 72 43 6f 6e 66 6f 72 6d 61 6e 74 56 61   NdrConformantVa
3dc0: 72 79 69 6e 67 53 74 72 75 63 74 55 6e 6d 61 72  ryingStructUnmar
3dd0: 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53 54 55 42  shall(PMIDL_STUB
3de0: 5f 4d 45 53 53 41 47 45 2c 75 62 79 74 65 2a 2a  _MESSAGE,ubyte**
3df0: 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 2c  ,PFORMAT_STRING,
3e00: 75 62 79 74 65 29 3b 0a 75 62 79 74 65 20 2a 20  ubyte);.ubyte * 
3e10: 4e 64 72 48 61 72 64 53 74 72 75 63 74 55 6e 6d  NdrHardStructUnm
3e20: 61 72 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53 54  arshall(PMIDL_ST
3e30: 55 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74 65  UB_MESSAGE,ubyte
3e40: 2a 2a 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e  **,PFORMAT_STRIN
3e50: 47 2c 75 62 79 74 65 29 3b 0a 75 62 79 74 65 20  G,ubyte);.ubyte 
3e60: 2a 20 4e 64 72 43 6f 6d 70 6c 65 78 53 74 72 75  * NdrComplexStru
3e70: 63 74 55 6e 6d 61 72 73 68 61 6c 6c 28 50 4d 49  ctUnmarshall(PMI
3e80: 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47 45 2c  DL_STUB_MESSAGE,
3e90: 75 62 79 74 65 2a 2a 2c 50 46 4f 52 4d 41 54 5f  ubyte**,PFORMAT_
3ea0: 53 54 52 49 4e 47 2c 75 62 79 74 65 29 3b 0a 75  STRING,ubyte);.u
3eb0: 62 79 74 65 20 2a 20 4e 64 72 46 69 78 65 64 41  byte * NdrFixedA
3ec0: 72 72 61 79 55 6e 6d 61 72 73 68 61 6c 6c 28 50  rrayUnmarshall(P
3ed0: 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47  MIDL_STUB_MESSAG
3ee0: 45 2c 75 62 79 74 65 2a 2a 2c 50 46 4f 52 4d 41  E,ubyte**,PFORMA
3ef0: 54 5f 53 54 52 49 4e 47 2c 75 62 79 74 65 29 3b  T_STRING,ubyte);
3f00: 0a 75 62 79 74 65 20 2a 20 4e 64 72 43 6f 6e 66  .ubyte * NdrConf
3f10: 6f 72 6d 61 6e 74 41 72 72 61 79 55 6e 6d 61 72  ormantArrayUnmar
3f20: 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53 54 55 42  shall(PMIDL_STUB
3f30: 5f 4d 45 53 53 41 47 45 2c 75 62 79 74 65 2a 2a  _MESSAGE,ubyte**
3f40: 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 2c  ,PFORMAT_STRING,
3f50: 75 62 79 74 65 29 3b 0a 75 62 79 74 65 20 2a 20  ubyte);.ubyte * 
3f60: 4e 64 72 43 6f 6e 66 6f 72 6d 61 6e 74 56 61 72  NdrConformantVar
3f70: 79 69 6e 67 41 72 72 61 79 55 6e 6d 61 72 73 68  yingArrayUnmarsh
3f80: 61 6c 6c 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d  all(PMIDL_STUB_M
3f90: 45 53 53 41 47 45 2c 75 62 79 74 65 2a 2a 2c 50  ESSAGE,ubyte**,P
3fa0: 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 2c 75 62  FORMAT_STRING,ub
3fb0: 79 74 65 29 3b 0a 75 62 79 74 65 20 2a 20 4e 64  yte);.ubyte * Nd
3fc0: 72 56 61 72 79 69 6e 67 41 72 72 61 79 55 6e 6d  rVaryingArrayUnm
3fd0: 61 72 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53 54  arshall(PMIDL_ST
3fe0: 55 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74 65  UB_MESSAGE,ubyte
3ff0: 2a 2a 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e  **,PFORMAT_STRIN
4000: 47 2c 75 62 79 74 65 29 3b 0a 75 62 79 74 65 20  G,ubyte);.ubyte 
4010: 2a 20 4e 64 72 43 6f 6d 70 6c 65 78 41 72 72 61  * NdrComplexArra
4020: 79 55 6e 6d 61 72 73 68 61 6c 6c 28 50 4d 49 44  yUnmarshall(PMID
4030: 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 75  L_STUB_MESSAGE,u
4040: 62 79 74 65 2a 2a 2c 50 46 4f 52 4d 41 54 5f 53  byte**,PFORMAT_S
4050: 54 52 49 4e 47 2c 75 62 79 74 65 29 3b 0a 75 62  TRING,ubyte);.ub
4060: 79 74 65 20 2a 20 4e 64 72 4e 6f 6e 43 6f 6e 66  yte * NdrNonConf
4070: 6f 72 6d 61 6e 74 53 74 72 69 6e 67 55 6e 6d 61  ormantStringUnma
4080: 72 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53 54 55  rshall(PMIDL_STU
4090: 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74 65 2a  B_MESSAGE,ubyte*
40a0: 2a 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47  *,PFORMAT_STRING
40b0: 2c 75 62 79 74 65 29 3b 0a 75 62 79 74 65 20 2a  ,ubyte);.ubyte *
40c0: 20 4e 64 72 43 6f 6e 66 6f 72 6d 61 6e 74 53 74   NdrConformantSt
40d0: 72 69 6e 67 55 6e 6d 61 72 73 68 61 6c 6c 28 50  ringUnmarshall(P
40e0: 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47  MIDL_STUB_MESSAG
40f0: 45 2c 75 62 79 74 65 2a 2a 2c 50 46 4f 52 4d 41  E,ubyte**,PFORMA
4100: 54 5f 53 54 52 49 4e 47 2c 75 62 79 74 65 29 3b  T_STRING,ubyte);
4110: 0a 75 62 79 74 65 20 2a 20 4e 64 72 45 6e 63 61  .ubyte * NdrEnca
4120: 70 73 75 6c 61 74 65 64 55 6e 69 6f 6e 55 6e 6d  psulatedUnionUnm
4130: 61 72 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53 54  arshall(PMIDL_ST
4140: 55 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74 65  UB_MESSAGE,ubyte
4150: 2a 2a 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e  **,PFORMAT_STRIN
4160: 47 2c 75 62 79 74 65 29 3b 0a 75 62 79 74 65 20  G,ubyte);.ubyte 
4170: 2a 20 4e 64 72 4e 6f 6e 45 6e 63 61 70 73 75 6c  * NdrNonEncapsul
4180: 61 74 65 64 55 6e 69 6f 6e 55 6e 6d 61 72 73 68  atedUnionUnmarsh
4190: 61 6c 6c 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d  all(PMIDL_STUB_M
41a0: 45 53 53 41 47 45 2c 75 62 79 74 65 2a 2a 2c 50  ESSAGE,ubyte**,P
41b0: 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 2c 75 62  FORMAT_STRING,ub
41c0: 79 74 65 29 3b 0a 75 62 79 74 65 20 2a 20 4e 64  yte);.ubyte * Nd
41d0: 72 42 79 74 65 43 6f 75 6e 74 50 6f 69 6e 74 65  rByteCountPointe
41e0: 72 55 6e 6d 61 72 73 68 61 6c 6c 28 50 4d 49 44  rUnmarshall(PMID
41f0: 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 75  L_STUB_MESSAGE,u
4200: 62 79 74 65 2a 2a 2c 50 46 4f 52 4d 41 54 5f 53  byte**,PFORMAT_S
4210: 54 52 49 4e 47 2c 75 62 79 74 65 29 3b 0a 75 62  TRING,ubyte);.ub
4220: 79 74 65 20 2a 20 4e 64 72 58 6d 69 74 4f 72 52  yte * NdrXmitOrR
4230: 65 70 41 73 55 6e 6d 61 72 73 68 61 6c 6c 28 50  epAsUnmarshall(P
4240: 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47  MIDL_STUB_MESSAG
4250: 45 2c 75 62 79 74 65 2a 2a 2c 50 46 4f 52 4d 41  E,ubyte**,PFORMA
4260: 54 5f 53 54 52 49 4e 47 2c 75 62 79 74 65 29 3b  T_STRING,ubyte);
4270: 0a 75 62 79 74 65 20 2a 20 4e 64 72 49 6e 74 65  .ubyte * NdrInte
4280: 72 66 61 63 65 50 6f 69 6e 74 65 72 55 6e 6d 61  rfacePointerUnma
4290: 72 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53 54 55  rshall(PMIDL_STU
42a0: 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74 65 2a  B_MESSAGE,ubyte*
42b0: 2a 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47  *,PFORMAT_STRING
42c0: 2c 75 62 79 74 65 29 3b 0a 76 6f 69 64 20 20 4e  ,ubyte);.void  N
42d0: 64 72 43 6c 69 65 6e 74 43 6f 6e 74 65 78 74 55  drClientContextU
42e0: 6e 6d 61 72 73 68 61 6c 6c 28 50 4d 49 44 4c 5f  nmarshall(PMIDL_
42f0: 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 4e 44 52  STUB_MESSAGE,NDR
4300: 5f 43 43 4f 4e 54 45 58 54 2a 2c 52 50 43 5f 42  _CCONTEXT*,RPC_B
4310: 49 4e 44 49 4e 47 5f 48 41 4e 44 4c 45 29 3b 0a  INDING_HANDLE);.
4320: 4e 44 52 5f 53 43 4f 4e 54 45 58 54 20 20 4e 64  NDR_SCONTEXT  Nd
4330: 72 53 65 72 76 65 72 43 6f 6e 74 65 78 74 55 6e  rServerContextUn
4340: 6d 61 72 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53  marshall(PMIDL_S
4350: 54 55 42 5f 4d 45 53 53 41 47 45 29 3b 0a 76 6f  TUB_MESSAGE);.vo
4360: 69 64 20 20 4e 64 72 50 6f 69 6e 74 65 72 42 75  id  NdrPointerBu
4370: 66 66 65 72 53 69 7a 65 28 50 4d 49 44 4c 5f 53  fferSize(PMIDL_S
4380: 54 55 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74  TUB_MESSAGE,ubyt
4390: 65 2a 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e  e*,PFORMAT_STRIN
43a0: 47 29 3b 0a 76 6f 69 64 20 20 4e 64 72 53 69 6d  G);.void  NdrSim
43b0: 70 6c 65 53 74 72 75 63 74 42 75 66 66 65 72 53  pleStructBufferS
43c0: 69 7a 65 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d  ize(PMIDL_STUB_M
43d0: 45 53 53 41 47 45 2c 75 62 79 74 65 2a 2c 50 46  ESSAGE,ubyte*,PF
43e0: 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a 76  ORMAT_STRING);.v
43f0: 6f 69 64 20 20 4e 64 72 43 6f 6e 66 6f 72 6d 61  oid  NdrConforma
4400: 6e 74 53 74 72 75 63 74 42 75 66 66 65 72 53 69  ntStructBufferSi
4410: 7a 65 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45  ze(PMIDL_STUB_ME
4420: 53 53 41 47 45 2c 75 62 79 74 65 2a 2c 50 46 4f  SSAGE,ubyte*,PFO
4430: 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a 76 6f  RMAT_STRING);.vo
4440: 69 64 20 20 4e 64 72 43 6f 6e 66 6f 72 6d 61 6e  id  NdrConforman
4450: 74 56 61 72 79 69 6e 67 53 74 72 75 63 74 42 75  tVaryingStructBu
4460: 66 66 65 72 53 69 7a 65 28 50 4d 49 44 4c 5f 53  fferSize(PMIDL_S
4470: 54 55 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74  TUB_MESSAGE,ubyt
4480: 65 2a 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e  e*,PFORMAT_STRIN
4490: 47 29 3b 0a 76 6f 69 64 20 20 4e 64 72 48 61 72  G);.void  NdrHar
44a0: 64 53 74 72 75 63 74 42 75 66 66 65 72 53 69 7a  dStructBufferSiz
44b0: 65 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53  e(PMIDL_STUB_MES
44c0: 53 41 47 45 2c 75 62 79 74 65 2a 2c 50 46 4f 52  SAGE,ubyte*,PFOR
44d0: 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a 76 6f 69  MAT_STRING);.voi
44e0: 64 20 20 4e 64 72 43 6f 6d 70 6c 65 78 53 74 72  d  NdrComplexStr
44f0: 75 63 74 42 75 66 66 65 72 53 69 7a 65 28 50 4d  uctBufferSize(PM
4500: 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47 45  IDL_STUB_MESSAGE
4510: 2c 75 62 79 74 65 2a 2c 50 46 4f 52 4d 41 54 5f  ,ubyte*,PFORMAT_
4520: 53 54 52 49 4e 47 29 3b 0a 76 6f 69 64 20 20 4e  STRING);.void  N
4530: 64 72 46 69 78 65 64 41 72 72 61 79 42 75 66 66  drFixedArrayBuff
4540: 65 72 53 69 7a 65 28 50 4d 49 44 4c 5f 53 54 55  erSize(PMIDL_STU
4550: 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74 65 2a  B_MESSAGE,ubyte*
4560: 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29  ,PFORMAT_STRING)
4570: 3b 0a 76 6f 69 64 20 20 4e 64 72 43 6f 6e 66 6f  ;.void  NdrConfo
4580: 72 6d 61 6e 74 41 72 72 61 79 42 75 66 66 65 72  rmantArrayBuffer
4590: 53 69 7a 65 28 50 4d 49 44 4c 5f 53 54 55 42 5f  Size(PMIDL_STUB_
45a0: 4d 45 53 53 41 47 45 2c 75 62 79 74 65 2a 2c 50  MESSAGE,ubyte*,P
45b0: 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a  FORMAT_STRING);.
45c0: 76 6f 69 64 20 20 4e 64 72 43 6f 6e 66 6f 72 6d  void  NdrConform
45d0: 61 6e 74 56 61 72 79 69 6e 67 41 72 72 61 79 42  antVaryingArrayB
45e0: 75 66 66 65 72 53 69 7a 65 28 50 4d 49 44 4c 5f  ufferSize(PMIDL_
45f0: 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 75 62 79  STUB_MESSAGE,uby
4600: 74 65 2a 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49  te*,PFORMAT_STRI
4610: 4e 47 29 3b 0a 76 6f 69 64 20 20 4e 64 72 56 61  NG);.void  NdrVa
4620: 72 79 69 6e 67 41 72 72 61 79 42 75 66 66 65 72  ryingArrayBuffer
4630: 53 69 7a 65 28 50 4d 49 44 4c 5f 53 54 55 42 5f  Size(PMIDL_STUB_
4640: 4d 45 53 53 41 47 45 2c 75 62 79 74 65 2a 2c 50  MESSAGE,ubyte*,P
4650: 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a  FORMAT_STRING);.
4660: 76 6f 69 64 20 20 4e 64 72 43 6f 6d 70 6c 65 78  void  NdrComplex
4670: 41 72 72 61 79 42 75 66 66 65 72 53 69 7a 65 28  ArrayBufferSize(
4680: 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41  PMIDL_STUB_MESSA
4690: 47 45 2c 75 62 79 74 65 2a 2c 50 46 4f 52 4d 41  GE,ubyte*,PFORMA
46a0: 54 5f 53 54 52 49 4e 47 29 3b 0a 76 6f 69 64 20  T_STRING);.void 
46b0: 20 4e 64 72 43 6f 6e 66 6f 72 6d 61 6e 74 53 74   NdrConformantSt
46c0: 72 69 6e 67 42 75 66 66 65 72 53 69 7a 65 28 50  ringBufferSize(P
46d0: 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47  MIDL_STUB_MESSAG
46e0: 45 2c 75 62 79 74 65 2a 2c 50 46 4f 52 4d 41 54  E,ubyte*,PFORMAT
46f0: 5f 53 54 52 49 4e 47 29 3b 0a 76 6f 69 64 20 20  _STRING);.void  
4700: 4e 64 72 4e 6f 6e 43 6f 6e 66 6f 72 6d 61 6e 74  NdrNonConformant
4710: 53 74 72 69 6e 67 42 75 66 66 65 72 53 69 7a 65  StringBufferSize
4720: 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53  (PMIDL_STUB_MESS
4730: 41 47 45 2c 75 62 79 74 65 2a 2c 50 46 4f 52 4d  AGE,ubyte*,PFORM
4740: 41 54 5f 53 54 52 49 4e 47 29 3b 0a 76 6f 69 64  AT_STRING);.void
4750: 20 20 4e 64 72 45 6e 63 61 70 73 75 6c 61 74 65    NdrEncapsulate
4760: 64 55 6e 69 6f 6e 42 75 66 66 65 72 53 69 7a 65  dUnionBufferSize
4770: 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53  (PMIDL_STUB_MESS
4780: 41 47 45 2c 75 62 79 74 65 2a 2c 50 46 4f 52 4d  AGE,ubyte*,PFORM
4790: 41 54 5f 53 54 52 49 4e 47 29 3b 0a 76 6f 69 64  AT_STRING);.void
47a0: 20 20 4e 64 72 4e 6f 6e 45 6e 63 61 70 73 75 6c    NdrNonEncapsul
47b0: 61 74 65 64 55 6e 69 6f 6e 42 75 66 66 65 72 53  atedUnionBufferS
47c0: 69 7a 65 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d  ize(PMIDL_STUB_M
47d0: 45 53 53 41 47 45 2c 75 62 79 74 65 2a 2c 50 46  ESSAGE,ubyte*,PF
47e0: 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a 76  ORMAT_STRING);.v
47f0: 6f 69 64 20 20 4e 64 72 42 79 74 65 43 6f 75 6e  oid  NdrByteCoun
4800: 74 50 6f 69 6e 74 65 72 42 75 66 66 65 72 53 69  tPointerBufferSi
4810: 7a 65 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45  ze(PMIDL_STUB_ME
4820: 53 53 41 47 45 2c 75 62 79 74 65 2a 2c 50 46 4f  SSAGE,ubyte*,PFO
4830: 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a 76 6f  RMAT_STRING);.vo
4840: 69 64 20 20 4e 64 72 58 6d 69 74 4f 72 52 65 70  id  NdrXmitOrRep
4850: 41 73 42 75 66 66 65 72 53 69 7a 65 28 50 4d 49  AsBufferSize(PMI
4860: 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47 45 2c  DL_STUB_MESSAGE,
4870: 75 62 79 74 65 2a 2c 50 46 4f 52 4d 41 54 5f 53  ubyte*,PFORMAT_S
4880: 54 52 49 4e 47 29 3b 0a 76 6f 69 64 20 20 4e 64  TRING);.void  Nd
4890: 72 49 6e 74 65 72 66 61 63 65 50 6f 69 6e 74 65  rInterfacePointe
48a0: 72 42 75 66 66 65 72 53 69 7a 65 28 50 4d 49 44  rBufferSize(PMID
48b0: 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 75  L_STUB_MESSAGE,u
48c0: 62 79 74 65 2a 2c 50 46 4f 52 4d 41 54 5f 53 54  byte*,PFORMAT_ST
48d0: 52 49 4e 47 29 3b 0a 76 6f 69 64 20 20 4e 64 72  RING);.void  Ndr
48e0: 43 6f 6e 74 65 78 74 48 61 6e 64 6c 65 53 69 7a  ContextHandleSiz
48f0: 65 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53  e(PMIDL_STUB_MES
4900: 53 41 47 45 2c 75 62 79 74 65 2a 2c 50 46 4f 52  SAGE,ubyte*,PFOR
4910: 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a 75 69 6e  MAT_STRING);.uin
4920: 74 20 20 4e 64 72 50 6f 69 6e 74 65 72 4d 65 6d  t  NdrPointerMem
4930: 6f 72 79 53 69 7a 65 28 50 4d 49 44 4c 5f 53 54  orySize(PMIDL_ST
4940: 55 42 5f 4d 45 53 53 41 47 45 2c 50 46 4f 52 4d  UB_MESSAGE,PFORM
4950: 41 54 5f 53 54 52 49 4e 47 29 3b 0a 75 69 6e 74  AT_STRING);.uint
4960: 20 20 4e 64 72 53 69 6d 70 6c 65 53 74 72 75 63    NdrSimpleStruc
4970: 74 4d 65 6d 6f 72 79 53 69 7a 65 28 50 4d 49 44  tMemorySize(PMID
4980: 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 50  L_STUB_MESSAGE,P
4990: 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a  FORMAT_STRING);.
49a0: 75 69 6e 74 20 20 4e 64 72 43 6f 6e 66 6f 72 6d  uint  NdrConform
49b0: 61 6e 74 53 74 72 75 63 74 4d 65 6d 6f 72 79 53  antStructMemoryS
49c0: 69 7a 65 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d  ize(PMIDL_STUB_M
49d0: 45 53 53 41 47 45 2c 50 46 4f 52 4d 41 54 5f 53  ESSAGE,PFORMAT_S
49e0: 54 52 49 4e 47 29 3b 0a 75 69 6e 74 20 20 4e 64  TRING);.uint  Nd
49f0: 72 43 6f 6e 66 6f 72 6d 61 6e 74 56 61 72 79 69  rConformantVaryi
4a00: 6e 67 53 74 72 75 63 74 4d 65 6d 6f 72 79 53 69  ngStructMemorySi
4a10: 7a 65 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45  ze(PMIDL_STUB_ME
4a20: 53 53 41 47 45 2c 50 46 4f 52 4d 41 54 5f 53 54  SSAGE,PFORMAT_ST
4a30: 52 49 4e 47 29 3b 0a 75 69 6e 74 20 20 4e 64 72  RING);.uint  Ndr
4a40: 48 61 72 64 53 74 72 75 63 74 4d 65 6d 6f 72 79  HardStructMemory
4a50: 53 69 7a 65 28 50 4d 49 44 4c 5f 53 54 55 42 5f  Size(PMIDL_STUB_
4a60: 4d 45 53 53 41 47 45 2c 50 46 4f 52 4d 41 54 5f  MESSAGE,PFORMAT_
4a70: 53 54 52 49 4e 47 29 3b 0a 75 69 6e 74 20 20 4e  STRING);.uint  N
4a80: 64 72 43 6f 6d 70 6c 65 78 53 74 72 75 63 74 4d  drComplexStructM
4a90: 65 6d 6f 72 79 53 69 7a 65 28 50 4d 49 44 4c 5f  emorySize(PMIDL_
4aa0: 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 50 46 4f  STUB_MESSAGE,PFO
4ab0: 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a 75 69  RMAT_STRING);.ui
4ac0: 6e 74 20 20 4e 64 72 46 69 78 65 64 41 72 72 61  nt  NdrFixedArra
4ad0: 79 4d 65 6d 6f 72 79 53 69 7a 65 28 50 4d 49 44  yMemorySize(PMID
4ae0: 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 50  L_STUB_MESSAGE,P
4af0: 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a  FORMAT_STRING);.
4b00: 75 69 6e 74 20 20 4e 64 72 43 6f 6e 66 6f 72 6d  uint  NdrConform
4b10: 61 6e 74 41 72 72 61 79 4d 65 6d 6f 72 79 53 69  antArrayMemorySi
4b20: 7a 65 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45  ze(PMIDL_STUB_ME
4b30: 53 53 41 47 45 2c 50 46 4f 52 4d 41 54 5f 53 54  SSAGE,PFORMAT_ST
4b40: 52 49 4e 47 29 3b 0a 75 69 6e 74 20 20 4e 64 72  RING);.uint  Ndr
4b50: 43 6f 6e 66 6f 72 6d 61 6e 74 56 61 72 79 69 6e  ConformantVaryin
4b60: 67 41 72 72 61 79 4d 65 6d 6f 72 79 53 69 7a 65  gArrayMemorySize
4b70: 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53  (PMIDL_STUB_MESS
4b80: 41 47 45 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49  AGE,PFORMAT_STRI
4b90: 4e 47 29 3b 0a 75 69 6e 74 20 20 4e 64 72 56 61  NG);.uint  NdrVa
4ba0: 72 79 69 6e 67 41 72 72 61 79 4d 65 6d 6f 72 79  ryingArrayMemory
4bb0: 53 69 7a 65 28 50 4d 49 44 4c 5f 53 54 55 42 5f  Size(PMIDL_STUB_
4bc0: 4d 45 53 53 41 47 45 2c 50 46 4f 52 4d 41 54 5f  MESSAGE,PFORMAT_
4bd0: 53 54 52 49 4e 47 29 3b 0a 75 69 6e 74 20 20 4e  STRING);.uint  N
4be0: 64 72 43 6f 6d 70 6c 65 78 41 72 72 61 79 4d 65  drComplexArrayMe
4bf0: 6d 6f 72 79 53 69 7a 65 28 50 4d 49 44 4c 5f 53  morySize(PMIDL_S
4c00: 54 55 42 5f 4d 45 53 53 41 47 45 2c 50 46 4f 52  TUB_MESSAGE,PFOR
4c10: 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a 75 69 6e  MAT_STRING);.uin
4c20: 74 20 20 4e 64 72 43 6f 6e 66 6f 72 6d 61 6e 74  t  NdrConformant
4c30: 53 74 72 69 6e 67 4d 65 6d 6f 72 79 53 69 7a 65  StringMemorySize
4c40: 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53  (PMIDL_STUB_MESS
4c50: 41 47 45 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49  AGE,PFORMAT_STRI
4c60: 4e 47 29 3b 0a 75 69 6e 74 20 20 4e 64 72 4e 6f  NG);.uint  NdrNo
4c70: 6e 43 6f 6e 66 6f 72 6d 61 6e 74 53 74 72 69 6e  nConformantStrin
4c80: 67 4d 65 6d 6f 72 79 53 69 7a 65 28 50 4d 49 44  gMemorySize(PMID
4c90: 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 50  L_STUB_MESSAGE,P
4ca0: 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a  FORMAT_STRING);.
4cb0: 75 69 6e 74 20 20 4e 64 72 45 6e 63 61 70 73 75  uint  NdrEncapsu
4cc0: 6c 61 74 65 64 55 6e 69 6f 6e 4d 65 6d 6f 72 79  latedUnionMemory
4cd0: 53 69 7a 65 28 50 4d 49 44 4c 5f 53 54 55 42 5f  Size(PMIDL_STUB_
4ce0: 4d 45 53 53 41 47 45 2c 50 46 4f 52 4d 41 54 5f  MESSAGE,PFORMAT_
4cf0: 53 54 52 49 4e 47 29 3b 0a 75 69 6e 74 20 20 4e  STRING);.uint  N
4d00: 64 72 4e 6f 6e 45 6e 63 61 70 73 75 6c 61 74 65  drNonEncapsulate
4d10: 64 55 6e 69 6f 6e 4d 65 6d 6f 72 79 53 69 7a 65  dUnionMemorySize
4d20: 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53  (PMIDL_STUB_MESS
4d30: 41 47 45 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49  AGE,PFORMAT_STRI
4d40: 4e 47 29 3b 0a 75 69 6e 74 20 20 4e 64 72 58 6d  NG);.uint  NdrXm
4d50: 69 74 4f 72 52 65 70 41 73 4d 65 6d 6f 72 79 53  itOrRepAsMemoryS
4d60: 69 7a 65 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d  ize(PMIDL_STUB_M
4d70: 45 53 53 41 47 45 2c 50 46 4f 52 4d 41 54 5f 53  ESSAGE,PFORMAT_S
4d80: 54 52 49 4e 47 29 3b 0a 75 69 6e 74 20 20 4e 64  TRING);.uint  Nd
4d90: 72 49 6e 74 65 72 66 61 63 65 50 6f 69 6e 74 65  rInterfacePointe
4da0: 72 4d 65 6d 6f 72 79 53 69 7a 65 28 50 4d 49 44  rMemorySize(PMID
4db0: 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 50  L_STUB_MESSAGE,P
4dc0: 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a  FORMAT_STRING);.
4dd0: 76 6f 69 64 20 20 4e 64 72 50 6f 69 6e 74 65 72  void  NdrPointer
4de0: 46 72 65 65 28 50 4d 49 44 4c 5f 53 54 55 42 5f  Free(PMIDL_STUB_
4df0: 4d 45 53 53 41 47 45 2c 75 62 79 74 65 2a 2c 50  MESSAGE,ubyte*,P
4e00: 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a  FORMAT_STRING);.
4e10: 76 6f 69 64 20 20 4e 64 72 53 69 6d 70 6c 65 53  void  NdrSimpleS
4e20: 74 72 75 63 74 46 72 65 65 28 50 4d 49 44 4c 5f  tructFree(PMIDL_
4e30: 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 75 62 79  STUB_MESSAGE,uby
4e40: 74 65 2a 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49  te*,PFORMAT_STRI
4e50: 4e 47 29 3b 0a 76 6f 69 64 20 20 4e 64 72 43 6f  NG);.void  NdrCo
4e60: 6e 66 6f 72 6d 61 6e 74 53 74 72 75 63 74 46 72  nformantStructFr
4e70: 65 65 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45  ee(PMIDL_STUB_ME
4e80: 53 53 41 47 45 2c 75 62 79 74 65 2a 2c 50 46 4f  SSAGE,ubyte*,PFO
4e90: 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a 76 6f  RMAT_STRING);.vo
4ea0: 69 64 20 20 4e 64 72 43 6f 6e 66 6f 72 6d 61 6e  id  NdrConforman
4eb0: 74 56 61 72 79 69 6e 67 53 74 72 75 63 74 46 72  tVaryingStructFr
4ec0: 65 65 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45  ee(PMIDL_STUB_ME
4ed0: 53 53 41 47 45 2c 75 62 79 74 65 2a 2c 50 46 4f  SSAGE,ubyte*,PFO
4ee0: 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a 76 6f  RMAT_STRING);.vo
4ef0: 69 64 20 20 4e 64 72 48 61 72 64 53 74 72 75 63  id  NdrHardStruc
4f00: 74 46 72 65 65 28 50 4d 49 44 4c 5f 53 54 55 42  tFree(PMIDL_STUB
4f10: 5f 4d 45 53 53 41 47 45 2c 75 62 79 74 65 2a 2c  _MESSAGE,ubyte*,
4f20: 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b  PFORMAT_STRING);
4f30: 0a 76 6f 69 64 20 20 4e 64 72 43 6f 6d 70 6c 65  .void  NdrComple
4f40: 78 53 74 72 75 63 74 46 72 65 65 28 50 4d 49 44  xStructFree(PMID
4f50: 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 75  L_STUB_MESSAGE,u
4f60: 62 79 74 65 2a 2c 50 46 4f 52 4d 41 54 5f 53 54  byte*,PFORMAT_ST
4f70: 52 49 4e 47 29 3b 0a 76 6f 69 64 20 20 4e 64 72  RING);.void  Ndr
4f80: 46 69 78 65 64 41 72 72 61 79 46 72 65 65 28 50  FixedArrayFree(P
4f90: 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47  MIDL_STUB_MESSAG
4fa0: 45 2c 75 62 79 74 65 2a 2c 50 46 4f 52 4d 41 54  E,ubyte*,PFORMAT
4fb0: 5f 53 54 52 49 4e 47 29 3b 0a 76 6f 69 64 20 20  _STRING);.void  
4fc0: 4e 64 72 43 6f 6e 66 6f 72 6d 61 6e 74 41 72 72  NdrConformantArr
4fd0: 61 79 46 72 65 65 28 50 4d 49 44 4c 5f 53 54 55  ayFree(PMIDL_STU
4fe0: 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74 65 2a  B_MESSAGE,ubyte*
4ff0: 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29  ,PFORMAT_STRING)
5000: 3b 0a 76 6f 69 64 20 20 4e 64 72 43 6f 6e 66 6f  ;.void  NdrConfo
5010: 72 6d 61 6e 74 56 61 72 79 69 6e 67 41 72 72 61  rmantVaryingArra
5020: 79 46 72 65 65 28 50 4d 49 44 4c 5f 53 54 55 42  yFree(PMIDL_STUB
5030: 5f 4d 45 53 53 41 47 45 2c 75 62 79 74 65 2a 2c  _MESSAGE,ubyte*,
5040: 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b  PFORMAT_STRING);
5050: 0a 76 6f 69 64 20 20 4e 64 72 56 61 72 79 69 6e  .void  NdrVaryin
5060: 67 41 72 72 61 79 46 72 65 65 28 50 4d 49 44 4c  gArrayFree(PMIDL
5070: 5f 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 75 62  _STUB_MESSAGE,ub
5080: 79 74 65 2a 2c 50 46 4f 52 4d 41 54 5f 53 54 52  yte*,PFORMAT_STR
5090: 49 4e 47 29 3b 0a 76 6f 69 64 20 20 4e 64 72 43  ING);.void  NdrC
50a0: 6f 6d 70 6c 65 78 41 72 72 61 79 46 72 65 65 28  omplexArrayFree(
50b0: 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41  PMIDL_STUB_MESSA
50c0: 47 45 2c 75 62 79 74 65 2a 2c 50 46 4f 52 4d 41  GE,ubyte*,PFORMA
50d0: 54 5f 53 54 52 49 4e 47 29 3b 0a 76 6f 69 64 20  T_STRING);.void 
50e0: 20 4e 64 72 45 6e 63 61 70 73 75 6c 61 74 65 64   NdrEncapsulated
50f0: 55 6e 69 6f 6e 46 72 65 65 28 50 4d 49 44 4c 5f  UnionFree(PMIDL_
5100: 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 75 62 79  STUB_MESSAGE,uby
5110: 74 65 2a 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49  te*,PFORMAT_STRI
5120: 4e 47 29 3b 0a 76 6f 69 64 20 20 4e 64 72 4e 6f  NG);.void  NdrNo
5130: 6e 45 6e 63 61 70 73 75 6c 61 74 65 64 55 6e 69  nEncapsulatedUni
5140: 6f 6e 46 72 65 65 28 50 4d 49 44 4c 5f 53 54 55  onFree(PMIDL_STU
5150: 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74 65 2a  B_MESSAGE,ubyte*
5160: 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29  ,PFORMAT_STRING)
5170: 3b 0a 76 6f 69 64 20 20 4e 64 72 42 79 74 65 43  ;.void  NdrByteC
5180: 6f 75 6e 74 50 6f 69 6e 74 65 72 46 72 65 65 28  ountPointerFree(
5190: 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41  PMIDL_STUB_MESSA
51a0: 47 45 2c 75 62 79 74 65 2a 2c 50 46 4f 52 4d 41  GE,ubyte*,PFORMA
51b0: 54 5f 53 54 52 49 4e 47 29 3b 0a 76 6f 69 64 20  T_STRING);.void 
51c0: 20 4e 64 72 58 6d 69 74 4f 72 52 65 70 41 73 46   NdrXmitOrRepAsF
51d0: 72 65 65 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d  ree(PMIDL_STUB_M
51e0: 45 53 53 41 47 45 2c 75 62 79 74 65 2a 2c 50 46  ESSAGE,ubyte*,PF
51f0: 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a 76  ORMAT_STRING);.v
5200: 6f 69 64 20 20 4e 64 72 49 6e 74 65 72 66 61 63  oid  NdrInterfac
5210: 65 50 6f 69 6e 74 65 72 46 72 65 65 28 50 4d 49  ePointerFree(PMI
5220: 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47 45 2c  DL_STUB_MESSAGE,
5230: 75 62 79 74 65 2a 2c 50 46 4f 52 4d 41 54 5f 53  ubyte*,PFORMAT_S
5240: 54 52 49 4e 47 29 3b 0a 76 6f 69 64 20 20 4e 64  TRING);.void  Nd
5250: 72 43 6f 6e 76 65 72 74 28 50 4d 49 44 4c 5f 53  rConvert(PMIDL_S
5260: 54 55 42 5f 4d 45 53 53 41 47 45 2c 50 46 4f 52  TUB_MESSAGE,PFOR
5270: 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a 76 6f 69  MAT_STRING);.voi
5280: 64 20 20 4e 64 72 43 6c 69 65 6e 74 49 6e 69 74  d  NdrClientInit
5290: 69 61 6c 69 7a 65 4e 65 77 28 50 52 50 43 5f 4d  ializeNew(PRPC_M
52a0: 45 53 53 41 47 45 2c 50 4d 49 44 4c 5f 53 54 55  ESSAGE,PMIDL_STU
52b0: 42 5f 4d 45 53 53 41 47 45 2c 50 4d 49 44 4c 5f  B_MESSAGE,PMIDL_
52c0: 53 54 55 42 5f 44 45 53 43 2c 75 69 6e 74 29 3b  STUB_DESC,uint);
52d0: 0a 75 62 79 74 65 20 2a 20 4e 64 72 53 65 72 76  .ubyte * NdrServ
52e0: 65 72 49 6e 69 74 69 61 6c 69 7a 65 4e 65 77 28  erInitializeNew(
52f0: 50 52 50 43 5f 4d 45 53 53 41 47 45 2c 50 4d 49  PRPC_MESSAGE,PMI
5300: 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47 45 2c  DL_STUB_MESSAGE,
5310: 50 4d 49 44 4c 5f 53 54 55 42 5f 44 45 53 43 29  PMIDL_STUB_DESC)
5320: 3b 0a 76 6f 69 64 20 20 4e 64 72 43 6c 69 65 6e  ;.void  NdrClien
5330: 74 49 6e 69 74 69 61 6c 69 7a 65 28 50 52 50 43  tInitialize(PRPC
5340: 5f 4d 45 53 53 41 47 45 2c 50 4d 49 44 4c 5f 53  _MESSAGE,PMIDL_S
5350: 54 55 42 5f 4d 45 53 53 41 47 45 2c 50 4d 49 44  TUB_MESSAGE,PMID
5360: 4c 5f 53 54 55 42 5f 44 45 53 43 2c 75 69 6e 74  L_STUB_DESC,uint
5370: 29 3b 0a 75 62 79 74 65 20 2a 20 4e 64 72 53 65  );.ubyte * NdrSe
5380: 72 76 65 72 49 6e 69 74 69 61 6c 69 7a 65 28 50  rverInitialize(P
5390: 52 50 43 5f 4d 45 53 53 41 47 45 2c 50 4d 49 44  RPC_MESSAGE,PMID
53a0: 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 50  L_STUB_MESSAGE,P
53b0: 4d 49 44 4c 5f 53 54 55 42 5f 44 45 53 43 29 3b  MIDL_STUB_DESC);
53c0: 0a 75 62 79 74 65 20 2a 20 4e 64 72 53 65 72 76  .ubyte * NdrServ
53d0: 65 72 49 6e 69 74 69 61 6c 69 7a 65 55 6e 6d 61  erInitializeUnma
53e0: 72 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53 54 55  rshall(PMIDL_STU
53f0: 42 5f 4d 45 53 53 41 47 45 2c 50 4d 49 44 4c 5f  B_MESSAGE,PMIDL_
5400: 53 54 55 42 5f 44 45 53 43 2c 50 52 50 43 5f 4d  STUB_DESC,PRPC_M
5410: 45 53 53 41 47 45 29 3b 0a 76 6f 69 64 20 20 4e  ESSAGE);.void  N
5420: 64 72 53 65 72 76 65 72 49 6e 69 74 69 61 6c 69  drServerInitiali
5430: 7a 65 4d 61 72 73 68 61 6c 6c 28 50 52 50 43 5f  zeMarshall(PRPC_
5440: 4d 45 53 53 41 47 45 2c 50 4d 49 44 4c 5f 53 54  MESSAGE,PMIDL_ST
5450: 55 42 5f 4d 45 53 53 41 47 45 29 3b 0a 75 62 79  UB_MESSAGE);.uby
5460: 74 65 20 2a 20 4e 64 72 47 65 74 42 75 66 66 65  te * NdrGetBuffe
5470: 72 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53  r(PMIDL_STUB_MES
5480: 53 41 47 45 2c 75 69 6e 74 2c 52 50 43 5f 42 49  SAGE,uint,RPC_BI
5490: 4e 44 49 4e 47 5f 48 41 4e 44 4c 45 29 3b 0a 75  NDING_HANDLE);.u
54a0: 62 79 74 65 20 2a 20 4e 64 72 4e 73 47 65 74 42  byte * NdrNsGetB
54b0: 75 66 66 65 72 28 50 4d 49 44 4c 5f 53 54 55 42  uffer(PMIDL_STUB
54c0: 5f 4d 45 53 53 41 47 45 2c 75 69 6e 74 2c 52 50  _MESSAGE,uint,RP
54d0: 43 5f 42 49 4e 44 49 4e 47 5f 48 41 4e 44 4c 45  C_BINDING_HANDLE
54e0: 29 3b 0a 75 62 79 74 65 20 2a 20 4e 64 72 53 65  );.ubyte * NdrSe
54f0: 6e 64 52 65 63 65 69 76 65 28 50 4d 49 44 4c 5f  ndReceive(PMIDL_
5500: 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 75 62 79  STUB_MESSAGE,uby
5510: 74 65 2a 29 3b 0a 75 62 79 74 65 20 2a 20 4e 64  te*);.ubyte * Nd
5520: 72 4e 73 53 65 6e 64 52 65 63 65 69 76 65 28 50  rNsSendReceive(P
5530: 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47  MIDL_STUB_MESSAG
5540: 45 2c 75 62 79 74 65 2a 2c 52 50 43 5f 42 49 4e  E,ubyte*,RPC_BIN
5550: 44 49 4e 47 5f 48 41 4e 44 4c 45 2a 29 3b 0a 76  DING_HANDLE*);.v
5560: 6f 69 64 20 20 4e 64 72 46 72 65 65 42 75 66 66  oid  NdrFreeBuff
5570: 65 72 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45  er(PMIDL_STUB_ME
5580: 53 53 41 47 45 29 3b 0a 0a 43 4c 49 45 4e 54 5f  SSAGE);..CLIENT_
5590: 43 41 4c 4c 5f 52 45 54 55 52 4e 20 20 4e 64 72  CALL_RETURN  Ndr
55a0: 43 6c 69 65 6e 74 43 61 6c 6c 28 50 4d 49 44 4c  ClientCall(PMIDL
55b0: 5f 53 54 55 42 5f 44 45 53 43 2c 50 46 4f 52 4d  _STUB_DESC,PFORM
55c0: 41 54 5f 53 54 52 49 4e 47 2c 2e 2e 2e 29 3b 0a  AT_STRING,...);.
55d0: 0a 69 6e 74 20 20 4e 64 72 53 74 75 62 43 61 6c  .int  NdrStubCal
55e0: 6c 28 49 52 70 63 53 74 75 62 42 75 66 66 65 72  l(IRpcStubBuffer
55f0: 2a 2c 20 49 52 70 63 43 68 61 6e 6e 65 6c 42 75  *, IRpcChannelBu
5600: 66 66 65 72 2a 2c 50 52 50 43 5f 4d 45 53 53 41  ffer*,PRPC_MESSA
5610: 47 45 2c 75 69 6e 74 2a 29 3b 0a 76 6f 69 64 20  GE,uint*);.void 
5620: 20 4e 64 72 53 65 72 76 65 72 43 61 6c 6c 28 50   NdrServerCall(P
5630: 52 50 43 5f 4d 45 53 53 41 47 45 29 3b 0a 69 6e  RPC_MESSAGE);.in
5640: 74 20 20 4e 64 72 53 65 72 76 65 72 55 6e 6d 61  t  NdrServerUnma
5650: 72 73 68 61 6c 6c 28 49 52 70 63 43 68 61 6e 6e  rshall(IRpcChann
5660: 65 6c 42 75 66 66 65 72 2a 2c 20 50 52 50 43 5f  elBuffer*, PRPC_
5670: 4d 45 53 53 41 47 45 2c 50 4d 49 44 4c 5f 53 54  MESSAGE,PMIDL_ST
5680: 55 42 5f 4d 45 53 53 41 47 45 2c 50 4d 49 44 4c  UB_MESSAGE,PMIDL
5690: 5f 53 54 55 42 5f 44 45 53 43 2c 50 46 4f 52 4d  _STUB_DESC,PFORM
56a0: 41 54 5f 53 54 52 49 4e 47 2c 76 6f 69 64 2a 29  AT_STRING,void*)
56b0: 3b 0a 76 6f 69 64 20 20 4e 64 72 53 65 72 76 65  ;.void  NdrServe
56c0: 72 4d 61 72 73 68 61 6c 6c 28 49 52 70 63 53 74  rMarshall(IRpcSt
56d0: 75 62 42 75 66 66 65 72 2a 2c 20 49 52 70 63 43  ubBuffer*, IRpcC
56e0: 68 61 6e 6e 65 6c 42 75 66 66 65 72 2a 2c 50 4d  hannelBuffer*,PM
56f0: 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47 45  IDL_STUB_MESSAGE
5700: 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29  ,PFORMAT_STRING)
5710: 3b 0a 52 50 43 5f 53 54 41 54 55 53 20 20 4e 64  ;.RPC_STATUS  Nd
5720: 72 4d 61 70 43 6f 6d 6d 41 6e 64 46 61 75 6c 74  rMapCommAndFault
5730: 53 74 61 74 75 73 28 50 4d 49 44 4c 5f 53 54 55  Status(PMIDL_STU
5740: 42 5f 4d 45 53 53 41 47 45 2c 75 69 6e 74 2a 2c  B_MESSAGE,uint*,
5750: 75 69 6e 74 2a 2c 52 50 43 5f 53 54 41 54 55 53  uint*,RPC_STATUS
5760: 29 3b 0a 69 6e 74 20 20 4e 64 72 53 48 5f 55 50  );.int  NdrSH_UP
5770: 44 65 63 69 73 69 6f 6e 28 50 4d 49 44 4c 5f 53  Decision(PMIDL_S
5780: 54 55 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74  TUB_MESSAGE,ubyt
5790: 65 2a 2a 2c 52 50 43 5f 42 55 46 50 54 52 29 3b  e**,RPC_BUFPTR);
57a0: 0a 69 6e 74 20 20 4e 64 72 53 48 5f 54 4c 55 50  .int  NdrSH_TLUP
57b0: 44 65 63 69 73 69 6f 6e 28 50 4d 49 44 4c 5f 53  Decision(PMIDL_S
57c0: 54 55 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74  TUB_MESSAGE,ubyt
57d0: 65 2a 2a 29 3b 0a 69 6e 74 20 20 4e 64 72 53 48  e**);.int  NdrSH
57e0: 5f 54 4c 55 50 44 65 63 69 73 69 6f 6e 42 75 66  _TLUPDecisionBuf
57f0: 66 65 72 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d  fer(PMIDL_STUB_M
5800: 45 53 53 41 47 45 2c 75 62 79 74 65 2a 2a 29 3b  ESSAGE,ubyte**);
5810: 0a 69 6e 74 20 20 4e 64 72 53 48 5f 49 66 41 6c  .int  NdrSH_IfAl
5820: 6c 6f 63 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d  loc(PMIDL_STUB_M
5830: 45 53 53 41 47 45 2c 75 62 79 74 65 2a 2a 2c 75  ESSAGE,ubyte**,u
5840: 69 6e 74 29 3b 0a 69 6e 74 20 20 4e 64 72 53 48  int);.int  NdrSH
5850: 5f 49 66 41 6c 6c 6f 63 52 65 66 28 50 4d 49 44  _IfAllocRef(PMID
5860: 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 75  L_STUB_MESSAGE,u
5870: 62 79 74 65 2a 2a 2c 75 69 6e 74 29 3b 0a 69 6e  byte**,uint);.in
5880: 74 20 20 4e 64 72 53 48 5f 49 66 41 6c 6c 6f 63  t  NdrSH_IfAlloc
5890: 53 65 74 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d  Set(PMIDL_STUB_M
58a0: 45 53 53 41 47 45 2c 75 62 79 74 65 2a 2a 2c 75  ESSAGE,ubyte**,u
58b0: 69 6e 74 29 3b 0a 52 50 43 5f 42 55 46 50 54 52  int);.RPC_BUFPTR
58c0: 20 20 4e 64 72 53 48 5f 49 66 43 6f 70 79 28 50    NdrSH_IfCopy(P
58d0: 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47  MIDL_STUB_MESSAG
58e0: 45 2c 75 62 79 74 65 2a 2a 2c 75 69 6e 74 29 3b  E,ubyte**,uint);
58f0: 0a 52 50 43 5f 42 55 46 50 54 52 20 20 4e 64 72  .RPC_BUFPTR  Ndr
5900: 53 48 5f 49 66 41 6c 6c 6f 63 43 6f 70 79 28 50  SH_IfAllocCopy(P
5910: 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47  MIDL_STUB_MESSAG
5920: 45 2c 75 62 79 74 65 2a 2a 2c 75 69 6e 74 29 3b  E,ubyte**,uint);
5930: 0a 75 69 6e 74 20 20 4e 64 72 53 48 5f 43 6f 70  .uint  NdrSH_Cop
5940: 79 28 75 62 79 74 65 2a 2c 75 62 79 74 65 2a 2c  y(ubyte*,ubyte*,
5950: 75 69 6e 74 29 3b 0a 76 6f 69 64 20 20 4e 64 72  uint);.void  Ndr
5960: 53 48 5f 49 66 46 72 65 65 28 50 4d 49 44 4c 5f  SH_IfFree(PMIDL_
5970: 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 75 62 79  STUB_MESSAGE,uby
5980: 74 65 2a 29 3b 0a 52 50 43 5f 42 55 46 50 54 52  te*);.RPC_BUFPTR
5990: 20 20 4e 64 72 53 48 5f 53 74 72 69 6e 67 4d 61    NdrSH_StringMa
59a0: 72 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53 54 55  rshall(PMIDL_STU
59b0: 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74 65 2a  B_MESSAGE,ubyte*
59c0: 2c 75 69 6e 74 2c 69 6e 74 29 3b 0a 52 50 43 5f  ,uint,int);.RPC_
59d0: 42 55 46 50 54 52 20 20 4e 64 72 53 48 5f 53 74  BUFPTR  NdrSH_St
59e0: 72 69 6e 67 55 6e 4d 61 72 73 68 61 6c 6c 28 50  ringUnMarshall(P
59f0: 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47  MIDL_STUB_MESSAG
5a00: 45 2c 75 62 79 74 65 2a 2a 2c 69 6e 74 29 3b 0a  E,ubyte**,int);.
5a10: 76 6f 69 64 2a 20 52 70 63 53 73 41 6c 6c 6f 63  void* RpcSsAlloc
5a20: 61 74 65 28 75 69 6e 74 29 3b 0a 76 6f 69 64 20  ate(uint);.void 
5a30: 20 52 70 63 53 73 44 69 73 61 62 6c 65 41 6c 6c   RpcSsDisableAll
5a40: 6f 63 61 74 65 28 29 3b 0a 76 6f 69 64 20 20 52  ocate();.void  R
5a50: 70 63 53 73 45 6e 61 62 6c 65 41 6c 6c 6f 63 61  pcSsEnableAlloca
5a60: 74 65 28 29 3b 0a 76 6f 69 64 20 20 52 70 63 53  te();.void  RpcS
5a70: 73 46 72 65 65 28 76 6f 69 64 2a 29 3b 0a 52 50  sFree(void*);.RP
5a80: 43 5f 53 53 5f 54 48 52 45 41 44 5f 48 41 4e 44  C_SS_THREAD_HAND
5a90: 4c 45 20 20 52 70 63 53 73 47 65 74 54 68 72 65  LE  RpcSsGetThre
5aa0: 61 64 48 61 6e 64 6c 65 28 29 3b 0a 76 6f 69 64  adHandle();.void
5ab0: 20 20 52 70 63 53 73 53 65 74 43 6c 69 65 6e 74    RpcSsSetClient
5ac0: 41 6c 6c 6f 63 46 72 65 65 28 50 52 50 43 5f 43  AllocFree(PRPC_C
5ad0: 4c 49 45 4e 54 5f 41 4c 4c 4f 43 2c 50 52 50 43  LIENT_ALLOC,PRPC
5ae0: 5f 43 4c 49 45 4e 54 5f 46 52 45 45 29 3b 0a 76  _CLIENT_FREE);.v
5af0: 6f 69 64 20 20 52 70 63 53 73 53 65 74 54 68 72  oid  RpcSsSetThr
5b00: 65 61 64 48 61 6e 64 6c 65 28 52 50 43 5f 53 53  eadHandle(RPC_SS
5b10: 5f 54 48 52 45 41 44 5f 48 41 4e 44 4c 45 29 3b  _THREAD_HANDLE);
5b20: 0a 76 6f 69 64 20 20 52 70 63 53 73 53 77 61 70  .void  RpcSsSwap
5b30: 43 6c 69 65 6e 74 41 6c 6c 6f 63 46 72 65 65 28  ClientAllocFree(
5b40: 50 52 50 43 5f 43 4c 49 45 4e 54 5f 41 4c 4c 4f  PRPC_CLIENT_ALLO
5b50: 43 2c 50 52 50 43 5f 43 4c 49 45 4e 54 5f 46 52  C,PRPC_CLIENT_FR
5b60: 45 45 2c 50 52 50 43 5f 43 4c 49 45 4e 54 5f 41  EE,PRPC_CLIENT_A
5b70: 4c 4c 4f 43 2a 2c 50 52 50 43 5f 43 4c 49 45 4e  LLOC*,PRPC_CLIEN
5b80: 54 5f 46 52 45 45 2a 29 3b 0a 76 6f 69 64 2a 20  T_FREE*);.void* 
5b90: 52 70 63 53 6d 41 6c 6c 6f 63 61 74 65 28 75 69  RpcSmAllocate(ui
5ba0: 6e 74 2c 52 50 43 5f 53 54 41 54 55 53 2a 29 3b  nt,RPC_STATUS*);
5bb0: 0a 52 50 43 5f 53 54 41 54 55 53 20 20 52 70 63  .RPC_STATUS  Rpc
5bc0: 53 6d 43 6c 69 65 6e 74 46 72 65 65 28 76 6f 69  SmClientFree(voi
5bd0: 64 2a 29 3b 0a 52 50 43 5f 53 54 41 54 55 53 20  d*);.RPC_STATUS 
5be0: 20 52 70 63 53 6d 44 65 73 74 72 6f 79 43 6c 69   RpcSmDestroyCli
5bf0: 65 6e 74 43 6f 6e 74 65 78 74 28 76 6f 69 64 2a  entContext(void*
5c00: 2a 29 3b 0a 52 50 43 5f 53 54 41 54 55 53 20 20  *);.RPC_STATUS  
5c10: 52 70 63 53 6d 44 69 73 61 62 6c 65 41 6c 6c 6f  RpcSmDisableAllo
5c20: 63 61 74 65 28 29 3b 0a 52 50 43 5f 53 54 41 54  cate();.RPC_STAT
5c30: 55 53 20 20 52 70 63 53 6d 45 6e 61 62 6c 65 41  US  RpcSmEnableA
5c40: 6c 6c 6f 63 61 74 65 28 29 3b 0a 52 50 43 5f 53  llocate();.RPC_S
5c50: 54 41 54 55 53 20 20 52 70 63 53 6d 46 72 65 65  TATUS  RpcSmFree
5c60: 28 76 6f 69 64 2a 29 3b 0a 52 50 43 5f 53 53 5f  (void*);.RPC_SS_
5c70: 54 48 52 45 41 44 5f 48 41 4e 44 4c 45 20 20 52  THREAD_HANDLE  R
5c80: 70 63 53 6d 47 65 74 54 68 72 65 61 64 48 61 6e  pcSmGetThreadHan
5c90: 64 6c 65 28 52 50 43 5f 53 54 41 54 55 53 2a 29  dle(RPC_STATUS*)
5ca0: 3b 0a 52 50 43 5f 53 54 41 54 55 53 20 20 52 70  ;.RPC_STATUS  Rp
5cb0: 63 53 6d 53 65 74 43 6c 69 65 6e 74 41 6c 6c 6f  cSmSetClientAllo
5cc0: 63 46 72 65 65 28 50 52 50 43 5f 43 4c 49 45 4e  cFree(PRPC_CLIEN
5cd0: 54 5f 41 4c 4c 4f 43 2c 50 52 50 43 5f 43 4c 49  T_ALLOC,PRPC_CLI
5ce0: 45 4e 54 5f 46 52 45 45 29 3b 0a 52 50 43 5f 53  ENT_FREE);.RPC_S
5cf0: 54 41 54 55 53 20 20 52 70 63 53 6d 53 65 74 54  TATUS  RpcSmSetT
5d00: 68 72 65 61 64 48 61 6e 64 6c 65 28 52 50 43 5f  hreadHandle(RPC_
5d10: 53 53 5f 54 48 52 45 41 44 5f 48 41 4e 44 4c 45  SS_THREAD_HANDLE
5d20: 29 3b 0a 52 50 43 5f 53 54 41 54 55 53 20 20 52  );.RPC_STATUS  R
5d30: 70 63 53 6d 53 77 61 70 43 6c 69 65 6e 74 41 6c  pcSmSwapClientAl
5d40: 6c 6f 63 46 72 65 65 28 50 52 50 43 5f 43 4c 49  locFree(PRPC_CLI
5d50: 45 4e 54 5f 41 4c 4c 4f 43 2c 50 52 50 43 5f 43  ENT_ALLOC,PRPC_C
5d60: 4c 49 45 4e 54 5f 46 52 45 45 2c 50 52 50 43 5f  LIENT_FREE,PRPC_
5d70: 43 4c 49 45 4e 54 5f 41 4c 4c 4f 43 2a 2c 50 52  CLIENT_ALLOC*,PR
5d80: 50 43 5f 43 4c 49 45 4e 54 5f 46 52 45 45 2a 29  PC_CLIENT_FREE*)
5d90: 3b 0a 76 6f 69 64 20 20 4e 64 72 52 70 63 53 73  ;.void  NdrRpcSs
5da0: 45 6e 61 62 6c 65 41 6c 6c 6f 63 61 74 65 28 50  EnableAllocate(P
5db0: 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47  MIDL_STUB_MESSAG
5dc0: 45 29 3b 0a 76 6f 69 64 20 20 4e 64 72 52 70 63  E);.void  NdrRpc
5dd0: 53 73 44 69 73 61 62 6c 65 41 6c 6c 6f 63 61 74  SsDisableAllocat
5de0: 65 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53  e(PMIDL_STUB_MES
5df0: 53 41 47 45 29 3b 0a 76 6f 69 64 20 20 4e 64 72  SAGE);.void  Ndr
5e00: 52 70 63 53 6d 53 65 74 43 6c 69 65 6e 74 54 6f  RpcSmSetClientTo
5e10: 4f 73 66 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d  Osf(PMIDL_STUB_M
5e20: 45 53 53 41 47 45 29 3b 0a 76 6f 69 64 2a 20 4e  ESSAGE);.void* N
5e30: 64 72 52 70 63 53 6d 43 6c 69 65 6e 74 41 6c 6c  drRpcSmClientAll
5e40: 6f 63 61 74 65 28 75 69 6e 74 29 3b 0a 76 6f 69  ocate(uint);.voi
5e50: 64 20 20 4e 64 72 52 70 63 53 6d 43 6c 69 65 6e  d  NdrRpcSmClien
5e60: 74 46 72 65 65 28 76 6f 69 64 2a 29 3b 0a 76 6f  tFree(void*);.vo
5e70: 69 64 2a 20 4e 64 72 52 70 63 53 73 44 65 66 61  id* NdrRpcSsDefa
5e80: 75 6c 74 41 6c 6c 6f 63 61 74 65 28 75 69 6e 74  ultAllocate(uint
5e90: 29 3b 0a 76 6f 69 64 20 20 4e 64 72 52 70 63 53  );.void  NdrRpcS
5ea0: 73 44 65 66 61 75 6c 74 46 72 65 65 28 76 6f 69  sDefaultFree(voi
5eb0: 64 2a 29 3b 0a 50 46 55 4c 4c 5f 50 54 52 5f 58  d*);.PFULL_PTR_X
5ec0: 4c 41 54 5f 54 41 42 4c 45 53 20 20 4e 64 72 46  LAT_TABLES  NdrF
5ed0: 75 6c 6c 50 6f 69 6e 74 65 72 58 6c 61 74 49 6e  ullPointerXlatIn
5ee0: 69 74 28 75 69 6e 74 2c 58 4c 41 54 5f 53 49 44  it(uint,XLAT_SID
5ef0: 45 29 3b 0a 76 6f 69 64 20 20 4e 64 72 46 75 6c  E);.void  NdrFul
5f00: 6c 50 6f 69 6e 74 65 72 58 6c 61 74 46 72 65 65  lPointerXlatFree
5f10: 28 50 46 55 4c 4c 5f 50 54 52 5f 58 4c 41 54 5f  (PFULL_PTR_XLAT_
5f20: 54 41 42 4c 45 53 29 3b 0a 69 6e 74 20 20 4e 64  TABLES);.int  Nd
5f30: 72 46 75 6c 6c 50 6f 69 6e 74 65 72 51 75 65 72  rFullPointerQuer
5f40: 79 50 6f 69 6e 74 65 72 28 50 46 55 4c 4c 5f 50  yPointer(PFULL_P
5f50: 54 52 5f 58 4c 41 54 5f 54 41 42 4c 45 53 2c 76  TR_XLAT_TABLES,v
5f60: 6f 69 64 2a 2c 75 62 79 74 65 2c 75 69 6e 74 2a  oid*,ubyte,uint*
5f70: 29 3b 0a 69 6e 74 20 20 4e 64 72 46 75 6c 6c 50  );.int  NdrFullP
5f80: 6f 69 6e 74 65 72 51 75 65 72 79 52 65 66 49 64  ointerQueryRefId
5f90: 28 50 46 55 4c 4c 5f 50 54 52 5f 58 4c 41 54 5f  (PFULL_PTR_XLAT_
5fa0: 54 41 42 4c 45 53 2c 75 69 6e 74 2c 75 62 79 74  TABLES,uint,ubyt
5fb0: 65 2c 76 6f 69 64 2a 2a 29 3b 0a 76 6f 69 64 20  e,void**);.void 
5fc0: 20 4e 64 72 46 75 6c 6c 50 6f 69 6e 74 65 72 49   NdrFullPointerI
5fd0: 6e 73 65 72 74 52 65 66 49 64 28 50 46 55 4c 4c  nsertRefId(PFULL
5fe0: 5f 50 54 52 5f 58 4c 41 54 5f 54 41 42 4c 45 53  _PTR_XLAT_TABLES
5ff0: 2c 75 69 6e 74 2c 76 6f 69 64 2a 29 3b 0a 69 6e  ,uint,void*);.in
6000: 74 20 20 4e 64 72 46 75 6c 6c 50 6f 69 6e 74 65  t  NdrFullPointe
6010: 72 46 72 65 65 28 50 46 55 4c 4c 5f 50 54 52 5f  rFree(PFULL_PTR_
6020: 58 4c 41 54 5f 54 41 42 4c 45 53 2c 76 6f 69 64  XLAT_TABLES,void
6030: 2a 29 3b 0a 76 6f 69 64 2a 20 4e 64 72 41 6c 6c  *);.void* NdrAll
6040: 6f 63 61 74 65 28 50 4d 49 44 4c 5f 53 54 55 42  ocate(PMIDL_STUB
6050: 5f 4d 45 53 53 41 47 45 2c 75 69 6e 74 29 3b 0a  _MESSAGE,uint);.
6060: 76 6f 69 64 20 20 4e 64 72 43 6c 65 61 72 4f 75  void  NdrClearOu
6070: 74 50 61 72 61 6d 65 74 65 72 73 28 50 4d 49 44  tParameters(PMID
6080: 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 50  L_STUB_MESSAGE,P
6090: 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 2c 76 6f  FORMAT_STRING,vo
60a0: 69 64 2a 29 3b 0a 76 6f 69 64 2a 20 4e 64 72 4f  id*);.void* NdrO
60b0: 6c 65 41 6c 6c 6f 63 61 74 65 28 75 69 6e 74 29  leAllocate(uint)
60c0: 3b 0a 76 6f 69 64 20 20 4e 64 72 4f 6c 65 46 72  ;.void  NdrOleFr
60d0: 65 65 28 76 6f 69 64 2a 29 3b 0a 75 62 79 74 65  ee(void*);.ubyte
60e0: 2a 20 4e 64 72 55 73 65 72 4d 61 72 73 68 61 6c  * NdrUserMarshal
60f0: 4d 61 72 73 68 61 6c 6c 28 50 4d 49 44 4c 5f 53  Marshall(PMIDL_S
6100: 54 55 42 5f 4d 45 53 53 41 47 45 2c 75 62 79 74  TUB_MESSAGE,ubyt
6110: 65 2a 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e  e*,PFORMAT_STRIN
6120: 47 29 3b 0a 75 62 79 74 65 2a 20 4e 64 72 55 73  G);.ubyte* NdrUs
6130: 65 72 4d 61 72 73 68 61 6c 55 6e 6d 61 72 73 68  erMarshalUnmarsh
6140: 61 6c 6c 28 50 4d 49 44 4c 5f 53 54 55 42 5f 4d  all(PMIDL_STUB_M
6150: 45 53 53 41 47 45 2c 75 62 79 74 65 2a 2a 2c 50  ESSAGE,ubyte**,P
6160: 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 2c 75 62  FORMAT_STRING,ub
6170: 79 74 65 29 3b 0a 76 6f 69 64 20 20 4e 64 72 55  yte);.void  NdrU
6180: 73 65 72 4d 61 72 73 68 61 6c 42 75 66 66 65 72  serMarshalBuffer
6190: 53 69 7a 65 28 50 4d 49 44 4c 5f 53 54 55 42 5f  Size(PMIDL_STUB_
61a0: 4d 45 53 53 41 47 45 2c 75 62 79 74 65 2a 2c 50  MESSAGE,ubyte*,P
61b0: 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47 29 3b 0a  FORMAT_STRING);.
61c0: 75 69 6e 74 20 20 4e 64 72 55 73 65 72 4d 61 72  uint  NdrUserMar
61d0: 73 68 61 6c 4d 65 6d 6f 72 79 53 69 7a 65 28 50  shalMemorySize(P
61e0: 4d 49 44 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47  MIDL_STUB_MESSAG
61f0: 45 2c 50 46 4f 52 4d 41 54 5f 53 54 52 49 4e 47  E,PFORMAT_STRING
6200: 29 3b 0a 76 6f 69 64 20 20 4e 64 72 55 73 65 72  );.void  NdrUser
6210: 4d 61 72 73 68 61 6c 46 72 65 65 28 50 4d 49 44  MarshalFree(PMID
6220: 4c 5f 53 54 55 42 5f 4d 45 53 53 41 47 45 2c 75  L_STUB_MESSAGE,u
6230: 62 79 74 65 2a 2c 50 46 4f 52 4d 41 54 5f 53 54  byte*,PFORMAT_ST
6240: 52 49 4e 47 29 3b 0a                             RING);.