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);.