Artifact 13d7798ff7743b2f361cb2b3626f8f56358ac361:
- File
src/win32/rpcdce.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
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*);..}..