Hex Artifact Content

Not logged in

Artifact 13d7798ff7743b2f361cb2b3626f8f56358ac361:


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 0d 0a 2a 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 20 20 72 70 63 64              rpcd
0070: 63 65 2e 64 20 20 20 20 20 20 20 20 20 20 20 20  ce.d            
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 20 2a 0d 0a 2a 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 20 20 2a 0d                *.
00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .*              
00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73           Windows
0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75   API header modu
0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20  le              
0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 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: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20      *..*        
0180: 20 20 20 20 20 20 20 20 20 54 72 61 6e 73 6c 61           Transla
0190: 74 65 64 20 66 72 6f 6d 20 4d 69 6e 47 57 20 57  ted from MinGW W
01a0: 69 6e 64 6f 77 73 20 68 65 61 64 65 72 73 20 20  indows headers  
01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a                 *
01c0: 0d 0a 2a 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 20 20 20 20 20 20 2a 0d 0a 2a 20 20            *..*  
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0220: 20 20 20 20 20 50 6c 61 63 65 64 20 69 6e 74 6f       Placed into
0230: 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 20 20   public domain  
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0250: 20 20 20 20 20 2a 0d 0a 5c 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 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02a0: 2f 0d 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e  /..module win32.
02b0: 72 70 63 64 63 65 3b 0d 0a 70 72 61 67 6d 61 28  rpcdce;..pragma(
02c0: 6c 69 62 2c 20 22 52 70 63 72 74 34 22 29 3b 0d  lib, "Rpcrt4");.
02d0: 0a 0d 0a 2f 2f 20 54 4f 44 4f 3a 20 49 20 74 68  ...// TODO: I th
02e0: 69 6e 6b 20 4d 69 6e 47 57 20 67 6f 74 20 74 68  ink MinGW got th
02f0: 69 73 20 77 72 6f 6e 67 2e 20 52 50 43 5f 55 4e  is wrong. RPC_UN
0300: 49 43 4f 44 45 5f 53 55 50 50 4f 52 54 45 44 20  ICODE_SUPPORTED 
0310: 73 68 6f 75 6c 64 20 62 65 0d 0a 2f 2f 20 72 65  should be..// re
0320: 70 6c 61 63 65 64 20 61 6c 69 61 73 65 73 20 66  placed aliases f
0330: 6f 72 20 76 65 72 73 69 6f 6e 28 55 6e 69 63 6f  or version(Unico
0340: 64 65 29 0d 0a 0d 0a 70 75 62 6c 69 63 20 69 6d  de)....public im
0350: 70 6f 72 74 20 77 69 6e 33 32 2e 72 70 63 64 63  port win32.rpcdc
0360: 65 70 3b 0d 0a 70 72 69 76 61 74 65 20 69 6d 70  ep;..private imp
0370: 6f 72 74 20 77 69 6e 33 32 2e 62 61 73 65 74 79  ort win32.basety
0380: 70 73 2c 20 77 69 6e 33 32 2e 77 33 32 61 70 69  ps, win32.w32api
0390: 2c 20 77 69 6e 33 32 2e 77 69 6e 64 65 66 3b 0d  , win32.windef;.
03a0: 0a 0d 0a 2f 2f 20 46 49 58 4d 45 3a 20 63 6c 65  ...// FIXME: cle
03b0: 61 6e 20 75 70 20 57 69 6e 64 6f 77 73 20 76 65  an up Windows ve
03c0: 72 73 69 6f 6e 20 73 75 70 70 6f 72 74 0d 0a 0d  rsion support...
03d0: 0a 61 6c 69 61 73 20 55 55 49 44 20 75 75 69 64  .alias UUID uuid
03e0: 5f 74 3b 0d 0a 61 6c 69 61 73 20 55 55 49 44 5f  _t;..alias UUID_
03f0: 56 45 43 54 4f 52 20 75 75 69 64 5f 76 65 63 74  VECTOR uuid_vect
0400: 6f 72 5f 74 3b 0d 0a 61 6c 69 61 73 20 76 6f 69  or_t;..alias voi
0410: 64 20 52 50 43 5f 4d 47 52 5f 45 50 56 3b 0d 0a  d RPC_MGR_EPV;..
0420: 0d 0a 2f 2f 20 66 6f 72 20 52 70 63 4d 67 6d 74  ..// for RpcMgmt
0430: 53 65 74 43 6f 6d 54 69 6d 65 6f 75 74 28 29 0d  SetComTimeout().
0440: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 0d 0a  .enum : uint {..
0450: 09 52 50 43 5f 43 5f 42 49 4e 44 49 4e 47 5f 4d  .RPC_C_BINDING_M
0460: 49 4e 5f 54 49 4d 45 4f 55 54 20 20 20 20 20 20  IN_TIMEOUT      
0470: 3d 20 30 2c 0d 0a 09 52 50 43 5f 43 5f 42 49 4e  = 0,...RPC_C_BIN
0480: 44 49 4e 47 5f 44 45 46 41 55 4c 54 5f 54 49 4d  DING_DEFAULT_TIM
0490: 45 4f 55 54 20 20 3d 20 35 2c 0d 0a 09 52 50 43  EOUT  = 5,...RPC
04a0: 5f 43 5f 42 49 4e 44 49 4e 47 5f 4d 41 58 5f 54  _C_BINDING_MAX_T
04b0: 49 4d 45 4f 55 54 20 20 20 20 20 20 3d 20 39 2c  IMEOUT      = 9,
04c0: 0d 0a 09 52 50 43 5f 43 5f 42 49 4e 44 49 4e 47  ...RPC_C_BINDING
04d0: 5f 49 4e 46 49 4e 49 54 45 5f 54 49 4d 45 4f 55  _INFINITE_TIMEOU
04e0: 54 20 3d 20 31 30 0d 0a 7d 0d 0a 0d 0a 63 6f 6e  T = 10..}....con
04f0: 73 74 20 52 50 43 5f 43 5f 43 41 4e 43 45 4c 5f  st RPC_C_CANCEL_
0500: 49 4e 46 49 4e 49 54 45 5f 54 49 4d 45 4f 55 54  INFINITE_TIMEOUT
0510: 3d 20 2d 31 3b 0d 0a 63 6f 6e 73 74 20 52 50 43  = -1;..const RPC
0520: 5f 43 5f 4c 49 53 54 45 4e 5f 4d 41 58 5f 43 41  _C_LISTEN_MAX_CA
0530: 4c 4c 53 5f 44 45 46 41 55 4c 54 3d 31 32 33 34  LLS_DEFAULT=1234
0540: 3b 0d 0a 63 6f 6e 73 74 20 52 50 43 5f 43 5f 50  ;..const RPC_C_P
0550: 52 4f 54 53 45 51 5f 4d 41 58 5f 52 45 51 53 5f  ROTSEQ_MAX_REQS_
0560: 44 45 46 41 55 4c 54 3d 31 30 3b 0d 0a 63 6f 6e  DEFAULT=10;..con
0570: 73 74 20 52 50 43 5f 43 5f 42 49 4e 44 5f 54 4f  st RPC_C_BIND_TO
0580: 5f 41 4c 4c 5f 4e 49 43 53 3d 31 3b 0d 0a 63 6f  _ALL_NICS=1;..co
0590: 6e 73 74 20 52 50 43 5f 43 5f 55 53 45 5f 49 4e  nst RPC_C_USE_IN
05a0: 54 45 52 4e 45 54 5f 50 4f 52 54 3d 31 3b 0d 0a  TERNET_PORT=1;..
05b0: 63 6f 6e 73 74 20 52 50 43 5f 43 5f 55 53 45 5f  const RPC_C_USE_
05c0: 49 4e 54 52 41 4e 45 54 5f 50 4f 52 54 3d 32 3b  INTRANET_PORT=2;
05d0: 0d 0a 0d 0a 2f 2f 20 66 6f 72 20 52 50 43 5f 53  ....// for RPC_S
05e0: 54 41 54 53 5f 56 45 43 54 4f 52 2c 20 75 73 65  TATS_VECTOR, use
05f0: 64 20 62 79 20 52 70 63 4d 67 6d 79 49 6e 71 53  d by RpcMgmyInqS
0600: 74 61 74 73 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  tats..enum : uin
0610: 74 20 7b 0d 0a 09 52 50 43 5f 43 5f 53 54 41 54  t {...RPC_C_STAT
0620: 53 5f 43 41 4c 4c 53 5f 49 4e 20 20 3d 20 30 2c  S_CALLS_IN  = 0,
0630: 0d 0a 09 52 50 43 5f 43 5f 53 54 41 54 53 5f 43  ...RPC_C_STATS_C
0640: 41 4c 4c 53 5f 4f 55 54 2c 0d 0a 09 52 50 43 5f  ALLS_OUT,...RPC_
0650: 43 5f 53 54 41 54 53 5f 50 4b 54 53 5f 49 4e 2c  C_STATS_PKTS_IN,
0660: 0d 0a 09 52 50 43 5f 43 5f 53 54 41 54 53 5f 50  ...RPC_C_STATS_P
0670: 4b 54 53 5f 4f 55 54 0d 0a 7d 0d 0a 0d 0a 63 6f  KTS_OUT..}....co
0680: 6e 73 74 20 52 50 43 5f 49 46 5f 41 55 54 4f 4c  nst RPC_IF_AUTOL
0690: 49 53 54 45 4e 3d 30 78 30 30 30 31 3b 0d 0a 63  ISTEN=0x0001;..c
06a0: 6f 6e 73 74 20 52 50 43 5f 49 46 5f 4f 4c 45 3d  onst RPC_IF_OLE=
06b0: 32 3b 0d 0a 63 6f 6e 73 74 20 52 50 43 5f 43 5f  2;..const RPC_C_
06c0: 4d 47 4d 54 5f 49 4e 51 5f 49 46 5f 49 44 53 3d  MGMT_INQ_IF_IDS=
06d0: 30 3b 0d 0a 63 6f 6e 73 74 20 52 50 43 5f 43 5f  0;..const RPC_C_
06e0: 4d 47 4d 54 5f 49 4e 51 5f 50 52 49 4e 43 5f 4e  MGMT_INQ_PRINC_N
06f0: 41 4d 45 3d 31 3b 0d 0a 63 6f 6e 73 74 20 52 50  AME=1;..const RP
0700: 43 5f 43 5f 4d 47 4d 54 5f 49 4e 51 5f 53 54 41  C_C_MGMT_INQ_STA
0710: 54 53 3d 32 3b 0d 0a 63 6f 6e 73 74 20 52 50 43  TS=2;..const RPC
0720: 5f 43 5f 4d 47 4d 54 5f 49 53 5f 53 45 52 56 45  _C_MGMT_IS_SERVE
0730: 52 5f 4c 49 53 54 45 4e 3d 33 3b 0d 0a 63 6f 6e  R_LISTEN=3;..con
0740: 73 74 20 52 50 43 5f 43 5f 4d 47 4d 54 5f 53 54  st RPC_C_MGMT_ST
0750: 4f 50 5f 53 45 52 56 45 52 5f 4c 49 53 54 45 4e  OP_SERVER_LISTEN
0760: 3d 34 3b 0d 0a 0d 0a 2f 2f 20 49 6e 71 75 69 72  =4;....// Inquir
0770: 79 20 54 79 70 65 20 66 6f 72 20 52 70 63 4d 67  y Type for RpcMg
0780: 6d 74 45 70 45 6c 74 49 6e 71 42 65 67 69 6e 28  mtEpEltInqBegin(
0790: 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
07a0: 0d 0a 09 52 50 43 5f 43 5f 45 50 5f 41 4c 4c 5f  ...RPC_C_EP_ALL_
07b0: 45 4c 54 53 20 3d 20 30 2c 0d 0a 09 52 50 43 5f  ELTS = 0,...RPC_
07c0: 43 5f 45 50 5f 4d 41 54 43 48 5f 42 59 5f 49 46  C_EP_MATCH_BY_IF
07d0: 2c 0d 0a 09 52 50 43 5f 43 5f 45 50 5f 4d 41 54  ,...RPC_C_EP_MAT
07e0: 43 48 5f 42 59 5f 4f 42 4a 2c 0d 0a 09 52 50 43  CH_BY_OBJ,...RPC
07f0: 5f 43 5f 45 50 5f 4d 41 54 43 48 5f 42 59 5f 42  _C_EP_MATCH_BY_B
0800: 4f 54 48 0d 0a 7d 0d 0a 0d 0a 2f 2f 20 66 6f 72  OTH..}....// for
0810: 20 52 70 63 4d 67 6d 74 45 70 45 6c 74 49 6e 71   RpcMgmtEpEltInq
0820: 4e 65 78 74 28 29 0d 0a 65 6e 75 6d 20 3a 20 75  Next()..enum : u
0830: 69 6e 74 20 7b 0d 0a 09 52 50 43 5f 43 5f 56 45  int {...RPC_C_VE
0840: 52 53 5f 41 4c 4c 20 3d 20 31 2c 0d 0a 09 52 50  RS_ALL = 1,...RP
0850: 43 5f 43 5f 56 45 52 53 5f 43 4f 4d 50 41 54 49  C_C_VERS_COMPATI
0860: 42 4c 45 2c 0d 0a 09 52 50 43 5f 43 5f 56 45 52  BLE,...RPC_C_VER
0870: 53 5f 45 58 41 43 54 2c 0d 0a 09 52 50 43 5f 43  S_EXACT,...RPC_C
0880: 5f 56 45 52 53 5f 4d 41 4a 4f 52 5f 4f 4e 4c 59  _VERS_MAJOR_ONLY
0890: 2c 0d 0a 09 52 50 43 5f 43 5f 56 45 52 53 5f 55  ,...RPC_C_VERS_U
08a0: 50 54 4f 0d 0a 7d 0d 0a 0d 0a 63 6f 6e 73 74 20  PTO..}....const 
08b0: 44 43 45 5f 43 5f 45 52 52 4f 52 5f 53 54 52 49  DCE_C_ERROR_STRI
08c0: 4e 47 5f 4c 45 4e 3d 32 35 36 3b 0d 0a 63 6f 6e  NG_LEN=256;..con
08d0: 73 74 20 52 50 43 5f 43 5f 50 41 52 4d 5f 4d 41  st RPC_C_PARM_MA
08e0: 58 5f 50 41 43 4b 45 54 5f 4c 45 4e 47 54 48 3d  X_PACKET_LENGTH=
08f0: 31 3b 0d 0a 63 6f 6e 73 74 20 52 50 43 5f 43 5f  1;..const RPC_C_
0900: 50 41 52 4d 5f 42 55 46 46 45 52 5f 4c 45 4e 47  PARM_BUFFER_LENG
0910: 54 48 3d 32 3b 0d 0a 63 6f 6e 73 74 20 52 50 43  TH=2;..const RPC
0920: 5f 43 5f 41 55 54 48 4e 5f 4c 45 56 45 4c 5f 44  _C_AUTHN_LEVEL_D
0930: 45 46 41 55 4c 54 3d 30 3b 0d 0a 63 6f 6e 73 74  EFAULT=0;..const
0940: 20 52 50 43 5f 43 5f 41 55 54 48 4e 5f 4c 45 56   RPC_C_AUTHN_LEV
0950: 45 4c 5f 4e 4f 4e 45 3d 31 3b 0d 0a 63 6f 6e 73  EL_NONE=1;..cons
0960: 74 20 52 50 43 5f 43 5f 41 55 54 48 4e 5f 4c 45  t RPC_C_AUTHN_LE
0970: 56 45 4c 5f 43 4f 4e 4e 45 43 54 3d 32 3b 0d 0a  VEL_CONNECT=2;..
0980: 63 6f 6e 73 74 20 52 50 43 5f 43 5f 41 55 54 48  const RPC_C_AUTH
0990: 4e 5f 4c 45 56 45 4c 5f 43 41 4c 4c 3d 33 3b 0d  N_LEVEL_CALL=3;.
09a0: 0a 63 6f 6e 73 74 20 52 50 43 5f 43 5f 41 55 54  .const RPC_C_AUT
09b0: 48 4e 5f 4c 45 56 45 4c 5f 50 4b 54 3d 34 3b 0d  HN_LEVEL_PKT=4;.
09c0: 0a 63 6f 6e 73 74 20 52 50 43 5f 43 5f 41 55 54  .const RPC_C_AUT
09d0: 48 4e 5f 4c 45 56 45 4c 5f 50 4b 54 5f 49 4e 54  HN_LEVEL_PKT_INT
09e0: 45 47 52 49 54 59 3d 35 3b 0d 0a 63 6f 6e 73 74  EGRITY=5;..const
09f0: 20 52 50 43 5f 43 5f 41 55 54 48 4e 5f 4c 45 56   RPC_C_AUTHN_LEV
0a00: 45 4c 5f 50 4b 54 5f 50 52 49 56 41 43 59 3d 36  EL_PKT_PRIVACY=6
0a10: 3b 0d 0a 63 6f 6e 73 74 20 52 50 43 5f 43 5f 49  ;..const RPC_C_I
0a20: 4d 50 5f 4c 45 56 45 4c 5f 41 4e 4f 4e 59 4d 4f  MP_LEVEL_ANONYMO
0a30: 55 53 3d 31 3b 0d 0a 63 6f 6e 73 74 20 52 50 43  US=1;..const RPC
0a40: 5f 43 5f 49 4d 50 5f 4c 45 56 45 4c 5f 49 44 45  _C_IMP_LEVEL_IDE
0a50: 4e 54 49 46 59 3d 32 3b 0d 0a 63 6f 6e 73 74 20  NTIFY=2;..const 
0a60: 52 50 43 5f 43 5f 49 4d 50 5f 4c 45 56 45 4c 5f  RPC_C_IMP_LEVEL_
0a70: 49 4d 50 45 52 53 4f 4e 41 54 45 3d 33 3b 0d 0a  IMPERSONATE=3;..
0a80: 63 6f 6e 73 74 20 52 50 43 5f 43 5f 49 4d 50 5f  const RPC_C_IMP_
0a90: 4c 45 56 45 4c 5f 44 45 4c 45 47 41 54 45 3d 34  LEVEL_DELEGATE=4
0aa0: 3b 0d 0a 63 6f 6e 73 74 20 52 50 43 5f 43 5f 51  ;..const RPC_C_Q
0ab0: 4f 53 5f 49 44 45 4e 54 49 54 59 5f 53 54 41 54  OS_IDENTITY_STAT
0ac0: 49 43 3d 30 3b 0d 0a 63 6f 6e 73 74 20 52 50 43  IC=0;..const RPC
0ad0: 5f 43 5f 51 4f 53 5f 49 44 45 4e 54 49 54 59 5f  _C_QOS_IDENTITY_
0ae0: 44 59 4e 41 4d 49 43 3d 31 3b 0d 0a 63 6f 6e 73  DYNAMIC=1;..cons
0af0: 74 20 52 50 43 5f 43 5f 51 4f 53 5f 43 41 50 41  t RPC_C_QOS_CAPA
0b00: 42 49 4c 49 54 49 45 53 5f 44 45 46 41 55 4c 54  BILITIES_DEFAULT
0b10: 3d 30 3b 0d 0a 63 6f 6e 73 74 20 52 50 43 5f 43  =0;..const RPC_C
0b20: 5f 51 4f 53 5f 43 41 50 41 42 49 4c 49 54 49 45  _QOS_CAPABILITIE
0b30: 53 5f 4d 55 54 55 41 4c 5f 41 55 54 48 3d 31 3b  S_MUTUAL_AUTH=1;
0b40: 0d 0a 0d 0a 2f 2f 20 54 68 65 73 65 20 65 6e 75  ....// These enu
0b50: 6d 73 20 77 65 72 65 20 62 75 67 67 79 20 69 6e  ms were buggy in
0b60: 20 4d 69 6e 47 57 20 21 0d 0a 63 6f 6e 73 74 20   MinGW !..const 
0b70: 52 50 43 5f 43 5f 50 52 4f 54 45 43 54 5f 4c 45  RPC_C_PROTECT_LE
0b80: 56 45 4c 5f 44 45 46 41 55 4c 54 20 3d 20 52 50  VEL_DEFAULT = RP
0b90: 43 5f 43 5f 41 55 54 48 4e 5f 4c 45 56 45 4c 5f  C_C_AUTHN_LEVEL_
0ba0: 44 45 46 41 55 4c 54 3b 0d 0a 63 6f 6e 73 74 20  DEFAULT;..const 
0bb0: 52 50 43 5f 43 5f 50 52 4f 54 45 43 54 5f 4c 45  RPC_C_PROTECT_LE
0bc0: 56 45 4c 5f 4e 4f 4e 45 20 3d 20 52 50 43 5f 43  VEL_NONE = RPC_C
0bd0: 5f 41 55 54 48 4e 5f 4c 45 56 45 4c 5f 4e 4f 4e  _AUTHN_LEVEL_NON
0be0: 45 3b 0d 0a 63 6f 6e 73 74 20 52 50 43 5f 43 5f  E;..const RPC_C_
0bf0: 50 52 4f 54 45 43 54 5f 4c 45 56 45 4c 5f 43 4f  PROTECT_LEVEL_CO
0c00: 4e 4e 45 43 54 20 3d 20 52 50 43 5f 43 5f 41 55  NNECT = RPC_C_AU
0c10: 54 48 4e 5f 4c 45 56 45 4c 5f 43 4f 4e 4e 45 43  THN_LEVEL_CONNEC
0c20: 54 3b 0d 0a 63 6f 6e 73 74 20 52 50 43 5f 43 5f  T;..const RPC_C_
0c30: 50 52 4f 54 45 43 54 5f 4c 45 56 45 4c 5f 43 41  PROTECT_LEVEL_CA
0c40: 4c 4c 20 3d 20 52 50 43 5f 43 5f 41 55 54 48 4e  LL = RPC_C_AUTHN
0c50: 5f 4c 45 56 45 4c 5f 43 41 4c 4c 3b 0d 0a 63 6f  _LEVEL_CALL;..co
0c60: 6e 73 74 20 52 50 43 5f 43 5f 50 52 4f 54 45 43  nst RPC_C_PROTEC
0c70: 54 5f 4c 45 56 45 4c 5f 50 4b 54 20 3d 20 52 50  T_LEVEL_PKT = RP
0c80: 43 5f 43 5f 41 55 54 48 4e 5f 4c 45 56 45 4c 5f  C_C_AUTHN_LEVEL_
0c90: 50 4b 54 3b 0d 0a 63 6f 6e 73 74 20 52 50 43 5f  PKT;..const RPC_
0ca0: 43 5f 50 52 4f 54 45 43 54 5f 4c 45 56 45 4c 5f  C_PROTECT_LEVEL_
0cb0: 50 4b 54 5f 49 4e 54 45 47 52 49 54 59 20 3d 20  PKT_INTEGRITY = 
0cc0: 52 50 43 5f 43 5f 41 55 54 48 4e 5f 4c 45 56 45  RPC_C_AUTHN_LEVE
0cd0: 4c 5f 50 4b 54 5f 49 4e 54 45 47 52 49 54 59 3b  L_PKT_INTEGRITY;
0ce0: 0d 0a 63 6f 6e 73 74 20 52 50 43 5f 43 5f 50 52  ..const RPC_C_PR
0cf0: 4f 54 45 43 54 5f 4c 45 56 45 4c 5f 50 4b 54 5f  OTECT_LEVEL_PKT_
0d00: 50 52 49 56 41 43 59 20 3d 20 52 50 43 5f 43 5f  PRIVACY = RPC_C_
0d10: 41 55 54 48 4e 5f 4c 45 56 45 4c 5f 50 4b 54 5f  AUTHN_LEVEL_PKT_
0d20: 50 52 49 56 41 43 59 3b 0d 0a 0d 0a 63 6f 6e 73  PRIVACY;....cons
0d30: 74 20 52 50 43 5f 43 5f 41 55 54 48 4e 5f 4e 4f  t RPC_C_AUTHN_NO
0d40: 4e 45 3d 30 3b 0d 0a 63 6f 6e 73 74 20 52 50 43  NE=0;..const RPC
0d50: 5f 43 5f 41 55 54 48 4e 5f 44 43 45 5f 50 52 49  _C_AUTHN_DCE_PRI
0d60: 56 41 54 45 3d 31 3b 0d 0a 63 6f 6e 73 74 20 52  VATE=1;..const R
0d70: 50 43 5f 43 5f 41 55 54 48 4e 5f 44 43 45 5f 50  PC_C_AUTHN_DCE_P
0d80: 55 42 4c 49 43 3d 32 3b 0d 0a 63 6f 6e 73 74 20  UBLIC=2;..const 
0d90: 52 50 43 5f 43 5f 41 55 54 48 4e 5f 44 45 43 5f  RPC_C_AUTHN_DEC_
0da0: 50 55 42 4c 49 43 3d 34 3b 0d 0a 63 6f 6e 73 74  PUBLIC=4;..const
0db0: 20 52 50 43 5f 43 5f 41 55 54 48 4e 5f 57 49 4e   RPC_C_AUTHN_WIN
0dc0: 4e 54 3d 31 30 3b 0d 0a 63 6f 6e 73 74 20 52 50  NT=10;..const RP
0dd0: 43 5f 43 5f 41 55 54 48 4e 5f 44 45 46 41 55 4c  C_C_AUTHN_DEFAUL
0de0: 54 3d 30 78 46 46 46 46 46 46 46 46 3b 0d 0a 2f  T=0xFFFFFFFF;../
0df0: 2f 63 6f 6e 73 74 20 52 50 43 5f 43 5f 53 45 43  /const RPC_C_SEC
0e00: 55 52 49 54 59 5f 51 4f 53 5f 56 45 52 53 49 4f  URITY_QOS_VERSIO
0e10: 4e 3d 4c 3b 20 2f 2f 20 46 49 58 4d 45 28 4d 69  N=L; // FIXME(Mi
0e20: 6e 47 57 29 3a 20 54 68 69 73 20 69 73 20 6e 6f  nGW): This is no
0e30: 6e 73 65 6e 73 65 21 0d 0a 63 6f 6e 73 74 20 53  nsense!..const S
0e40: 45 43 5f 57 49 4e 4e 54 5f 41 55 54 48 5f 49 44  EC_WINNT_AUTH_ID
0e50: 45 4e 54 49 54 59 5f 41 4e 53 49 3d 30 78 31 3b  ENTITY_ANSI=0x1;
0e60: 0d 0a 63 6f 6e 73 74 20 53 45 43 5f 57 49 4e 4e  ..const SEC_WINN
0e70: 54 5f 41 55 54 48 5f 49 44 45 4e 54 49 54 59 5f  T_AUTH_IDENTITY_
0e80: 55 4e 49 43 4f 44 45 3d 30 78 32 3b 0d 0a 63 6f  UNICODE=0x2;..co
0e90: 6e 73 74 20 52 50 43 5f 43 5f 41 55 54 48 5a 5f  nst RPC_C_AUTHZ_
0ea0: 4e 4f 4e 45 3d 30 3b 0d 0a 63 6f 6e 73 74 20 52  NONE=0;..const R
0eb0: 50 43 5f 43 5f 41 55 54 48 5a 5f 4e 41 4d 45 3d  PC_C_AUTHZ_NAME=
0ec0: 31 3b 0d 0a 63 6f 6e 73 74 20 52 50 43 5f 43 5f  1;..const RPC_C_
0ed0: 41 55 54 48 5a 5f 44 43 45 3d 32 3b 0d 0a 63 6f  AUTHZ_DCE=2;..co
0ee0: 6e 73 74 20 52 50 43 5f 43 5f 41 55 54 48 5a 5f  nst RPC_C_AUTHZ_
0ef0: 44 45 46 41 55 4c 54 3d 30 78 46 46 46 46 46 46  DEFAULT=0xFFFFFF
0f00: 46 46 3b 0d 0a 0d 0a 61 6c 69 61 73 20 49 5f 52  FF;....alias I_R
0f10: 50 43 5f 48 41 4e 44 4c 45 20 52 50 43 5f 42 49  PC_HANDLE RPC_BI
0f20: 4e 44 49 4e 47 5f 48 41 4e 44 4c 45 3b 0d 0a 61  NDING_HANDLE;..a
0f30: 6c 69 61 73 20 52 50 43 5f 42 49 4e 44 49 4e 47  lias RPC_BINDING
0f40: 5f 48 41 4e 44 4c 45 20 68 61 6e 64 6c 65 5f 74  _HANDLE handle_t
0f50: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 52 50 43 5f  ;....struct RPC_
0f60: 42 49 4e 44 49 4e 47 5f 56 45 43 54 4f 52 20 7b  BINDING_VECTOR {
0f70: 0d 0a 09 75 69 6e 74 20 43 6f 75 6e 74 3b 0d 0a  ...uint Count;..
0f80: 09 52 50 43 5f 42 49 4e 44 49 4e 47 5f 48 41 4e  .RPC_BINDING_HAN
0f90: 44 4c 45 5b 31 5d 20 42 69 6e 64 69 6e 67 48 3b  DLE[1] BindingH;
0fa0: 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 52 50 43  ..}....alias RPC
0fb0: 5f 42 49 4e 44 49 4e 47 5f 48 41 4e 44 4c 45 20  _BINDING_HANDLE 
0fc0: 72 70 63 5f 62 69 6e 64 69 6e 67 5f 68 61 6e 64  rpc_binding_hand
0fd0: 6c 65 5f 74 3b 0d 0a 61 6c 69 61 73 20 52 50 43  le_t;..alias RPC
0fe0: 5f 42 49 4e 44 49 4e 47 5f 56 45 43 54 4f 52 20  _BINDING_VECTOR 
0ff0: 72 70 63 5f 62 69 6e 64 69 6e 67 5f 76 65 63 74  rpc_binding_vect
1000: 6f 72 5f 74 3b 0d 0a 0d 0a 0d 0a 73 74 72 75 63  or_t;......struc
1010: 74 20 55 55 49 44 5f 56 45 43 54 4f 52 20 7b 0d  t UUID_VECTOR {.
1020: 0a 09 75 69 6e 74 20 43 6f 75 6e 74 3b 0d 0a 09  ..uint Count;...
1030: 55 55 49 44 2a 5b 31 5d 20 55 75 69 64 3b 0d 0a  UUID*[1] Uuid;..
1040: 7d 0d 0a 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a  }....alias void*
1050: 20 52 50 43 5f 49 46 5f 48 41 4e 44 4c 45 3b 0d   RPC_IF_HANDLE;.
1060: 0a 0d 0a 73 74 72 75 63 74 20 52 50 43 5f 49 46  ...struct RPC_IF
1070: 5f 49 44 20 7b 0d 0a 09 55 55 49 44 20 55 75 69  _ID {...UUID Uui
1080: 64 3b 0d 0a 09 75 73 68 6f 72 74 20 56 65 72 73  d;...ushort Vers
1090: 4d 61 6a 6f 72 3b 0d 0a 09 75 73 68 6f 72 74 20  Major;...ushort 
10a0: 56 65 72 73 4d 69 6e 6f 72 3b 0d 0a 7d 0d 0a 0d  VersMinor;..}...
10b0: 0a 73 74 72 75 63 74 20 52 50 43 5f 50 4f 4c 49  .struct RPC_POLI
10c0: 43 59 20 7b 0d 0a 09 75 69 6e 74 20 4c 65 6e 67  CY {...uint Leng
10d0: 74 68 3b 0d 0a 09 75 69 6e 74 20 45 6e 64 70 6f  th;...uint Endpo
10e0: 69 6e 74 46 6c 61 67 73 3b 0d 0a 09 75 69 6e 74  intFlags;...uint
10f0: 20 4e 49 43 46 6c 61 67 73 3b 0d 0a 7d 0d 0a 61   NICFlags;..}..a
1100: 6c 69 61 73 20 52 50 43 5f 50 4f 4c 49 43 59 2a  lias RPC_POLICY*
1110: 20 50 52 50 43 5f 50 4f 4c 49 43 59 3b 0d 0a 0d   PRPC_POLICY;...
1120: 0a 65 78 74 65 72 6e 20 28 57 69 6e 64 6f 77 73  .extern (Windows
1130: 29 20 7b 0d 0a 09 61 6c 69 61 73 20 76 6f 69 64  ) {...alias void
1140: 20 66 75 6e 63 74 69 6f 6e 28 55 55 49 44 2a 2c   function(UUID*,
1150: 20 55 55 49 44 2a 2c 20 52 50 43 5f 53 54 41 54   UUID*, RPC_STAT
1160: 55 53 2a 29 20 52 50 43 5f 4f 42 4a 45 43 54 5f  US*) RPC_OBJECT_
1170: 49 4e 51 5f 46 4e 3b 0d 0a 09 61 6c 69 61 73 20  INQ_FN;...alias 
1180: 52 50 43 5f 53 54 41 54 55 53 20 66 75 6e 63 74  RPC_STATUS funct
1190: 69 6f 6e 28 52 50 43 5f 49 46 5f 48 41 4e 44 4c  ion(RPC_IF_HANDL
11a0: 45 2c 20 76 6f 69 64 2a 29 20 52 50 43 5f 49 46  E, void*) RPC_IF
11b0: 5f 43 41 4c 4c 42 41 43 4b 5f 46 4e 3b 0d 0a 7d  _CALLBACK_FN;..}
11c0: 0d 0a 0d 0a 73 74 72 75 63 74 20 52 50 43 5f 53  ....struct RPC_S
11d0: 54 41 54 53 5f 56 45 43 54 4f 52 20 7b 0d 0a 09  TATS_VECTOR {...
11e0: 75 69 6e 74 20 20 20 20 43 6f 75 6e 74 3b 0d 0a  uint    Count;..
11f0: 09 75 69 6e 74 5b 31 5d 20 53 74 61 74 73 3b 0d  .uint[1] Stats;.
1200: 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 52 50 43  .}....struct RPC
1210: 5f 49 46 5f 49 44 5f 56 45 43 54 4f 52 20 7b 0d  _IF_ID_VECTOR {.
1220: 0a 09 75 69 6e 74 20 20 20 20 20 20 20 20 20 20  ..uint          
1230: 43 6f 75 6e 74 3b 0d 0a 09 52 50 43 5f 49 46 5f  Count;...RPC_IF_
1240: 49 44 2a 5b 31 5d 20 49 66 49 64 3b 0d 0a 7d 0d  ID*[1] IfId;..}.
1250: 0a 6d 69 78 69 6e 20 44 45 43 4c 41 52 45 5f 48  .mixin DECLARE_H
1260: 41 4e 44 4c 45 21 28 22 52 50 43 5f 41 55 54 48  ANDLE!("RPC_AUTH
1270: 5f 49 44 45 4e 54 49 54 59 5f 48 41 4e 44 4c 45  _IDENTITY_HANDLE
1280: 22 29 3b 0d 0a 6d 69 78 69 6e 20 44 45 43 4c 41  ");..mixin DECLA
1290: 52 45 5f 48 41 4e 44 4c 45 21 28 22 52 50 43 5f  RE_HANDLE!("RPC_
12a0: 41 55 54 48 5a 5f 48 41 4e 44 4c 45 22 29 3b 0d  AUTHZ_HANDLE");.
12b0: 0a 0d 0a 73 74 72 75 63 74 20 52 50 43 5f 53 45  ...struct RPC_SE
12c0: 43 55 52 49 54 59 5f 51 4f 53 20 7b 0d 0a 09 75  CURITY_QOS {...u
12d0: 69 6e 74 20 56 65 72 73 69 6f 6e 3b 0d 0a 09 75  int Version;...u
12e0: 69 6e 74 20 43 61 70 61 62 69 6c 69 74 69 65 73  int Capabilities
12f0: 3b 0d 0a 09 75 69 6e 74 20 49 64 65 6e 74 69 74  ;...uint Identit
1300: 79 54 72 61 63 6b 69 6e 67 3b 0d 0a 09 75 69 6e  yTracking;...uin
1310: 74 20 49 6d 70 65 72 73 6f 6e 61 74 69 6f 6e 54  t ImpersonationT
1320: 79 70 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 52  ype;..}..alias R
1330: 50 43 5f 53 45 43 55 52 49 54 59 5f 51 4f 53 2a  PC_SECURITY_QOS*
1340: 20 50 52 50 43 5f 53 45 43 55 52 49 54 59 5f 51   PRPC_SECURITY_Q
1350: 4f 53 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 53 45  OS;....struct SE
1360: 43 5f 57 49 4e 4e 54 5f 41 55 54 48 5f 49 44 45  C_WINNT_AUTH_IDE
1370: 4e 54 49 54 59 5f 57 20 7b 0d 0a 09 75 73 68 6f  NTITY_W {...usho
1380: 72 74 2a 20 55 73 65 72 3b 0d 0a 09 75 69 6e 74  rt* User;...uint
1390: 20 55 73 65 72 4c 65 6e 67 74 68 3b 0d 0a 09 75   UserLength;...u
13a0: 73 68 6f 72 74 2a 20 44 6f 6d 61 69 6e 3b 0d 0a  short* Domain;..
13b0: 09 75 69 6e 74 20 44 6f 6d 61 69 6e 4c 65 6e 67  .uint DomainLeng
13c0: 74 68 3b 0d 0a 09 75 73 68 6f 72 74 2a 20 50 61  th;...ushort* Pa
13d0: 73 73 77 6f 72 64 3b 0d 0a 09 75 69 6e 74 20 50  ssword;...uint P
13e0: 61 73 73 77 6f 72 64 4c 65 6e 67 74 68 3b 0d 0a  asswordLength;..
13f0: 09 75 69 6e 74 20 46 6c 61 67 73 3b 0d 0a 7d 0d  .uint Flags;..}.
1400: 0a 61 6c 69 61 73 20 53 45 43 5f 57 49 4e 4e 54  .alias SEC_WINNT
1410: 5f 41 55 54 48 5f 49 44 45 4e 54 49 54 59 5f 57  _AUTH_IDENTITY_W
1420: 2a 20 50 53 45 43 5f 57 49 4e 4e 54 5f 41 55 54  * PSEC_WINNT_AUT
1430: 48 5f 49 44 45 4e 54 49 54 59 5f 57 3b 0d 0a 0d  H_IDENTITY_W;...
1440: 0a 73 74 72 75 63 74 20 53 45 43 5f 57 49 4e 4e  .struct SEC_WINN
1450: 54 5f 41 55 54 48 5f 49 44 45 4e 54 49 54 59 5f  T_AUTH_IDENTITY_
1460: 41 20 7b 0d 0a 09 75 62 79 74 65 2a 20 55 73 65  A {...ubyte* Use
1470: 72 3b 0d 0a 09 75 69 6e 74 20 55 73 65 72 4c 65  r;...uint UserLe
1480: 6e 67 74 68 3b 0d 0a 09 75 62 79 74 65 2a 20 44  ngth;...ubyte* D
1490: 6f 6d 61 69 6e 3b 0d 0a 09 75 69 6e 74 20 44 6f  omain;...uint Do
14a0: 6d 61 69 6e 4c 65 6e 67 74 68 3b 0d 0a 09 75 62  mainLength;...ub
14b0: 79 74 65 2a 20 50 61 73 73 77 6f 72 64 3b 0d 0a  yte* Password;..
14c0: 09 75 69 6e 74 20 50 61 73 73 77 6f 72 64 4c 65  .uint PasswordLe
14d0: 6e 67 74 68 3b 0d 0a 09 75 69 6e 74 20 46 6c 61  ngth;...uint Fla
14e0: 67 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 53 45  gs;..}..alias SE
14f0: 43 5f 57 49 4e 4e 54 5f 41 55 54 48 5f 49 44 45  C_WINNT_AUTH_IDE
1500: 4e 54 49 54 59 5f 41 2a 20 50 53 45 43 5f 57 49  NTITY_A* PSEC_WI
1510: 4e 4e 54 5f 41 55 54 48 5f 49 44 45 4e 54 49 54  NNT_AUTH_IDENTIT
1520: 59 5f 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 52  Y_A;....struct R
1530: 50 43 5f 43 4c 49 45 4e 54 5f 49 4e 46 4f 52 4d  PC_CLIENT_INFORM
1540: 41 54 49 4f 4e 31 20 7b 0d 0a 09 75 62 79 74 65  ATION1 {...ubyte
1550: 2a 20 55 73 65 72 4e 61 6d 65 3b 0d 0a 09 75 62  * UserName;...ub
1560: 79 74 65 2a 20 43 6f 6d 70 75 74 65 72 4e 61 6d  yte* ComputerNam
1570: 65 3b 0d 0a 09 75 73 68 6f 72 74 20 50 72 69 76  e;...ushort Priv
1580: 69 6c 65 67 65 3b 0d 0a 09 75 69 6e 74 20 41 75  ilege;...uint Au
1590: 74 68 46 6c 61 67 73 3b 0d 0a 7d 0d 0a 61 6c 69  thFlags;..}..ali
15a0: 61 73 20 52 50 43 5f 43 4c 49 45 4e 54 5f 49 4e  as RPC_CLIENT_IN
15b0: 46 4f 52 4d 41 54 49 4f 4e 31 2a 20 50 52 50 43  FORMATION1* PRPC
15c0: 5f 43 4c 49 45 4e 54 5f 49 4e 46 4f 52 4d 41 54  _CLIENT_INFORMAT
15d0: 49 4f 4e 31 3b 0d 0a 61 6c 69 61 73 20 49 5f 52  ION1;..alias I_R
15e0: 50 43 5f 48 41 4e 44 4c 45 2a 20 52 50 43 5f 45  PC_HANDLE* RPC_E
15f0: 50 5f 49 4e 51 5f 48 41 4e 44 4c 45 3b 0d 0a 65  P_INQ_HANDLE;..e
1600: 78 74 65 72 6e 20 28 57 69 6e 64 6f 77 73 29 20  xtern (Windows) 
1610: 7b 0d 0a 09 61 6c 69 61 73 20 69 6e 74 20 66 75  {...alias int fu
1620: 6e 63 74 69 6f 6e 28 52 50 43 5f 42 49 4e 44 49  nction(RPC_BINDI
1630: 4e 47 5f 48 41 4e 44 4c 45 2c 20 75 69 6e 74 2c  NG_HANDLE, uint,
1640: 20 52 50 43 5f 53 54 41 54 55 53 2a 29 20 52 50   RPC_STATUS*) RP
1650: 43 5f 4d 47 4d 54 5f 41 55 54 48 4f 52 49 5a 41  C_MGMT_AUTHORIZA
1660: 54 49 4f 4e 5f 46 4e 3b 0d 0a 7d 0d 0a 0d 0a 73  TION_FN;..}....s
1670: 74 72 75 63 74 20 52 50 43 5f 50 52 4f 54 53 45  truct RPC_PROTSE
1680: 51 5f 56 45 43 54 4f 52 41 20 7b 0d 0a 09 75 69  Q_VECTORA {...ui
1690: 6e 74 20 43 6f 75 6e 74 3b 0d 0a 09 75 62 79 74  nt Count;...ubyt
16a0: 65 2a 5b 31 5d 20 50 72 6f 74 73 65 71 3b 0d 0a  e*[1] Protseq;..
16b0: 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 52 50 43 5f  }....struct RPC_
16c0: 50 52 4f 54 53 45 51 5f 56 45 43 54 4f 52 57 20  PROTSEQ_VECTORW 
16d0: 7b 0d 0a 09 75 69 6e 74 20 43 6f 75 6e 74 3b 0d  {...uint Count;.
16e0: 0a 09 75 73 68 6f 72 74 2a 5b 31 5d 20 50 72 6f  ..ushort*[1] Pro
16f0: 74 73 65 71 3b 0d 0a 7d 0d 0a 0d 0a 65 78 74 65  tseq;..}....exte
1700: 72 6e 20 28 57 69 6e 64 6f 77 73 29 20 7b 0d 0a  rn (Windows) {..
1710: 09 52 50 43 5f 53 54 41 54 55 53 20 52 70 63 42  .RPC_STATUS RpcB
1720: 69 6e 64 69 6e 67 46 72 6f 6d 53 74 72 69 6e 67  indingFromString
1730: 42 69 6e 64 69 6e 67 41 28 63 68 61 72 2a 2c 20  BindingA(char*, 
1740: 52 50 43 5f 42 49 4e 44 49 4e 47 5f 48 41 4e 44  RPC_BINDING_HAND
1750: 4c 45 2a 29 3b 0d 0a 09 52 50 43 5f 53 54 41 54  LE*);...RPC_STAT
1760: 55 53 20 52 70 63 42 69 6e 64 69 6e 67 46 72 6f  US RpcBindingFro
1770: 6d 53 74 72 69 6e 67 42 69 6e 64 69 6e 67 57 28  mStringBindingW(
1780: 77 63 68 61 72 2a 2c 20 52 50 43 5f 42 49 4e 44  wchar*, RPC_BIND
1790: 49 4e 47 5f 48 41 4e 44 4c 45 2a 29 3b 0d 0a 09  ING_HANDLE*);...
17a0: 52 50 43 5f 53 54 41 54 55 53 20 52 70 63 42 69  RPC_STATUS RpcBi
17b0: 6e 64 69 6e 67 54 6f 53 74 72 69 6e 67 42 69 6e  ndingToStringBin
17c0: 64 69 6e 67 41 28 52 50 43 5f 42 49 4e 44 49 4e  dingA(RPC_BINDIN
17d0: 47 5f 48 41 4e 44 4c 45 2c 20 63 68 61 72 2a 2a  G_HANDLE, char**
17e0: 29 3b 0d 0a 09 52 50 43 5f 53 54 41 54 55 53 20  );...RPC_STATUS 
17f0: 52 70 63 42 69 6e 64 69 6e 67 54 6f 53 74 72 69  RpcBindingToStri
1800: 6e 67 42 69 6e 64 69 6e 67 57 28 52 50 43 5f 42  ngBindingW(RPC_B
1810: 49 4e 44 49 4e 47 5f 48 41 4e 44 4c 45 2c 20 77  INDING_HANDLE, w
1820: 63 68 61 72 2a 2a 29 3b 0d 0a 09 52 50 43 5f 53  char**);...RPC_S
1830: 54 41 54 55 53 20 52 70 63 53 74 72 69 6e 67 42  TATUS RpcStringB
1840: 69 6e 64 69 6e 67 43 6f 6d 70 6f 73 65 41 28 63  indingComposeA(c
1850: 68 61 72 2a 2c 20 63 68 61 72 2a 2c 20 63 68 61  har*, char*, cha
1860: 72 2a 2c 20 63 68 61 72 2a 2c 20 63 68 61 72 2a  r*, char*, char*
1870: 2c 20 63 68 61 72 2a 2a 29 3b 0d 0a 09 52 50 43  , char**);...RPC
1880: 5f 53 54 41 54 55 53 20 52 70 63 53 74 72 69 6e  _STATUS RpcStrin
1890: 67 42 69 6e 64 69 6e 67 43 6f 6d 70 6f 73 65 57  gBindingComposeW
18a0: 28 77 63 68 61 72 2a 2c 20 77 63 68 61 72 2a 2c  (wchar*, wchar*,
18b0: 20 77 63 68 61 72 2a 2c 20 77 63 68 61 72 2a 2c   wchar*, wchar*,
18c0: 20 77 63 68 61 72 2a 2c 20 77 63 68 61 72 2a 2a   wchar*, wchar**
18d0: 29 3b 0d 0a 09 52 50 43 5f 53 54 41 54 55 53 20  );...RPC_STATUS 
18e0: 52 70 63 53 74 72 69 6e 67 42 69 6e 64 69 6e 67  RpcStringBinding
18f0: 50 61 72 73 65 41 28 63 68 61 72 2a 2c 20 63 68  ParseA(char*, ch
1900: 61 72 2a 2a 2c 20 63 68 61 72 2a 2a 2c 20 63 68  ar**, char**, ch
1910: 61 72 2a 2a 2c 20 63 68 61 72 2a 2a 2c 20 63 68  ar**, char**, ch
1920: 61 72 2a 2a 29 3b 0d 0a 09 52 50 43 5f 53 54 41  ar**);...RPC_STA
1930: 54 55 53 20 52 70 63 53 74 72 69 6e 67 42 69 6e  TUS RpcStringBin
1940: 64 69 6e 67 50 61 72 73 65 57 28 77 63 68 61 72  dingParseW(wchar
1950: 2a 2c 20 77 63 68 61 72 2a 2a 2c 20 77 63 68 61  *, wchar**, wcha
1960: 72 2a 2a 2c 20 77 63 68 61 72 2a 2a 2c 20 77 63  r**, wchar**, wc
1970: 68 61 72 2a 2a 2c 20 77 63 68 61 72 2a 2a 29 3b  har**, wchar**);
1980: 0d 0a 09 52 50 43 5f 53 54 41 54 55 53 20 52 70  ...RPC_STATUS Rp
1990: 63 53 74 72 69 6e 67 46 72 65 65 41 28 63 68 61  cStringFreeA(cha
19a0: 72 2a 2a 29 3b 0d 0a 09 52 50 43 5f 53 54 41 54  r**);...RPC_STAT
19b0: 55 53 20 52 70 63 53 74 72 69 6e 67 46 72 65 65  US RpcStringFree
19c0: 57 28 77 63 68 61 72 2a 2a 29 3b 0d 0a 09 52 50  W(wchar**);...RP
19d0: 43 5f 53 54 41 54 55 53 20 52 70 63 4e 65 74 77  C_STATUS RpcNetw
19e0: 6f 72 6b 49 73 50 72 6f 74 73 65 71 56 61 6c 69  orkIsProtseqVali
19f0: 64 41 28 63 68 61 72 2a 29 3b 0d 0a 09 52 50 43  dA(char*);...RPC
1a00: 5f 53 54 41 54 55 53 20 52 70 63 4e 65 74 77 6f  _STATUS RpcNetwo
1a10: 72 6b 49 73 50 72 6f 74 73 65 71 56 61 6c 69 64  rkIsProtseqValid
1a20: 57 28 77 63 68 61 72 2a 29 3b 0d 0a 09 52 50 43  W(wchar*);...RPC
1a30: 5f 53 54 41 54 55 53 20 52 70 63 4e 65 74 77 6f  _STATUS RpcNetwo
1a40: 72 6b 49 6e 71 50 72 6f 74 73 65 71 73 41 28 52  rkInqProtseqsA(R
1a50: 50 43 5f 50 52 4f 54 53 45 51 5f 56 45 43 54 4f  PC_PROTSEQ_VECTO
1a60: 52 41 2a 2a 29 3b 0d 0a 09 52 50 43 5f 53 54 41  RA**);...RPC_STA
1a70: 54 55 53 20 52 70 63 4e 65 74 77 6f 72 6b 49 6e  TUS RpcNetworkIn
1a80: 71 50 72 6f 74 73 65 71 73 57 28 52 50 43 5f 50  qProtseqsW(RPC_P
1a90: 52 4f 54 53 45 51 5f 56 45 43 54 4f 52 57 2a 2a  ROTSEQ_VECTORW**
1aa0: 29 3b 0d 0a 09 52 50 43 5f 53 54 41 54 55 53 20  );...RPC_STATUS 
1ab0: 52 70 63 50 72 6f 74 73 65 71 56 65 63 74 6f 72  RpcProtseqVector
1ac0: 46 72 65 65 41 28 52 50 43 5f 50 52 4f 54 53 45  FreeA(RPC_PROTSE
1ad0: 51 5f 56 45 43 54 4f 52 41 2a 2a 29 3b 0d 0a 09  Q_VECTORA**);...
1ae0: 52 50 43 5f 53 54 41 54 55 53 20 52 70 63 50 72  RPC_STATUS RpcPr
1af0: 6f 74 73 65 71 56 65 63 74 6f 72 46 72 65 65 57  otseqVectorFreeW
1b00: 28 52 50 43 5f 50 52 4f 54 53 45 51 5f 56 45 43  (RPC_PROTSEQ_VEC
1b10: 54 4f 52 57 2a 2a 29 3b 0d 0a 09 52 50 43 5f 53  TORW**);...RPC_S
1b20: 54 41 54 55 53 20 52 70 63 53 65 72 76 65 72 55  TATUS RpcServerU
1b30: 73 65 50 72 6f 74 73 65 71 41 28 63 68 61 72 2a  seProtseqA(char*
1b40: 2c 20 75 69 6e 74 2c 20 76 6f 69 64 2a 29 3b 0d  , uint, void*);.
1b50: 0a 09 52 50 43 5f 53 54 41 54 55 53 20 52 70 63  ..RPC_STATUS Rpc
1b60: 53 65 72 76 65 72 55 73 65 50 72 6f 74 73 65 71  ServerUseProtseq
1b70: 57 28 77 63 68 61 72 2a 2c 20 75 69 6e 74 2c 20  W(wchar*, uint, 
1b80: 76 6f 69 64 2a 29 3b 0d 0a 09 52 50 43 5f 53 54  void*);...RPC_ST
1b90: 41 54 55 53 20 52 70 63 53 65 72 76 65 72 55 73  ATUS RpcServerUs
1ba0: 65 50 72 6f 74 73 65 71 45 78 41 28 63 68 61 72  eProtseqExA(char
1bb0: 2a 2c 20 75 69 6e 74 20 4d 61 78 43 61 6c 6c 73  *, uint MaxCalls
1bc0: 2c 20 76 6f 69 64 2a 2c 20 50 52 50 43 5f 50 4f  , void*, PRPC_PO
1bd0: 4c 49 43 59 29 3b 0d 0a 09 52 50 43 5f 53 54 41  LICY);...RPC_STA
1be0: 54 55 53 20 52 70 63 53 65 72 76 65 72 55 73 65  TUS RpcServerUse
1bf0: 50 72 6f 74 73 65 71 45 78 57 28 77 63 68 61 72  ProtseqExW(wchar
1c00: 2a 2c 20 75 69 6e 74 2c 20 76 6f 69 64 2a 2c 20  *, uint, void*, 
1c10: 50 52 50 43 5f 50 4f 4c 49 43 59 29 3b 0d 0a 09  PRPC_POLICY);...
1c20: 52 50 43 5f 53 54 41 54 55 53 20 52 70 63 53 65  RPC_STATUS RpcSe
1c30: 72 76 65 72 55 73 65 50 72 6f 74 73 65 71 45 70  rverUseProtseqEp
1c40: 41 28 63 68 61 72 2a 2c 20 75 69 6e 74 2c 20 63  A(char*, uint, c
1c50: 68 61 72 2a 2c 20 76 6f 69 64 2a 29 3b 0d 0a 09  har*, void*);...
1c60: 52 50 43 5f 53 54 41 54 55 53 20 52 70 63 53 65  RPC_STATUS RpcSe
1c70: 72 76 65 72 55 73 65 50 72 6f 74 73 65 71 45 70  rverUseProtseqEp
1c80: 45 78 41 28 63 68 61 72 2a 2c 20 75 69 6e 74 2c  ExA(char*, uint,
1c90: 20 63 68 61 72 2a 2c 20 76 6f 69 64 2a 2c 20 50   char*, void*, P
1ca0: 52 50 43 5f 50 4f 4c 49 43 59 29 3b 0d 0a 09 52  RPC_POLICY);...R
1cb0: 50 43 5f 53 54 41 54 55 53 20 52 70 63 53 65 72  PC_STATUS RpcSer
1cc0: 76 65 72 55 73 65 50 72 6f 74 73 65 71 45 70 57  verUseProtseqEpW
1cd0: 28 77 63 68 61 72 2a 2c 20 75 69 6e 74 2c 20 77  (wchar*, uint, w
1ce0: 63 68 61 72 2a 2c 20 76 6f 69 64 2a 29 3b 0d 0a  char*, void*);..
1cf0: 09 52 50 43 5f 53 54 41 54 55 53 20 52 70 63 53  .RPC_STATUS RpcS
1d00: 65 72 76 65 72 55 73 65 50 72 6f 74 73 65 71 45  erverUseProtseqE
1d10: 70 45 78 57 28 77 63 68 61 72 2a 2c 20 75 69 6e  pExW(wchar*, uin
1d20: 74 2c 20 77 63 68 61 72 2a 2c 20 76 6f 69 64 2a  t, wchar*, void*
1d30: 2c 20 50 52 50 43 5f 50 4f 4c 49 43 59 29 3b 0d  , PRPC_POLICY);.
1d40: 0a 09 52 50 43 5f 53 54 41 54 55 53 20 52 70 63  ..RPC_STATUS Rpc
1d50: 53 65 72 76 65 72 55 73 65 50 72 6f 74 73 65 71  ServerUseProtseq
1d60: 49 66 41 28 63 68 61 72 2a 2c 20 75 69 6e 74 2c  IfA(char*, uint,
1d70: 20 52 50 43 5f 49 46 5f 48 41 4e 44 4c 45 2c 20   RPC_IF_HANDLE, 
1d80: 76 6f 69 64 2a 29 3b 0d 0a 09 52 50 43 5f 53 54  void*);...RPC_ST
1d90: 41 54 55 53 20 52 70 63 53 65 72 76 65 72 55 73  ATUS RpcServerUs
1da0: 65 50 72 6f 74 73 65 71 49 66 45 78 41 28 63 68  eProtseqIfExA(ch
1db0: 61 72 2a 2c 20 75 69 6e 74 2c 20 52 50 43 5f 49  ar*, uint, RPC_I
1dc0: 46 5f 48 41 4e 44 4c 45 2c 20 76 6f 69 64 2a 2c  F_HANDLE, void*,
1dd0: 20 50 52 50 43 5f 50 4f 4c 49 43 59 29 3b 0d 0a   PRPC_POLICY);..
1de0: 09 52 50 43 5f 53 54 41 54 55 53 20 52 70 63 53  .RPC_STATUS RpcS
1df0: 65 72 76 65 72 55 73 65 50 72 6f 74 73 65 71 49  erverUseProtseqI
1e00: 66 57 28 77 63 68 61 72 2a 2c 20 75 69 6e 74 2c  fW(wchar*, uint,
1e10: 20 52 50 43 5f 49 46 5f 48 41 4e 44 4c 45 2c 20   RPC_IF_HANDLE, 
1e20: 76 6f 69 64 2a 29 3b 0d 0a 09 52 50 43 5f 53 54  void*);...RPC_ST
1e30: 41 54 55 53 20 52 70 63 53 65 72 76 65 72 55 73  ATUS RpcServerUs
1e40: 65 50 72 6f 74 73 65 71 49 66 45 78 57 28 77 63  eProtseqIfExW(wc
1e50: 68 61 72 2a 2c 20 75 69 6e 74 2c 20 52 50 43 5f  har*, uint, RPC_
1e60: 49 46 5f 48 41 4e 44 4c 45 2c 20 76 6f 69 64 2a  IF_HANDLE, void*
1e70: 2c 20 50 52 50 43 5f 50 4f 4c 49 43 59 29 3b 0d  , PRPC_POLICY);.
1e80: 0a 09 52 50 43 5f 53 54 41 54 55 53 20 52 70 63  ..RPC_STATUS Rpc
1e90: 4d 67 6d 74 49 6e 71 53 65 72 76 65 72 50 72 69  MgmtInqServerPri
1ea0: 6e 63 4e 61 6d 65 41 28 52 50 43 5f 42 49 4e 44  ncNameA(RPC_BIND
1eb0: 49 4e 47 5f 48 41 4e 44 4c 45 2c 20 75 69 6e 74  ING_HANDLE, uint
1ec0: 2c 20 63 68 61 72 2a 2a 29 3b 0d 0a 09 52 50 43  , char**);...RPC
1ed0: 5f 53 54 41 54 55 53 20 52 70 63 4d 67 6d 74 49  _STATUS RpcMgmtI
1ee0: 6e 71 53 65 72 76 65 72 50 72 69 6e 63 4e 61 6d  nqServerPrincNam
1ef0: 65 57 28 52 50 43 5f 42 49 4e 44 49 4e 47 5f 48  eW(RPC_BINDING_H
1f00: 41 4e 44 4c 45 2c 20 75 69 6e 74 2c 20 77 63 68  ANDLE, uint, wch
1f10: 61 72 2a 2a 29 3b 0d 0a 09 52 50 43 5f 53 54 41  ar**);...RPC_STA
1f20: 54 55 53 20 52 70 63 53 65 72 76 65 72 49 6e 71  TUS RpcServerInq
1f30: 44 65 66 61 75 6c 74 50 72 69 6e 63 4e 61 6d 65  DefaultPrincName
1f40: 41 28 75 69 6e 74 2c 20 63 68 61 72 2a 2a 29 3b  A(uint, char**);
1f50: 0d 0a 09 52 50 43 5f 53 54 41 54 55 53 20 52 70  ...RPC_STATUS Rp
1f60: 63 53 65 72 76 65 72 49 6e 71 44 65 66 61 75 6c  cServerInqDefaul
1f70: 74 50 72 69 6e 63 4e 61 6d 65 57 28 75 69 6e 74  tPrincNameW(uint
1f80: 2c 20 77 63 68 61 72 2a 2a 29 3b 0d 0a 09 52 50  , wchar**);...RP
1f90: 43 5f 53 54 41 54 55 53 20 52 70 63 4e 73 42 69  C_STATUS RpcNsBi
1fa0: 6e 64 69 6e 67 49 6e 71 45 6e 74 72 79 4e 61 6d  ndingInqEntryNam
1fb0: 65 41 28 52 50 43 5f 42 49 4e 44 49 4e 47 5f 48  eA(RPC_BINDING_H
1fc0: 41 4e 44 4c 45 2c 20 75 69 6e 74 2c 20 63 68 61  ANDLE, uint, cha
1fd0: 72 2a 2a 29 3b 0d 0a 09 52 50 43 5f 53 54 41 54  r**);...RPC_STAT
1fe0: 55 53 20 52 70 63 4e 73 42 69 6e 64 69 6e 67 49  US RpcNsBindingI
1ff0: 6e 71 45 6e 74 72 79 4e 61 6d 65 57 28 52 50 43  nqEntryNameW(RPC
2000: 5f 42 49 4e 44 49 4e 47 5f 48 41 4e 44 4c 45 2c  _BINDING_HANDLE,
2010: 20 75 69 6e 74 2c 20 77 63 68 61 72 2a 2a 29 3b   uint, wchar**);
2020: 0d 0a 09 52 50 43 5f 53 54 41 54 55 53 20 52 70  ...RPC_STATUS Rp
2030: 63 42 69 6e 64 69 6e 67 49 6e 71 41 75 74 68 43  cBindingInqAuthC
2040: 6c 69 65 6e 74 41 28 52 50 43 5f 42 49 4e 44 49  lientA(RPC_BINDI
2050: 4e 47 5f 48 41 4e 44 4c 45 2c 20 52 50 43 5f 41  NG_HANDLE, RPC_A
2060: 55 54 48 5a 5f 48 41 4e 44 4c 45 2a 2c 20 63 68  UTHZ_HANDLE*, ch
2070: 61 72 2a 2a 2c 20 75 69 6e 74 2a 2c 20 75 69 6e  ar**, uint*, uin
2080: 74 2a 2c 20 75 69 6e 74 2a 29 3b 0d 0a 09 52 50  t*, uint*);...RP
2090: 43 5f 53 54 41 54 55 53 20 52 70 63 42 69 6e 64  C_STATUS RpcBind
20a0: 69 6e 67 49 6e 71 41 75 74 68 43 6c 69 65 6e 74  ingInqAuthClient
20b0: 57 28 52 50 43 5f 42 49 4e 44 49 4e 47 5f 48 41  W(RPC_BINDING_HA
20c0: 4e 44 4c 45 2c 20 52 50 43 5f 41 55 54 48 5a 5f  NDLE, RPC_AUTHZ_
20d0: 48 41 4e 44 4c 45 2a 2c 20 77 63 68 61 72 2a 2a  HANDLE*, wchar**
20e0: 2c 20 75 69 6e 74 2a 2c 20 75 69 6e 74 2a 2c 20  , uint*, uint*, 
20f0: 75 69 6e 74 2a 29 3b 0d 0a 09 52 50 43 5f 53 54  uint*);...RPC_ST
2100: 41 54 55 53 20 52 70 63 42 69 6e 64 69 6e 67 49  ATUS RpcBindingI
2110: 6e 71 41 75 74 68 49 6e 66 6f 41 28 52 50 43 5f  nqAuthInfoA(RPC_
2120: 42 49 4e 44 49 4e 47 5f 48 41 4e 44 4c 45 2c 20  BINDING_HANDLE, 
2130: 63 68 61 72 2a 2a 2c 20 75 69 6e 74 2a 2c 20 75  char**, uint*, u
2140: 69 6e 74 2a 2c 20 52 50 43 5f 41 55 54 48 5f 49  int*, RPC_AUTH_I
2150: 44 45 4e 54 49 54 59 5f 48 41 4e 44 4c 45 2a 2c  DENTITY_HANDLE*,
2160: 20 75 69 6e 74 2a 29 3b 0d 0a 09 52 50 43 5f 53   uint*);...RPC_S
2170: 54 41 54 55 53 20 52 70 63 42 69 6e 64 69 6e 67  TATUS RpcBinding
2180: 49 6e 71 41 75 74 68 49 6e 66 6f 57 28 52 50 43  InqAuthInfoW(RPC
2190: 5f 42 49 4e 44 49 4e 47 5f 48 41 4e 44 4c 45 2c  _BINDING_HANDLE,
21a0: 20 77 63 68 61 72 2a 2a 2c 20 75 69 6e 74 2a 2c   wchar**, uint*,
21b0: 20 75 69 6e 74 2a 2c 20 52 50 43 5f 41 55 54 48   uint*, RPC_AUTH
21c0: 5f 49 44 45 4e 54 49 54 59 5f 48 41 4e 44 4c 45  _IDENTITY_HANDLE
21d0: 2a 2c 20 75 69 6e 74 2a 29 3b 0d 0a 09 52 50 43  *, uint*);...RPC
21e0: 5f 53 54 41 54 55 53 20 52 70 63 42 69 6e 64 69  _STATUS RpcBindi
21f0: 6e 67 53 65 74 41 75 74 68 49 6e 66 6f 41 28 52  ngSetAuthInfoA(R
2200: 50 43 5f 42 49 4e 44 49 4e 47 5f 48 41 4e 44 4c  PC_BINDING_HANDL
2210: 45 2c 20 63 68 61 72 2a 2c 20 75 69 6e 74 2c 20  E, char*, uint, 
2220: 75 69 6e 74 2c 20 52 50 43 5f 41 55 54 48 5f 49  uint, RPC_AUTH_I
2230: 44 45 4e 54 49 54 59 5f 48 41 4e 44 4c 45 2c 20  DENTITY_HANDLE, 
2240: 75 69 6e 74 29 3b 0d 0a 09 52 50 43 5f 53 54 41  uint);...RPC_STA
2250: 54 55 53 20 52 70 63 42 69 6e 64 69 6e 67 53 65  TUS RpcBindingSe
2260: 74 41 75 74 68 49 6e 66 6f 45 78 41 28 52 50 43  tAuthInfoExA(RPC
2270: 5f 42 49 4e 44 49 4e 47 5f 48 41 4e 44 4c 45 2c  _BINDING_HANDLE,
2280: 20 63 68 61 72 2a 2c 20 75 69 6e 74 2c 20 75 69   char*, uint, ui
2290: 6e 74 2c 20 52 50 43 5f 41 55 54 48 5f 49 44 45  nt, RPC_AUTH_IDE
22a0: 4e 54 49 54 59 5f 48 41 4e 44 4c 45 2c 20 75 69  NTITY_HANDLE, ui
22b0: 6e 74 2c 20 52 50 43 5f 53 45 43 55 52 49 54 59  nt, RPC_SECURITY
22c0: 5f 51 4f 53 2a 29 3b 0d 0a 09 52 50 43 5f 53 54  _QOS*);...RPC_ST
22d0: 41 54 55 53 20 52 70 63 42 69 6e 64 69 6e 67 53  ATUS RpcBindingS
22e0: 65 74 41 75 74 68 49 6e 66 6f 57 28 52 50 43 5f  etAuthInfoW(RPC_
22f0: 42 49 4e 44 49 4e 47 5f 48 41 4e 44 4c 45 2c 20  BINDING_HANDLE, 
2300: 77 63 68 61 72 2a 2c 20 75 69 6e 74 2c 20 75 69  wchar*, uint, ui
2310: 6e 74 2c 20 52 50 43 5f 41 55 54 48 5f 49 44 45  nt, RPC_AUTH_IDE
2320: 4e 54 49 54 59 5f 48 41 4e 44 4c 45 2c 20 75 69  NTITY_HANDLE, ui
2330: 6e 74 29 3b 0d 0a 09 52 50 43 5f 53 54 41 54 55  nt);...RPC_STATU
2340: 53 20 52 70 63 42 69 6e 64 69 6e 67 53 65 74 41  S RpcBindingSetA
2350: 75 74 68 49 6e 66 6f 45 78 57 28 52 50 43 5f 42  uthInfoExW(RPC_B
2360: 49 4e 44 49 4e 47 5f 48 41 4e 44 4c 45 2c 20 77  INDING_HANDLE, w
2370: 63 68 61 72 2a 2c 20 75 69 6e 74 2c 20 75 69 6e  char*, uint, uin
2380: 74 2c 20 52 50 43 5f 41 55 54 48 5f 49 44 45 4e  t, RPC_AUTH_IDEN
2390: 54 49 54 59 5f 48 41 4e 44 4c 45 2c 20 75 69 6e  TITY_HANDLE, uin
23a0: 74 2c 20 52 50 43 5f 53 45 43 55 52 49 54 59 5f  t, RPC_SECURITY_
23b0: 51 4f 53 2a 29 3b 0d 0a 09 52 50 43 5f 53 54 41  QOS*);...RPC_STA
23c0: 54 55 53 20 52 70 63 42 69 6e 64 69 6e 67 49 6e  TUS RpcBindingIn
23d0: 71 41 75 74 68 49 6e 66 6f 45 78 41 28 52 50 43  qAuthInfoExA(RPC
23e0: 5f 42 49 4e 44 49 4e 47 5f 48 41 4e 44 4c 45 2c  _BINDING_HANDLE,
23f0: 20 63 68 61 72 2a 2a 2c 20 75 69 6e 74 2a 2c 20   char**, uint*, 
2400: 75 69 6e 74 2a 2c 20 52 50 43 5f 41 55 54 48 5f  uint*, RPC_AUTH_
2410: 49 44 45 4e 54 49 54 59 5f 48 41 4e 44 4c 45 2a  IDENTITY_HANDLE*
2420: 2c 20 75 69 6e 74 2a 2c 20 75 69 6e 74 2c 20 52  , uint*, uint, R
2430: 50 43 5f 53 45 43 55 52 49 54 59 5f 51 4f 53 2a  PC_SECURITY_QOS*
2440: 29 3b 0d 0a 09 52 50 43 5f 53 54 41 54 55 53 20  );...RPC_STATUS 
2450: 52 70 63 42 69 6e 64 69 6e 67 49 6e 71 41 75 74  RpcBindingInqAut
2460: 68 49 6e 66 6f 45 78 57 28 52 50 43 5f 42 49 4e  hInfoExW(RPC_BIN
2470: 44 49 4e 47 5f 48 41 4e 44 4c 45 2c 20 77 63 68  DING_HANDLE, wch
2480: 61 72 2a 2a 2c 20 75 69 6e 74 2a 2c 20 75 69 6e  ar**, uint*, uin
2490: 74 2a 2c 20 52 50 43 5f 41 55 54 48 5f 49 44 45  t*, RPC_AUTH_IDE
24a0: 4e 54 49 54 59 5f 48 41 4e 44 4c 45 2a 2c 20 75  NTITY_HANDLE*, u
24b0: 69 6e 74 2a 2c 20 75 69 6e 74 2c 20 52 50 43 5f  int*, uint, RPC_
24c0: 53 45 43 55 52 49 54 59 5f 51 4f 53 2a 29 3b 0d  SECURITY_QOS*);.
24d0: 0a 09 61 6c 69 61 73 20 76 6f 69 64 20 66 75 6e  ..alias void fun
24e0: 63 74 69 6f 6e 28 76 6f 69 64 2a 2c 20 77 63 68  ction(void*, wch
24f0: 61 72 2a 2c 20 75 69 6e 74 2c 20 76 6f 69 64 2a  ar*, uint, void*
2500: 2a 2c 20 52 50 43 5f 53 54 41 54 55 53 2a 29 20  *, RPC_STATUS*) 
2510: 52 50 43 5f 41 55 54 48 5f 4b 45 59 5f 52 45 54  RPC_AUTH_KEY_RET
2520: 52 49 45 56 41 4c 5f 46 4e 3b 0d 0a 09 52 50 43  RIEVAL_FN;...RPC
2530: 5f 53 54 41 54 55 53 20 52 70 63 53 65 72 76 65  _STATUS RpcServe
2540: 72 52 65 67 69 73 74 65 72 41 75 74 68 49 6e 66  rRegisterAuthInf
2550: 6f 41 28 63 68 61 72 2a 2c 20 75 69 6e 74 2c 20  oA(char*, uint, 
2560: 52 50 43 5f 41 55 54 48 5f 4b 45 59 5f 52 45 54  RPC_AUTH_KEY_RET
2570: 52 49 45 56 41 4c 5f 46 4e 2c 20 76 6f 69 64 2a  RIEVAL_FN, void*
2580: 29 3b 0d 0a 09 52 50 43 5f 53 54 41 54 55 53 20  );...RPC_STATUS 
2590: 52 70 63 53 65 72 76 65 72 52 65 67 69 73 74 65  RpcServerRegiste
25a0: 72 41 75 74 68 49 6e 66 6f 57 28 77 63 68 61 72  rAuthInfoW(wchar
25b0: 2a 2c 20 75 69 6e 74 2c 20 52 50 43 5f 41 55 54  *, uint, RPC_AUT
25c0: 48 5f 4b 45 59 5f 52 45 54 52 49 45 56 41 4c 5f  H_KEY_RETRIEVAL_
25d0: 46 4e 2c 20 76 6f 69 64 2a 29 3b 0d 0a 09 52 50  FN, void*);...RP
25e0: 43 5f 53 54 41 54 55 53 20 55 75 69 64 54 6f 53  C_STATUS UuidToS
25f0: 74 72 69 6e 67 41 28 55 55 49 44 2a 2c 20 63 68  tringA(UUID*, ch
2600: 61 72 2a 2a 29 3b 0d 0a 09 52 50 43 5f 53 54 41  ar**);...RPC_STA
2610: 54 55 53 20 55 75 69 64 46 72 6f 6d 53 74 72 69  TUS UuidFromStri
2620: 6e 67 41 28 63 68 61 72 2a 2c 20 55 55 49 44 2a  ngA(char*, UUID*
2630: 29 3b 0d 0a 09 52 50 43 5f 53 54 41 54 55 53 20  );...RPC_STATUS 
2640: 55 75 69 64 54 6f 53 74 72 69 6e 67 57 28 55 55  UuidToStringW(UU
2650: 49 44 2a 2c 20 77 63 68 61 72 2a 2a 29 3b 0d 0a  ID*, wchar**);..
2660: 09 52 50 43 5f 53 54 41 54 55 53 20 55 75 69 64  .RPC_STATUS Uuid
2670: 46 72 6f 6d 53 74 72 69 6e 67 57 28 77 63 68 61  FromStringW(wcha
2680: 72 2a 2c 20 55 55 49 44 2a 29 3b 0d 0a 09 52 50  r*, UUID*);...RP
2690: 43 5f 53 54 41 54 55 53 20 52 70 63 45 70 52 65  C_STATUS RpcEpRe
26a0: 67 69 73 74 65 72 4e 6f 52 65 70 6c 61 63 65 41  gisterNoReplaceA
26b0: 28 52 50 43 5f 49 46 5f 48 41 4e 44 4c 45 2c 20  (RPC_IF_HANDLE, 
26c0: 52 50 43 5f 42 49 4e 44 49 4e 47 5f 56 45 43 54  RPC_BINDING_VECT
26d0: 4f 52 2a 2c 20 55 55 49 44 5f 56 45 43 54 4f 52  OR*, UUID_VECTOR
26e0: 2a 2c 20 63 68 61 72 2a 29 3b 0d 0a 09 52 50 43  *, char*);...RPC
26f0: 5f 53 54 41 54 55 53 20 52 70 63 45 70 52 65 67  _STATUS RpcEpReg
2700: 69 73 74 65 72 4e 6f 52 65 70 6c 61 63 65 57 28  isterNoReplaceW(
2710: 52 50 43 5f 49 46 5f 48 41 4e 44 4c 45 2c 20 52  RPC_IF_HANDLE, R
2720: 50 43 5f 42 49 4e 44 49 4e 47 5f 56 45 43 54 4f  PC_BINDING_VECTO
2730: 52 2a 2c 20 55 55 49 44 5f 56 45 43 54 4f 52 2a  R*, UUID_VECTOR*
2740: 2c 20 77 63 68 61 72 2a 29 3b 0d 0a 09 52 50 43  , wchar*);...RPC
2750: 5f 53 54 41 54 55 53 20 52 70 63 45 70 52 65 67  _STATUS RpcEpReg
2760: 69 73 74 65 72 41 28 52 50 43 5f 49 46 5f 48 41  isterA(RPC_IF_HA
2770: 4e 44 4c 45 2c 20 52 50 43 5f 42 49 4e 44 49 4e  NDLE, RPC_BINDIN
2780: 47 5f 56 45 43 54 4f 52 2a 2c 20 55 55 49 44 5f  G_VECTOR*, UUID_
2790: 56 45 43 54 4f 52 2a 2c 20 63 68 61 72 2a 29 3b  VECTOR*, char*);
27a0: 0d 0a 09 52 50 43 5f 53 54 41 54 55 53 20 52 70  ...RPC_STATUS Rp
27b0: 63 45 70 52 65 67 69 73 74 65 72 57 28 52 50 43  cEpRegisterW(RPC
27c0: 5f 49 46 5f 48 41 4e 44 4c 45 2c 20 52 50 43 5f  _IF_HANDLE, RPC_
27d0: 42 49 4e 44 49 4e 47 5f 56 45 43 54 4f 52 2a 2c  BINDING_VECTOR*,
27e0: 20 55 55 49 44 5f 56 45 43 54 4f 52 2a 2c 20 77   UUID_VECTOR*, w
27f0: 63 68 61 72 2a 29 3b 0d 0a 09 52 50 43 5f 53 54  char*);...RPC_ST
2800: 41 54 55 53 20 44 63 65 45 72 72 6f 72 49 6e 71  ATUS DceErrorInq
2810: 54 65 78 74 41 28 52 50 43 5f 53 54 41 54 55 53  TextA(RPC_STATUS
2820: 2c 20 63 68 61 72 2a 29 3b 0d 0a 09 52 50 43 5f  , char*);...RPC_
2830: 53 54 41 54 55 53 20 44 63 65 45 72 72 6f 72 49  STATUS DceErrorI
2840: 6e 71 54 65 78 74 57 28 52 50 43 5f 53 54 41 54  nqTextW(RPC_STAT
2850: 55 53 2c 20 77 63 68 61 72 2a 29 3b 0d 0a 09 52  US, wchar*);...R
2860: 50 43 5f 53 54 41 54 55 53 20 52 70 63 4d 67 6d  PC_STATUS RpcMgm
2870: 74 45 70 45 6c 74 49 6e 71 4e 65 78 74 41 28 52  tEpEltInqNextA(R
2880: 50 43 5f 45 50 5f 49 4e 51 5f 48 41 4e 44 4c 45  PC_EP_INQ_HANDLE
2890: 2c 20 52 50 43 5f 49 46 5f 49 44 2a 2c 20 52 50  , RPC_IF_ID*, RP
28a0: 43 5f 42 49 4e 44 49 4e 47 5f 48 41 4e 44 4c 45  C_BINDING_HANDLE
28b0: 2a 2c 20 55 55 49 44 2a 2c 20 63 68 61 72 2a 2a  *, UUID*, char**
28c0: 29 3b 0d 0a 09 52 50 43 5f 53 54 41 54 55 53 20  );...RPC_STATUS 
28d0: 52 70 63 4d 67 6d 74 45 70 45 6c 74 49 6e 71 4e  RpcMgmtEpEltInqN
28e0: 65 78 74 57 28 52 50 43 5f 45 50 5f 49 4e 51 5f  extW(RPC_EP_INQ_
28f0: 48 41 4e 44 4c 45 2c 20 52 50 43 5f 49 46 5f 49  HANDLE, RPC_IF_I
2900: 44 2a 2c 20 52 50 43 5f 42 49 4e 44 49 4e 47 5f  D*, RPC_BINDING_
2910: 48 41 4e 44 4c 45 2a 2c 20 55 55 49 44 2a 2c 20  HANDLE*, UUID*, 
2920: 77 63 68 61 72 2a 2a 29 3b 0d 0a 0d 0a 09 2f 2f  wchar**);.....//
2930: 20 4d 69 6e 47 57 20 65 72 72 6f 6e 65 6f 75 73   MinGW erroneous
2940: 6c 79 20 68 61 64 20 74 68 65 73 65 20 69 6e 20  ly had these in 
2950: 72 70 63 2e 68 0d 0a 09 52 50 43 5f 53 54 41 54  rpc.h...RPC_STAT
2960: 55 53 20 52 70 63 49 6d 70 65 72 73 6f 6e 61 74  US RpcImpersonat
2970: 65 43 6c 69 65 6e 74 28 52 50 43 5f 42 49 4e 44  eClient(RPC_BIND
2980: 49 4e 47 5f 48 41 4e 44 4c 45 29 3b 0d 0a 09 52  ING_HANDLE);...R
2990: 50 43 5f 53 54 41 54 55 53 20 52 70 63 52 65 76  PC_STATUS RpcRev
29a0: 65 72 74 54 6f 53 65 6c 66 28 29 3b 0d 0a 7d 0d  ertToSelf();..}.
29b0: 0a 0d 0a 76 65 72 73 69 6f 6e 20 28 55 6e 69 63  ...version (Unic
29c0: 6f 64 65 29 20 7b 0d 0a 09 61 6c 69 61 73 20 52  ode) {...alias R
29d0: 50 43 5f 50 52 4f 54 53 45 51 5f 56 45 43 54 4f  PC_PROTSEQ_VECTO
29e0: 52 57 20 52 50 43 5f 50 52 4f 54 53 45 51 5f 56  RW RPC_PROTSEQ_V
29f0: 45 43 54 4f 52 3b 0d 0a 09 61 6c 69 61 73 20 53  ECTOR;...alias S
2a00: 45 43 5f 57 49 4e 4e 54 5f 41 55 54 48 5f 49 44  EC_WINNT_AUTH_ID
2a10: 45 4e 54 49 54 59 5f 57 20 53 45 43 5f 57 49 4e  ENTITY_W SEC_WIN
2a20: 4e 54 5f 41 55 54 48 5f 49 44 45 4e 54 49 54 59  NT_AUTH_IDENTITY
2a30: 3b 0d 0a 09 61 6c 69 61 73 20 50 53 45 43 5f 57  ;...alias PSEC_W
2a40: 49 4e 4e 54 5f 41 55 54 48 5f 49 44 45 4e 54 49  INNT_AUTH_IDENTI
2a50: 54 59 5f 57 20 50 53 45 43 5f 57 49 4e 4e 54 5f  TY_W PSEC_WINNT_
2a60: 41 55 54 48 5f 49 44 45 4e 54 49 54 59 3b 0d 0a  AUTH_IDENTITY;..
2a70: 09 61 6c 69 61 73 20 52 70 63 4d 67 6d 74 45 70  .alias RpcMgmtEp
2a80: 45 6c 74 49 6e 71 4e 65 78 74 57 20 52 70 63 4d  EltInqNextW RpcM
2a90: 67 6d 74 45 70 45 6c 74 49 6e 71 4e 65 78 74 3b  gmtEpEltInqNext;
2aa0: 0d 0a 09 61 6c 69 61 73 20 52 70 63 42 69 6e 64  ...alias RpcBind
2ab0: 69 6e 67 46 72 6f 6d 53 74 72 69 6e 67 42 69 6e  ingFromStringBin
2ac0: 64 69 6e 67 57 20 52 70 63 42 69 6e 64 69 6e 67  dingW RpcBinding
2ad0: 46 72 6f 6d 53 74 72 69 6e 67 42 69 6e 64 69 6e  FromStringBindin
2ae0: 67 3b 0d 0a 09 61 6c 69 61 73 20 52 70 63 42 69  g;...alias RpcBi
2af0: 6e 64 69 6e 67 54 6f 53 74 72 69 6e 67 42 69 6e  ndingToStringBin
2b00: 64 69 6e 67 57 20 52 70 63 42 69 6e 64 69 6e 67  dingW RpcBinding
2b10: 54 6f 53 74 72 69 6e 67 42 69 6e 64 69 6e 67 3b  ToStringBinding;
2b20: 0d 0a 09 61 6c 69 61 73 20 52 70 63 53 74 72 69  ...alias RpcStri
2b30: 6e 67 42 69 6e 64 69 6e 67 43 6f 6d 70 6f 73 65  ngBindingCompose
2b40: 57 20 52 70 63 53 74 72 69 6e 67 42 69 6e 64 69  W RpcStringBindi
2b50: 6e 67 43 6f 6d 70 6f 73 65 3b 0d 0a 09 61 6c 69  ngCompose;...ali
2b60: 61 73 20 52 70 63 53 74 72 69 6e 67 42 69 6e 64  as RpcStringBind
2b70: 69 6e 67 50 61 72 73 65 57 20 52 70 63 53 74 72  ingParseW RpcStr
2b80: 69 6e 67 42 69 6e 64 69 6e 67 50 61 72 73 65 3b  ingBindingParse;
2b90: 0d 0a 09 61 6c 69 61 73 20 52 70 63 53 74 72 69  ...alias RpcStri
2ba0: 6e 67 46 72 65 65 57 20 52 70 63 53 74 72 69 6e  ngFreeW RpcStrin
2bb0: 67 46 72 65 65 3b 0d 0a 09 61 6c 69 61 73 20 52  gFree;...alias R
2bc0: 70 63 4e 65 74 77 6f 72 6b 49 73 50 72 6f 74 73  pcNetworkIsProts
2bd0: 65 71 56 61 6c 69 64 57 20 52 70 63 4e 65 74 77  eqValidW RpcNetw
2be0: 6f 72 6b 49 73 50 72 6f 74 73 65 71 56 61 6c 69  orkIsProtseqVali
2bf0: 64 3b 0d 0a 09 61 6c 69 61 73 20 52 70 63 4e 65  d;...alias RpcNe
2c00: 74 77 6f 72 6b 49 6e 71 50 72 6f 74 73 65 71 73  tworkInqProtseqs
2c10: 57 20 52 70 63 4e 65 74 77 6f 72 6b 49 6e 71 50  W RpcNetworkInqP
2c20: 72 6f 74 73 65 71 73 3b 0d 0a 09 61 6c 69 61 73  rotseqs;...alias
2c30: 20 52 70 63 50 72 6f 74 73 65 71 56 65 63 74 6f   RpcProtseqVecto
2c40: 72 46 72 65 65 57 20 52 70 63 50 72 6f 74 73 65  rFreeW RpcProtse
2c50: 71 56 65 63 74 6f 72 46 72 65 65 3b 0d 0a 09 61  qVectorFree;...a
2c60: 6c 69 61 73 20 52 70 63 53 65 72 76 65 72 55 73  lias RpcServerUs
2c70: 65 50 72 6f 74 73 65 71 57 20 52 70 63 53 65 72  eProtseqW RpcSer
2c80: 76 65 72 55 73 65 50 72 6f 74 73 65 71 3b 0d 0a  verUseProtseq;..
2c90: 09 61 6c 69 61 73 20 52 70 63 53 65 72 76 65 72  .alias RpcServer
2ca0: 55 73 65 50 72 6f 74 73 65 71 45 78 57 20 52 70  UseProtseqExW Rp
2cb0: 63 53 65 72 76 65 72 55 73 65 50 72 6f 74 73 65  cServerUseProtse
2cc0: 71 45 78 3b 0d 0a 09 61 6c 69 61 73 20 52 70 63  qEx;...alias Rpc
2cd0: 53 65 72 76 65 72 55 73 65 50 72 6f 74 73 65 71  ServerUseProtseq
2ce0: 45 70 57 20 52 70 63 53 65 72 76 65 72 55 73 65  EpW RpcServerUse
2cf0: 50 72 6f 74 73 65 71 45 70 3b 0d 0a 09 61 6c 69  ProtseqEp;...ali
2d00: 61 73 20 52 70 63 53 65 72 76 65 72 55 73 65 50  as RpcServerUseP
2d10: 72 6f 74 73 65 71 45 70 45 78 57 20 52 70 63 53  rotseqEpExW RpcS
2d20: 65 72 76 65 72 55 73 65 50 72 6f 74 73 65 71 45  erverUseProtseqE
2d30: 70 45 78 3b 0d 0a 09 61 6c 69 61 73 20 52 70 63  pEx;...alias Rpc
2d40: 53 65 72 76 65 72 55 73 65 50 72 6f 74 73 65 71  ServerUseProtseq
2d50: 49 66 57 20 52 70 63 53 65 72 76 65 72 55 73 65  IfW RpcServerUse
2d60: 50 72 6f 74 73 65 71 49 66 3b 0d 0a 09 61 6c 69  ProtseqIf;...ali
2d70: 61 73 20 52 70 63 53 65 72 76 65 72 55 73 65 50  as RpcServerUseP
2d80: 72 6f 74 73 65 71 49 66 45 78 57 20 52 70 63 53  rotseqIfExW RpcS
2d90: 65 72 76 65 72 55 73 65 50 72 6f 74 73 65 71 49  erverUseProtseqI
2da0: 66 45 78 3b 0d 0a 09 61 6c 69 61 73 20 52 70 63  fEx;...alias Rpc
2db0: 4d 67 6d 74 49 6e 71 53 65 72 76 65 72 50 72 69  MgmtInqServerPri
2dc0: 6e 63 4e 61 6d 65 57 20 52 70 63 4d 67 6d 74 49  ncNameW RpcMgmtI
2dd0: 6e 71 53 65 72 76 65 72 50 72 69 6e 63 4e 61 6d  nqServerPrincNam
2de0: 65 3b 0d 0a 09 61 6c 69 61 73 20 52 70 63 53 65  e;...alias RpcSe
2df0: 72 76 65 72 49 6e 71 44 65 66 61 75 6c 74 50 72  rverInqDefaultPr
2e00: 69 6e 63 4e 61 6d 65 57 20 52 70 63 53 65 72 76  incNameW RpcServ
2e10: 65 72 49 6e 71 44 65 66 61 75 6c 74 50 72 69 6e  erInqDefaultPrin
2e20: 63 4e 61 6d 65 3b 0d 0a 09 61 6c 69 61 73 20 52  cName;...alias R
2e30: 70 63 4e 73 42 69 6e 64 69 6e 67 49 6e 71 45 6e  pcNsBindingInqEn
2e40: 74 72 79 4e 61 6d 65 57 20 52 70 63 4e 73 42 69  tryNameW RpcNsBi
2e50: 6e 64 69 6e 67 49 6e 71 45 6e 74 72 79 4e 61 6d  ndingInqEntryNam
2e60: 65 3b 0d 0a 09 61 6c 69 61 73 20 52 70 63 42 69  e;...alias RpcBi
2e70: 6e 64 69 6e 67 49 6e 71 41 75 74 68 43 6c 69 65  ndingInqAuthClie
2e80: 6e 74 57 20 52 70 63 42 69 6e 64 69 6e 67 49 6e  ntW RpcBindingIn
2e90: 71 41 75 74 68 43 6c 69 65 6e 74 3b 0d 0a 09 61  qAuthClient;...a
2ea0: 6c 69 61 73 20 52 70 63 42 69 6e 64 69 6e 67 49  lias RpcBindingI
2eb0: 6e 71 41 75 74 68 49 6e 66 6f 57 20 52 70 63 42  nqAuthInfoW RpcB
2ec0: 69 6e 64 69 6e 67 49 6e 71 41 75 74 68 49 6e 66  indingInqAuthInf
2ed0: 6f 3b 0d 0a 09 61 6c 69 61 73 20 52 70 63 42 69  o;...alias RpcBi
2ee0: 6e 64 69 6e 67 53 65 74 41 75 74 68 49 6e 66 6f  ndingSetAuthInfo
2ef0: 57 20 52 70 63 42 69 6e 64 69 6e 67 53 65 74 41  W RpcBindingSetA
2f00: 75 74 68 49 6e 66 6f 3b 0d 0a 09 61 6c 69 61 73  uthInfo;...alias
2f10: 20 52 70 63 53 65 72 76 65 72 52 65 67 69 73 74   RpcServerRegist
2f20: 65 72 41 75 74 68 49 6e 66 6f 57 20 52 70 63 53  erAuthInfoW RpcS
2f30: 65 72 76 65 72 52 65 67 69 73 74 65 72 41 75 74  erverRegisterAut
2f40: 68 49 6e 66 6f 3b 0d 0a 09 61 6c 69 61 73 20 52  hInfo;...alias R
2f50: 70 63 42 69 6e 64 69 6e 67 49 6e 71 41 75 74 68  pcBindingInqAuth
2f60: 49 6e 66 6f 45 78 57 20 52 70 63 42 69 6e 64 69  InfoExW RpcBindi
2f70: 6e 67 49 6e 71 41 75 74 68 49 6e 66 6f 45 78 3b  ngInqAuthInfoEx;
2f80: 0d 0a 09 61 6c 69 61 73 20 52 70 63 42 69 6e 64  ...alias RpcBind
2f90: 69 6e 67 53 65 74 41 75 74 68 49 6e 66 6f 45 78  ingSetAuthInfoEx
2fa0: 57 20 52 70 63 42 69 6e 64 69 6e 67 53 65 74 41  W RpcBindingSetA
2fb0: 75 74 68 49 6e 66 6f 45 78 3b 0d 0a 09 61 6c 69  uthInfoEx;...ali
2fc0: 61 73 20 55 75 69 64 46 72 6f 6d 53 74 72 69 6e  as UuidFromStrin
2fd0: 67 57 20 55 75 69 64 46 72 6f 6d 53 74 72 69 6e  gW UuidFromStrin
2fe0: 67 3b 0d 0a 09 61 6c 69 61 73 20 55 75 69 64 54  g;...alias UuidT
2ff0: 6f 53 74 72 69 6e 67 57 20 55 75 69 64 54 6f 53  oStringW UuidToS
3000: 74 72 69 6e 67 3b 0d 0a 09 61 6c 69 61 73 20 52  tring;...alias R
3010: 70 63 45 70 52 65 67 69 73 74 65 72 4e 6f 52 65  pcEpRegisterNoRe
3020: 70 6c 61 63 65 57 20 52 70 63 45 70 52 65 67 69  placeW RpcEpRegi
3030: 73 74 65 72 4e 6f 52 65 70 6c 61 63 65 3b 0d 0a  sterNoReplace;..
3040: 09 61 6c 69 61 73 20 52 70 63 45 70 52 65 67 69  .alias RpcEpRegi
3050: 73 74 65 72 57 20 52 70 63 45 70 52 65 67 69 73  sterW RpcEpRegis
3060: 74 65 72 3b 0d 0a 09 61 6c 69 61 73 20 44 63 65  ter;...alias Dce
3070: 45 72 72 6f 72 49 6e 71 54 65 78 74 57 20 44 63  ErrorInqTextW Dc
3080: 65 45 72 72 6f 72 49 6e 71 54 65 78 74 3b 0d 0a  eErrorInqText;..
3090: 7d 20 65 6c 73 65 20 7b 20 2f 2f 20 41 6e 73 69  } else { // Ansi
30a0: 0d 0a 09 61 6c 69 61 73 20 52 50 43 5f 50 52 4f  ...alias RPC_PRO
30b0: 54 53 45 51 5f 56 45 43 54 4f 52 41 20 52 50 43  TSEQ_VECTORA RPC
30c0: 5f 50 52 4f 54 53 45 51 5f 56 45 43 54 4f 52 3b  _PROTSEQ_VECTOR;
30d0: 0d 0a 09 61 6c 69 61 73 20 53 45 43 5f 57 49 4e  ...alias SEC_WIN
30e0: 4e 54 5f 41 55 54 48 5f 49 44 45 4e 54 49 54 59  NT_AUTH_IDENTITY
30f0: 5f 41 20 53 45 43 5f 57 49 4e 4e 54 5f 41 55 54  _A SEC_WINNT_AUT
3100: 48 5f 49 44 45 4e 54 49 54 59 3b 0d 0a 09 61 6c  H_IDENTITY;...al
3110: 69 61 73 20 50 53 45 43 5f 57 49 4e 4e 54 5f 41  ias PSEC_WINNT_A
3120: 55 54 48 5f 49 44 45 4e 54 49 54 59 5f 41 20 50  UTH_IDENTITY_A P
3130: 53 45 43 5f 57 49 4e 4e 54 5f 41 55 54 48 5f 49  SEC_WINNT_AUTH_I
3140: 44 45 4e 54 49 54 59 3b 0d 0a 09 61 6c 69 61 73  DENTITY;...alias
3150: 20 52 70 63 4d 67 6d 74 45 70 45 6c 74 49 6e 71   RpcMgmtEpEltInq
3160: 4e 65 78 74 41 20 52 70 63 4d 67 6d 74 45 70 45  NextA RpcMgmtEpE
3170: 6c 74 49 6e 71 4e 65 78 74 3b 0d 0a 09 61 6c 69  ltInqNext;...ali
3180: 61 73 20 52 70 63 42 69 6e 64 69 6e 67 46 72 6f  as RpcBindingFro
3190: 6d 53 74 72 69 6e 67 42 69 6e 64 69 6e 67 41 20  mStringBindingA 
31a0: 52 70 63 42 69 6e 64 69 6e 67 46 72 6f 6d 53 74  RpcBindingFromSt
31b0: 72 69 6e 67 42 69 6e 64 69 6e 67 3b 0d 0a 09 61  ringBinding;...a
31c0: 6c 69 61 73 20 52 70 63 42 69 6e 64 69 6e 67 54  lias RpcBindingT
31d0: 6f 53 74 72 69 6e 67 42 69 6e 64 69 6e 67 41 20  oStringBindingA 
31e0: 52 70 63 42 69 6e 64 69 6e 67 54 6f 53 74 72 69  RpcBindingToStri
31f0: 6e 67 42 69 6e 64 69 6e 67 3b 0d 0a 09 61 6c 69  ngBinding;...ali
3200: 61 73 20 52 70 63 53 74 72 69 6e 67 42 69 6e 64  as RpcStringBind
3210: 69 6e 67 43 6f 6d 70 6f 73 65 41 20 52 70 63 53  ingComposeA RpcS
3220: 74 72 69 6e 67 42 69 6e 64 69 6e 67 43 6f 6d 70  tringBindingComp
3230: 6f 73 65 3b 0d 0a 09 61 6c 69 61 73 20 52 70 63  ose;...alias Rpc
3240: 53 74 72 69 6e 67 42 69 6e 64 69 6e 67 50 61 72  StringBindingPar
3250: 73 65 41 20 52 70 63 53 74 72 69 6e 67 42 69 6e  seA RpcStringBin
3260: 64 69 6e 67 50 61 72 73 65 3b 0d 0a 09 61 6c 69  dingParse;...ali
3270: 61 73 20 52 70 63 53 74 72 69 6e 67 46 72 65 65  as RpcStringFree
3280: 41 20 52 70 63 53 74 72 69 6e 67 46 72 65 65 3b  A RpcStringFree;
3290: 0d 0a 09 61 6c 69 61 73 20 52 70 63 4e 65 74 77  ...alias RpcNetw
32a0: 6f 72 6b 49 73 50 72 6f 74 73 65 71 56 61 6c 69  orkIsProtseqVali
32b0: 64 41 20 52 70 63 4e 65 74 77 6f 72 6b 49 73 50  dA RpcNetworkIsP
32c0: 72 6f 74 73 65 71 56 61 6c 69 64 3b 0d 0a 09 61  rotseqValid;...a
32d0: 6c 69 61 73 20 52 70 63 4e 65 74 77 6f 72 6b 49  lias RpcNetworkI
32e0: 6e 71 50 72 6f 74 73 65 71 73 41 20 52 70 63 4e  nqProtseqsA RpcN
32f0: 65 74 77 6f 72 6b 49 6e 71 50 72 6f 74 73 65 71  etworkInqProtseq
3300: 73 3b 0d 0a 09 61 6c 69 61 73 20 52 70 63 50 72  s;...alias RpcPr
3310: 6f 74 73 65 71 56 65 63 74 6f 72 46 72 65 65 41  otseqVectorFreeA
3320: 20 52 70 63 50 72 6f 74 73 65 71 56 65 63 74 6f   RpcProtseqVecto
3330: 72 46 72 65 65 3b 0d 0a 09 61 6c 69 61 73 20 52  rFree;...alias R
3340: 70 63 53 65 72 76 65 72 55 73 65 50 72 6f 74 73  pcServerUseProts
3350: 65 71 41 20 52 70 63 53 65 72 76 65 72 55 73 65  eqA RpcServerUse
3360: 50 72 6f 74 73 65 71 3b 0d 0a 09 61 6c 69 61 73  Protseq;...alias
3370: 20 52 70 63 53 65 72 76 65 72 55 73 65 50 72 6f   RpcServerUsePro
3380: 74 73 65 71 45 78 41 20 52 70 63 53 65 72 76 65  tseqExA RpcServe
3390: 72 55 73 65 50 72 6f 74 73 65 71 45 78 3b 0d 0a  rUseProtseqEx;..
33a0: 09 61 6c 69 61 73 20 52 70 63 53 65 72 76 65 72  .alias RpcServer
33b0: 55 73 65 50 72 6f 74 73 65 71 45 70 41 20 52 70  UseProtseqEpA Rp
33c0: 63 53 65 72 76 65 72 55 73 65 50 72 6f 74 73 65  cServerUseProtse
33d0: 71 45 70 3b 0d 0a 09 61 6c 69 61 73 20 52 70 63  qEp;...alias Rpc
33e0: 53 65 72 76 65 72 55 73 65 50 72 6f 74 73 65 71  ServerUseProtseq
33f0: 45 70 45 78 41 20 52 70 63 53 65 72 76 65 72 55  EpExA RpcServerU
3400: 73 65 50 72 6f 74 73 65 71 45 70 45 78 3b 0d 0a  seProtseqEpEx;..
3410: 09 61 6c 69 61 73 20 52 70 63 53 65 72 76 65 72  .alias RpcServer
3420: 55 73 65 50 72 6f 74 73 65 71 49 66 41 20 52 70  UseProtseqIfA Rp
3430: 63 53 65 72 76 65 72 55 73 65 50 72 6f 74 73 65  cServerUseProtse
3440: 71 49 66 3b 0d 0a 09 61 6c 69 61 73 20 52 70 63  qIf;...alias Rpc
3450: 53 65 72 76 65 72 55 73 65 50 72 6f 74 73 65 71  ServerUseProtseq
3460: 49 66 45 78 41 20 52 70 63 53 65 72 76 65 72 55  IfExA RpcServerU
3470: 73 65 50 72 6f 74 73 65 71 49 66 45 78 3b 0d 0a  seProtseqIfEx;..
3480: 09 61 6c 69 61 73 20 52 70 63 4d 67 6d 74 49 6e  .alias RpcMgmtIn
3490: 71 53 65 72 76 65 72 50 72 69 6e 63 4e 61 6d 65  qServerPrincName
34a0: 41 20 52 70 63 4d 67 6d 74 49 6e 71 53 65 72 76  A RpcMgmtInqServ
34b0: 65 72 50 72 69 6e 63 4e 61 6d 65 3b 0d 0a 09 61  erPrincName;...a
34c0: 6c 69 61 73 20 52 70 63 53 65 72 76 65 72 49 6e  lias RpcServerIn
34d0: 71 44 65 66 61 75 6c 74 50 72 69 6e 63 4e 61 6d  qDefaultPrincNam
34e0: 65 41 20 52 70 63 53 65 72 76 65 72 49 6e 71 44  eA RpcServerInqD
34f0: 65 66 61 75 6c 74 50 72 69 6e 63 4e 61 6d 65 3b  efaultPrincName;
3500: 0d 0a 09 61 6c 69 61 73 20 52 70 63 4e 73 42 69  ...alias RpcNsBi
3510: 6e 64 69 6e 67 49 6e 71 45 6e 74 72 79 4e 61 6d  ndingInqEntryNam
3520: 65 41 20 52 70 63 4e 73 42 69 6e 64 69 6e 67 49  eA RpcNsBindingI
3530: 6e 71 45 6e 74 72 79 4e 61 6d 65 3b 0d 0a 09 61  nqEntryName;...a
3540: 6c 69 61 73 20 52 70 63 42 69 6e 64 69 6e 67 49  lias RpcBindingI
3550: 6e 71 41 75 74 68 43 6c 69 65 6e 74 41 20 52 70  nqAuthClientA Rp
3560: 63 42 69 6e 64 69 6e 67 49 6e 71 41 75 74 68 43  cBindingInqAuthC
3570: 6c 69 65 6e 74 3b 0d 0a 09 61 6c 69 61 73 20 52  lient;...alias R
3580: 70 63 42 69 6e 64 69 6e 67 49 6e 71 41 75 74 68  pcBindingInqAuth
3590: 49 6e 66 6f 41 20 52 70 63 42 69 6e 64 69 6e 67  InfoA RpcBinding
35a0: 49 6e 71 41 75 74 68 49 6e 66 6f 3b 0d 0a 09 61  InqAuthInfo;...a
35b0: 6c 69 61 73 20 52 70 63 42 69 6e 64 69 6e 67 53  lias RpcBindingS
35c0: 65 74 41 75 74 68 49 6e 66 6f 41 20 52 70 63 42  etAuthInfoA RpcB
35d0: 69 6e 64 69 6e 67 53 65 74 41 75 74 68 49 6e 66  indingSetAuthInf
35e0: 6f 3b 0d 0a 09 61 6c 69 61 73 20 52 70 63 53 65  o;...alias RpcSe
35f0: 72 76 65 72 52 65 67 69 73 74 65 72 41 75 74 68  rverRegisterAuth
3600: 49 6e 66 6f 41 20 52 70 63 53 65 72 76 65 72 52  InfoA RpcServerR
3610: 65 67 69 73 74 65 72 41 75 74 68 49 6e 66 6f 3b  egisterAuthInfo;
3620: 0d 0a 09 61 6c 69 61 73 20 52 70 63 42 69 6e 64  ...alias RpcBind
3630: 69 6e 67 49 6e 71 41 75 74 68 49 6e 66 6f 45 78  ingInqAuthInfoEx
3640: 41 20 52 70 63 42 69 6e 64 69 6e 67 49 6e 71 41  A RpcBindingInqA
3650: 75 74 68 49 6e 66 6f 45 78 3b 0d 0a 09 61 6c 69  uthInfoEx;...ali
3660: 61 73 20 52 70 63 42 69 6e 64 69 6e 67 53 65 74  as RpcBindingSet
3670: 41 75 74 68 49 6e 66 6f 45 78 41 20 52 70 63 42  AuthInfoExA RpcB
3680: 69 6e 64 69 6e 67 53 65 74 41 75 74 68 49 6e 66  indingSetAuthInf
3690: 6f 45 78 3b 0d 0a 09 61 6c 69 61 73 20 55 75 69  oEx;...alias Uui
36a0: 64 46 72 6f 6d 53 74 72 69 6e 67 41 20 55 75 69  dFromStringA Uui
36b0: 64 46 72 6f 6d 53 74 72 69 6e 67 3b 0d 0a 09 61  dFromString;...a
36c0: 6c 69 61 73 20 55 75 69 64 54 6f 53 74 72 69 6e  lias UuidToStrin
36d0: 67 41 20 55 75 69 64 54 6f 53 74 72 69 6e 67 3b  gA UuidToString;
36e0: 0d 0a 09 61 6c 69 61 73 20 52 70 63 45 70 52 65  ...alias RpcEpRe
36f0: 67 69 73 74 65 72 4e 6f 52 65 70 6c 61 63 65 41  gisterNoReplaceA
3700: 20 52 70 63 45 70 52 65 67 69 73 74 65 72 4e 6f   RpcEpRegisterNo
3710: 52 65 70 6c 61 63 65 3b 0d 0a 09 61 6c 69 61 73  Replace;...alias
3720: 20 52 70 63 45 70 52 65 67 69 73 74 65 72 41 20   RpcEpRegisterA 
3730: 52 70 63 45 70 52 65 67 69 73 74 65 72 3b 0d 0a  RpcEpRegister;..
3740: 09 61 6c 69 61 73 20 44 63 65 45 72 72 6f 72 49  .alias DceErrorI
3750: 6e 71 54 65 78 74 41 20 44 63 65 45 72 72 6f 72  nqTextA DceError
3760: 49 6e 71 54 65 78 74 3b 0d 0a 7d 20 2f 2f 23 65  InqText;..} //#e
3770: 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d  ndif // UNICODE.
3780: 0a 0d 0a 0d 0a 52 50 43 5f 53 54 41 54 55 53 20  .....RPC_STATUS 
3790: 52 70 63 42 69 6e 64 69 6e 67 43 6f 70 79 28 52  RpcBindingCopy(R
37a0: 50 43 5f 42 49 4e 44 49 4e 47 5f 48 41 4e 44 4c  PC_BINDING_HANDL
37b0: 45 2c 20 52 50 43 5f 42 49 4e 44 49 4e 47 5f 48  E, RPC_BINDING_H
37c0: 41 4e 44 4c 45 2a 29 3b 0d 0a 52 50 43 5f 53 54  ANDLE*);..RPC_ST
37d0: 41 54 55 53 20 52 70 63 42 69 6e 64 69 6e 67 46  ATUS RpcBindingF
37e0: 72 65 65 28 52 50 43 5f 42 49 4e 44 49 4e 47 5f  ree(RPC_BINDING_
37f0: 48 41 4e 44 4c 45 2a 29 3b 0d 0a 52 50 43 5f 53  HANDLE*);..RPC_S
3800: 54 41 54 55 53 20 52 70 63 42 69 6e 64 69 6e 67  TATUS RpcBinding
3810: 49 6e 71 4f 62 6a 65 63 74 28 52 50 43 5f 42 49  InqObject(RPC_BI
3820: 4e 44 49 4e 47 5f 48 41 4e 44 4c 45 2c 20 55 55  NDING_HANDLE, UU
3830: 49 44 2a 29 3b 0d 0a 52 50 43 5f 53 54 41 54 55  ID*);..RPC_STATU
3840: 53 20 52 70 63 42 69 6e 64 69 6e 67 52 65 73 65  S RpcBindingRese
3850: 74 28 52 50 43 5f 42 49 4e 44 49 4e 47 5f 48 41  t(RPC_BINDING_HA
3860: 4e 44 4c 45 29 3b 0d 0a 52 50 43 5f 53 54 41 54  NDLE);..RPC_STAT
3870: 55 53 20 52 70 63 42 69 6e 64 69 6e 67 53 65 74  US RpcBindingSet
3880: 4f 62 6a 65 63 74 28 52 50 43 5f 42 49 4e 44 49  Object(RPC_BINDI
3890: 4e 47 5f 48 41 4e 44 4c 45 2c 20 55 55 49 44 2a  NG_HANDLE, UUID*
38a0: 29 3b 0d 0a 52 50 43 5f 53 54 41 54 55 53 20 52  );..RPC_STATUS R
38b0: 70 63 4d 67 6d 74 49 6e 71 44 65 66 61 75 6c 74  pcMgmtInqDefault
38c0: 50 72 6f 74 65 63 74 4c 65 76 65 6c 28 75 69 6e  ProtectLevel(uin
38d0: 74 2c 20 75 69 6e 74 2a 29 3b 0d 0a 52 50 43 5f  t, uint*);..RPC_
38e0: 53 54 41 54 55 53 20 52 70 63 42 69 6e 64 69 6e  STATUS RpcBindin
38f0: 67 56 65 63 74 6f 72 46 72 65 65 28 52 50 43 5f  gVectorFree(RPC_
3900: 42 49 4e 44 49 4e 47 5f 56 45 43 54 4f 52 2a 2a  BINDING_VECTOR**
3910: 29 3b 0d 0a 52 50 43 5f 53 54 41 54 55 53 20 52  );..RPC_STATUS R
3920: 70 63 49 66 49 6e 71 49 64 28 52 50 43 5f 49 46  pcIfInqId(RPC_IF
3930: 5f 48 41 4e 44 4c 45 2c 20 52 50 43 5f 49 46 5f  _HANDLE, RPC_IF_
3940: 49 44 2a 29 3b 0d 0a 52 50 43 5f 53 54 41 54 55  ID*);..RPC_STATU
3950: 53 20 52 70 63 4d 67 6d 74 49 6e 71 43 6f 6d 54  S RpcMgmtInqComT
3960: 69 6d 65 6f 75 74 28 52 50 43 5f 42 49 4e 44 49  imeout(RPC_BINDI
3970: 4e 47 5f 48 41 4e 44 4c 45 2c 20 75 69 6e 74 2a  NG_HANDLE, uint*
3980: 29 3b 0d 0a 52 50 43 5f 53 54 41 54 55 53 20 52  );..RPC_STATUS R
3990: 70 63 4d 67 6d 74 53 65 74 43 6f 6d 54 69 6d 65  pcMgmtSetComTime
39a0: 6f 75 74 28 52 50 43 5f 42 49 4e 44 49 4e 47 5f  out(RPC_BINDING_
39b0: 48 41 4e 44 4c 45 2c 20 75 69 6e 74 29 3b 0d 0a  HANDLE, uint);..
39c0: 52 50 43 5f 53 54 41 54 55 53 20 52 70 63 4d 67  RPC_STATUS RpcMg
39d0: 6d 74 53 65 74 43 61 6e 63 65 6c 54 69 6d 65 6f  mtSetCancelTimeo
39e0: 75 74 28 69 6e 74 20 54 69 6d 65 6f 75 74 29 3b  ut(int Timeout);
39f0: 0d 0a 52 50 43 5f 53 54 41 54 55 53 20 52 70 63  ..RPC_STATUS Rpc
3a00: 4f 62 6a 65 63 74 49 6e 71 54 79 70 65 28 55 55  ObjectInqType(UU
3a10: 49 44 2a 2c 20 55 55 49 44 2a 29 3b 0d 0a 52 50  ID*, UUID*);..RP
3a20: 43 5f 53 54 41 54 55 53 20 52 70 63 4f 62 6a 65  C_STATUS RpcObje
3a30: 63 74 53 65 74 49 6e 71 46 6e 28 52 50 43 5f 4f  ctSetInqFn(RPC_O
3a40: 42 4a 45 43 54 5f 49 4e 51 5f 46 4e 2a 29 3b 0d  BJECT_INQ_FN*);.
3a50: 0a 52 50 43 5f 53 54 41 54 55 53 20 52 70 63 4f  .RPC_STATUS RpcO
3a60: 62 6a 65 63 74 53 65 74 54 79 70 65 28 55 55 49  bjectSetType(UUI
3a70: 44 2a 2c 20 55 55 49 44 2a 29 3b 0d 0a 52 50 43  D*, UUID*);..RPC
3a80: 5f 53 54 41 54 55 53 20 52 70 63 50 72 6f 74 73  _STATUS RpcProts
3a90: 65 71 56 65 63 74 6f 72 46 72 65 65 28 52 50 43  eqVectorFree(RPC
3aa0: 5f 50 52 4f 54 53 45 51 5f 56 45 43 54 4f 52 2a  _PROTSEQ_VECTOR*
3ab0: 2a 29 3b 0d 0a 52 50 43 5f 53 54 41 54 55 53 20  *);..RPC_STATUS 
3ac0: 52 70 63 53 65 72 76 65 72 49 6e 71 49 66 28 52  RpcServerInqIf(R
3ad0: 50 43 5f 49 46 5f 48 41 4e 44 4c 45 2c 20 55 55  PC_IF_HANDLE, UU
3ae0: 49 44 2a 2c 20 52 50 43 5f 4d 47 52 5f 45 50 56  ID*, RPC_MGR_EPV
3af0: 2a 2a 29 3b 0d 0a 52 50 43 5f 53 54 41 54 55 53  **);..RPC_STATUS
3b00: 20 52 70 63 53 65 72 76 65 72 4c 69 73 74 65 6e   RpcServerListen
3b10: 28 75 69 6e 74 2c 20 75 69 6e 74 2c 20 75 69 6e  (uint, uint, uin
3b20: 74 29 3b 0d 0a 52 50 43 5f 53 54 41 54 55 53 20  t);..RPC_STATUS 
3b30: 52 70 63 53 65 72 76 65 72 52 65 67 69 73 74 65  RpcServerRegiste
3b40: 72 49 66 28 52 50 43 5f 49 46 5f 48 41 4e 44 4c  rIf(RPC_IF_HANDL
3b50: 45 2c 20 55 55 49 44 2a 2c 20 52 50 43 5f 4d 47  E, UUID*, RPC_MG
3b60: 52 5f 45 50 56 2a 29 3b 0d 0a 52 50 43 5f 53 54  R_EPV*);..RPC_ST
3b70: 41 54 55 53 20 52 70 63 53 65 72 76 65 72 52 65  ATUS RpcServerRe
3b80: 67 69 73 74 65 72 49 66 45 78 28 52 50 43 5f 49  gisterIfEx(RPC_I
3b90: 46 5f 48 41 4e 44 4c 45 2c 20 55 55 49 44 2a 2c  F_HANDLE, UUID*,
3ba0: 20 52 50 43 5f 4d 47 52 5f 45 50 56 2a 2c 20 75   RPC_MGR_EPV*, u
3bb0: 69 6e 74 2c 20 75 69 6e 74 2c 20 52 50 43 5f 49  int, uint, RPC_I
3bc0: 46 5f 43 41 4c 4c 42 41 43 4b 5f 46 4e 2a 29 3b  F_CALLBACK_FN*);
3bd0: 0d 0a 52 50 43 5f 53 54 41 54 55 53 20 52 70 63  ..RPC_STATUS Rpc
3be0: 53 65 72 76 65 72 52 65 67 69 73 74 65 72 49 66  ServerRegisterIf
3bf0: 32 28 52 50 43 5f 49 46 5f 48 41 4e 44 4c 45 2c  2(RPC_IF_HANDLE,
3c00: 20 55 55 49 44 2a 2c 20 52 50 43 5f 4d 47 52 5f   UUID*, RPC_MGR_
3c10: 45 50 56 2a 2c 20 75 69 6e 74 2c 20 75 69 6e 74  EPV*, uint, uint
3c20: 2c 20 75 69 6e 74 2c 20 52 50 43 5f 49 46 5f 43  , uint, RPC_IF_C
3c30: 41 4c 4c 42 41 43 4b 5f 46 4e 2a 29 3b 0d 0a 52  ALLBACK_FN*);..R
3c40: 50 43 5f 53 54 41 54 55 53 20 52 70 63 53 65 72  PC_STATUS RpcSer
3c50: 76 65 72 55 6e 72 65 67 69 73 74 65 72 49 66 28  verUnregisterIf(
3c60: 52 50 43 5f 49 46 5f 48 41 4e 44 4c 45 2c 20 55  RPC_IF_HANDLE, U
3c70: 55 49 44 2a 2c 20 75 69 6e 74 29 3b 0d 0a 52 50  UID*, uint);..RP
3c80: 43 5f 53 54 41 54 55 53 20 52 70 63 53 65 72 76  C_STATUS RpcServ
3c90: 65 72 55 73 65 41 6c 6c 50 72 6f 74 73 65 71 73  erUseAllProtseqs
3ca0: 28 75 69 6e 74 2c 20 76 6f 69 64 2a 29 3b 0d 0a  (uint, void*);..
3cb0: 52 50 43 5f 53 54 41 54 55 53 20 52 70 63 53 65  RPC_STATUS RpcSe
3cc0: 72 76 65 72 55 73 65 41 6c 6c 50 72 6f 74 73 65  rverUseAllProtse
3cd0: 71 73 45 78 28 75 69 6e 74 2c 20 76 6f 69 64 2a  qsEx(uint, void*
3ce0: 2c 20 50 52 50 43 5f 50 4f 4c 49 43 59 29 3b 0d  , PRPC_POLICY);.
3cf0: 0a 52 50 43 5f 53 54 41 54 55 53 20 52 70 63 53  .RPC_STATUS RpcS
3d00: 65 72 76 65 72 55 73 65 41 6c 6c 50 72 6f 74 73  erverUseAllProts
3d10: 65 71 73 49 66 28 75 69 6e 74 2c 20 52 50 43 5f  eqsIf(uint, RPC_
3d20: 49 46 5f 48 41 4e 44 4c 45 2c 20 76 6f 69 64 2a  IF_HANDLE, void*
3d30: 29 3b 0d 0a 52 50 43 5f 53 54 41 54 55 53 20 52  );..RPC_STATUS R
3d40: 70 63 53 65 72 76 65 72 55 73 65 41 6c 6c 50 72  pcServerUseAllPr
3d50: 6f 74 73 65 71 73 49 66 45 78 28 75 69 6e 74 2c  otseqsIfEx(uint,
3d60: 20 52 50 43 5f 49 46 5f 48 41 4e 44 4c 45 2c 20   RPC_IF_HANDLE, 
3d70: 76 6f 69 64 2a 2c 20 50 52 50 43 5f 50 4f 4c 49  void*, PRPC_POLI
3d80: 43 59 29 3b 0d 0a 52 50 43 5f 53 54 41 54 55 53  CY);..RPC_STATUS
3d90: 20 52 70 63 4d 67 6d 74 53 74 61 74 73 56 65 63   RpcMgmtStatsVec
3da0: 74 6f 72 46 72 65 65 28 52 50 43 5f 53 54 41 54  torFree(RPC_STAT
3db0: 53 5f 56 45 43 54 4f 52 2a 2a 29 3b 0d 0a 52 50  S_VECTOR**);..RP
3dc0: 43 5f 53 54 41 54 55 53 20 52 70 63 4d 67 6d 74  C_STATUS RpcMgmt
3dd0: 49 6e 71 53 74 61 74 73 28 52 50 43 5f 42 49 4e  InqStats(RPC_BIN
3de0: 44 49 4e 47 5f 48 41 4e 44 4c 45 2c 20 52 50 43  DING_HANDLE, RPC
3df0: 5f 53 54 41 54 53 5f 56 45 43 54 4f 52 2a 2a 29  _STATS_VECTOR**)
3e00: 3b 0d 0a 52 50 43 5f 53 54 41 54 55 53 20 52 70  ;..RPC_STATUS Rp
3e10: 63 4d 67 6d 74 49 73 53 65 72 76 65 72 4c 69 73  cMgmtIsServerLis
3e20: 74 65 6e 69 6e 67 28 52 50 43 5f 42 49 4e 44 49  tening(RPC_BINDI
3e30: 4e 47 5f 48 41 4e 44 4c 45 29 3b 0d 0a 52 50 43  NG_HANDLE);..RPC
3e40: 5f 53 54 41 54 55 53 20 52 70 63 4d 67 6d 74 53  _STATUS RpcMgmtS
3e50: 74 6f 70 53 65 72 76 65 72 4c 69 73 74 65 6e 69  topServerListeni
3e60: 6e 67 28 52 50 43 5f 42 49 4e 44 49 4e 47 5f 48  ng(RPC_BINDING_H
3e70: 41 4e 44 4c 45 29 3b 0d 0a 52 50 43 5f 53 54 41  ANDLE);..RPC_STA
3e80: 54 55 53 20 52 70 63 4d 67 6d 74 57 61 69 74 53  TUS RpcMgmtWaitS
3e90: 65 72 76 65 72 4c 69 73 74 65 6e 28 29 3b 0d 0a  erverListen();..
3ea0: 52 50 43 5f 53 54 41 54 55 53 20 52 70 63 4d 67  RPC_STATUS RpcMg
3eb0: 6d 74 53 65 74 53 65 72 76 65 72 53 74 61 63 6b  mtSetServerStack
3ec0: 53 69 7a 65 28 75 69 6e 74 29 3b 0d 0a 76 6f 69  Size(uint);..voi
3ed0: 64 20 52 70 63 53 73 44 6f 6e 74 53 65 72 69 61  d RpcSsDontSeria
3ee0: 6c 69 7a 65 43 6f 6e 74 65 78 74 28 29 3b 0d 0a  lizeContext();..
3ef0: 52 50 43 5f 53 54 41 54 55 53 20 52 70 63 4d 67  RPC_STATUS RpcMg
3f00: 6d 74 45 6e 61 62 6c 65 49 64 6c 65 43 6c 65 61  mtEnableIdleClea
3f10: 6e 75 70 28 29 3b 0d 0a 52 50 43 5f 53 54 41 54  nup();..RPC_STAT
3f20: 55 53 20 52 70 63 4d 67 6d 74 49 6e 71 49 66 49  US RpcMgmtInqIfI
3f30: 64 73 28 52 50 43 5f 42 49 4e 44 49 4e 47 5f 48  ds(RPC_BINDING_H
3f40: 41 4e 44 4c 45 2c 20 52 50 43 5f 49 46 5f 49 44  ANDLE, RPC_IF_ID
3f50: 5f 56 45 43 54 4f 52 2a 2a 29 3b 0d 0a 52 50 43  _VECTOR**);..RPC
3f60: 5f 53 54 41 54 55 53 20 52 70 63 49 66 49 64 56  _STATUS RpcIfIdV
3f70: 65 63 74 6f 72 46 72 65 65 28 52 50 43 5f 49 46  ectorFree(RPC_IF
3f80: 5f 49 44 5f 56 45 43 54 4f 52 2a 2a 29 3b 0d 0a  _ID_VECTOR**);..
3f90: 52 50 43 5f 53 54 41 54 55 53 20 52 70 63 45 70  RPC_STATUS RpcEp
3fa0: 52 65 73 6f 6c 76 65 42 69 6e 64 69 6e 67 28 52  ResolveBinding(R
3fb0: 50 43 5f 42 49 4e 44 49 4e 47 5f 48 41 4e 44 4c  PC_BINDING_HANDL
3fc0: 45 2c 20 52 50 43 5f 49 46 5f 48 41 4e 44 4c 45  E, RPC_IF_HANDLE
3fd0: 29 3b 0d 0a 52 50 43 5f 53 54 41 54 55 53 20 52  );..RPC_STATUS R
3fe0: 70 63 42 69 6e 64 69 6e 67 53 65 72 76 65 72 46  pcBindingServerF
3ff0: 72 6f 6d 43 6c 69 65 6e 74 28 52 50 43 5f 42 49  romClient(RPC_BI
4000: 4e 44 49 4e 47 5f 48 41 4e 44 4c 45 2c 20 52 50  NDING_HANDLE, RP
4010: 43 5f 42 49 4e 44 49 4e 47 5f 48 41 4e 44 4c 45  C_BINDING_HANDLE
4020: 2a 29 3b 0d 0a 0d 0a 2f 2f 20 6e 65 76 65 72 20  *);....// never 
4030: 72 65 74 75 72 6e 73 0d 0a 76 6f 69 64 20 52 70  returns..void Rp
4040: 63 52 61 69 73 65 45 78 63 65 70 74 69 6f 6e 28  cRaiseException(
4050: 52 50 43 5f 53 54 41 54 55 53 29 3b 0d 0a 52 50  RPC_STATUS);..RP
4060: 43 5f 53 54 41 54 55 53 20 52 70 63 54 65 73 74  C_STATUS RpcTest
4070: 43 61 6e 63 65 6c 28 29 3b 0d 0a 52 50 43 5f 53  Cancel();..RPC_S
4080: 54 41 54 55 53 20 52 70 63 43 61 6e 63 65 6c 54  TATUS RpcCancelT
4090: 68 72 65 61 64 28 76 6f 69 64 2a 29 3b 0d 0a 52  hread(void*);..R
40a0: 50 43 5f 53 54 41 54 55 53 20 55 75 69 64 43 72  PC_STATUS UuidCr
40b0: 65 61 74 65 28 55 55 49 44 2a 29 3b 0d 0a 69 6e  eate(UUID*);..in
40c0: 74 20 55 75 69 64 43 6f 6d 70 61 72 65 28 55 55  t UuidCompare(UU
40d0: 49 44 2a 2c 20 55 55 49 44 2a 2c 20 52 50 43 5f  ID*, UUID*, RPC_
40e0: 53 54 41 54 55 53 2a 29 3b 0d 0a 52 50 43 5f 53  STATUS*);..RPC_S
40f0: 54 41 54 55 53 20 55 75 69 64 43 72 65 61 74 65  TATUS UuidCreate
4100: 4e 69 6c 28 55 55 49 44 2a 29 3b 0d 0a 69 6e 74  Nil(UUID*);..int
4110: 20 55 75 69 64 45 71 75 61 6c 28 55 55 49 44 2a   UuidEqual(UUID*
4120: 2c 20 55 55 49 44 2a 2c 20 52 50 43 5f 53 54 41  , UUID*, RPC_STA
4130: 54 55 53 2a 29 3b 0d 0a 75 73 68 6f 72 74 20 55  TUS*);..ushort U
4140: 75 69 64 48 61 73 68 28 55 55 49 44 2a 2c 20 52  uidHash(UUID*, R
4150: 50 43 5f 53 54 41 54 55 53 2a 29 3b 0d 0a 69 6e  PC_STATUS*);..in
4160: 74 20 55 75 69 64 49 73 4e 69 6c 28 55 55 49 44  t UuidIsNil(UUID
4170: 2a 2c 20 52 50 43 5f 53 54 41 54 55 53 2a 29 3b  *, RPC_STATUS*);
4180: 0d 0a 52 50 43 5f 53 54 41 54 55 53 20 52 70 63  ..RPC_STATUS Rpc
4190: 45 70 55 6e 72 65 67 69 73 74 65 72 28 52 50 43  EpUnregister(RPC
41a0: 5f 49 46 5f 48 41 4e 44 4c 45 2c 20 52 50 43 5f  _IF_HANDLE, RPC_
41b0: 42 49 4e 44 49 4e 47 5f 56 45 43 54 4f 52 2a 2c  BINDING_VECTOR*,
41c0: 20 55 55 49 44 5f 56 45 43 54 4f 52 2a 29 3b 0d   UUID_VECTOR*);.
41d0: 0a 52 50 43 5f 53 54 41 54 55 53 20 52 70 63 4d  .RPC_STATUS RpcM
41e0: 67 6d 74 45 70 45 6c 74 49 6e 71 42 65 67 69 6e  gmtEpEltInqBegin
41f0: 28 52 50 43 5f 42 49 4e 44 49 4e 47 5f 48 41 4e  (RPC_BINDING_HAN
4200: 44 4c 45 2c 20 75 69 6e 74 2c 20 52 50 43 5f 49  DLE, uint, RPC_I
4210: 46 5f 49 44 2a 2c 20 75 69 6e 74 2c 20 55 55 49  F_ID*, uint, UUI
4220: 44 2a 2c 20 52 50 43 5f 45 50 5f 49 4e 51 5f 48  D*, RPC_EP_INQ_H
4230: 41 4e 44 4c 45 2a 29 3b 0d 0a 52 50 43 5f 53 54  ANDLE*);..RPC_ST
4240: 41 54 55 53 20 52 70 63 4d 67 6d 74 45 70 45 6c  ATUS RpcMgmtEpEl
4250: 74 49 6e 71 44 6f 6e 65 28 52 50 43 5f 45 50 5f  tInqDone(RPC_EP_
4260: 49 4e 51 5f 48 41 4e 44 4c 45 2a 29 3b 0d 0a 52  INQ_HANDLE*);..R
4270: 50 43 5f 53 54 41 54 55 53 20 52 70 63 4d 67 6d  PC_STATUS RpcMgm
4280: 74 45 70 55 6e 72 65 67 69 73 74 65 72 28 52 50  tEpUnregister(RP
4290: 43 5f 42 49 4e 44 49 4e 47 5f 48 41 4e 44 4c 45  C_BINDING_HANDLE
42a0: 2c 20 52 50 43 5f 49 46 5f 49 44 2a 2c 20 52 50  , RPC_IF_ID*, RP
42b0: 43 5f 42 49 4e 44 49 4e 47 5f 48 41 4e 44 4c 45  C_BINDING_HANDLE
42c0: 2c 20 55 55 49 44 2a 29 3b 0d 0a 52 50 43 5f 53  , UUID*);..RPC_S
42d0: 54 41 54 55 53 20 52 70 63 4d 67 6d 74 53 65 74  TATUS RpcMgmtSet
42e0: 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 46 6e 28  AuthorizationFn(
42f0: 52 50 43 5f 4d 47 4d 54 5f 41 55 54 48 4f 52 49  RPC_MGMT_AUTHORI
4300: 5a 41 54 49 4f 4e 5f 46 4e 29 3b 0d 0a 52 50 43  ZATION_FN);..RPC
4310: 5f 53 54 41 54 55 53 20 52 70 63 4d 67 6d 74 49  _STATUS RpcMgmtI
4320: 6e 71 50 61 72 61 6d 65 74 65 72 28 75 69 6e 74  nqParameter(uint
4330: 2c 20 75 69 6e 74 2a 29 3b 0d 0a 52 50 43 5f 53  , uint*);..RPC_S
4340: 54 41 54 55 53 20 52 70 63 4d 67 6d 74 53 65 74  TATUS RpcMgmtSet
4350: 50 61 72 61 6d 65 74 65 72 28 75 69 6e 74 2c 20  Parameter(uint, 
4360: 75 69 6e 74 29 3b 0d 0a 52 50 43 5f 53 54 41 54  uint);..RPC_STAT
4370: 55 53 20 52 70 63 4d 67 6d 74 42 69 6e 64 69 6e  US RpcMgmtBindin
4380: 67 49 6e 71 50 61 72 61 6d 65 74 65 72 28 52 50  gInqParameter(RP
4390: 43 5f 42 49 4e 44 49 4e 47 5f 48 41 4e 44 4c 45  C_BINDING_HANDLE
43a0: 2c 20 75 69 6e 74 2c 20 75 69 6e 74 2a 29 3b 0d  , uint, uint*);.
43b0: 0a 52 50 43 5f 53 54 41 54 55 53 20 52 70 63 4d  .RPC_STATUS RpcM
43c0: 67 6d 74 42 69 6e 64 69 6e 67 53 65 74 50 61 72  gmtBindingSetPar
43d0: 61 6d 65 74 65 72 28 52 50 43 5f 42 49 4e 44 49  ameter(RPC_BINDI
43e0: 4e 47 5f 48 41 4e 44 4c 45 2c 20 75 69 6e 74 2c  NG_HANDLE, uint,
43f0: 20 75 69 6e 74 29 3b 0d 0a 0d 0a 73 74 61 74 69   uint);....stati
4400: 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e  c if (_WIN32_WIN
4410: 4e 54 20 3e 3d 20 30 78 35 30 30 29 20 7b 0d 0a  NT >= 0x500) {..
4420: 09 52 50 43 5f 53 54 41 54 55 53 20 55 75 69 64  .RPC_STATUS Uuid
4430: 43 72 65 61 74 65 53 65 71 75 65 6e 74 69 61 6c  CreateSequential
4440: 28 55 55 49 44 2a 29 3b 0d 0a 7d 0d 0a           (UUID*);..}..