1 /** 2 * Windows API header module 3 * 4 * Translated from MinGW Windows headers 5 * 6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 7 * Source: $(DRUNTIMESRC core/sys/windows/_rpcdce.d) 8 */ 9 module nulib.system.win32.rpcdce; 10 import nulib.system.win32.basetyps; 11 import nulib.system.win32.w32api; 12 import nulib.system.win32.windef; 13 public import nulib.system.win32.rpcdcep; 14 pragma(lib, "Rpcrt4"); 15 16 17 version (ANSI) {} else version = Unicode; 18 19 // TODO: I think MinGW got this wrong. RPC_UNICODE_SUPPORTED should be 20 // replaced aliases for version (Unicode) 21 22 // FIXME: clean up Windows version support 23 24 alias uuid_t = UUID; 25 alias uuid_vector_t = UUID_VECTOR; 26 alias RPC_MGR_EPV = void; 27 28 // for RpcMgmtSetComTimeout() 29 enum : uint { 30 RPC_C_BINDING_MIN_TIMEOUT = 0, 31 RPC_C_BINDING_DEFAULT_TIMEOUT = 5, 32 RPC_C_BINDING_MAX_TIMEOUT = 9, 33 RPC_C_BINDING_INFINITE_TIMEOUT = 10 34 } 35 36 enum RPC_C_CANCEL_INFINITE_TIMEOUT= -1; 37 enum RPC_C_LISTEN_MAX_CALLS_DEFAULT=1234; 38 enum RPC_C_PROTSEQ_MAX_REQS_DEFAULT=10; 39 enum RPC_C_BIND_TO_ALL_NICS=1; 40 enum RPC_C_USE_INTERNET_PORT=1; 41 enum RPC_C_USE_INTRANET_PORT=2; 42 43 // for RPC_STATS_VECTOR, used by RpcMgmyInqStats 44 enum : uint { 45 RPC_C_STATS_CALLS_IN = 0, 46 RPC_C_STATS_CALLS_OUT, 47 RPC_C_STATS_PKTS_IN, 48 RPC_C_STATS_PKTS_OUT 49 } 50 51 enum RPC_IF_AUTOLISTEN=0x0001; 52 enum RPC_IF_OLE=2; 53 enum RPC_C_MGMT_INQ_IF_IDS=0; 54 enum RPC_C_MGMT_INQ_PRINC_NAME=1; 55 enum RPC_C_MGMT_INQ_STATS=2; 56 enum RPC_C_MGMT_IS_SERVER_LISTEN=3; 57 enum RPC_C_MGMT_STOP_SERVER_LISTEN=4; 58 59 // Inquiry Type for RpcMgmtEpEltInqBegin() 60 enum : uint { 61 RPC_C_EP_ALL_ELTS = 0, 62 RPC_C_EP_MATCH_BY_IF, 63 RPC_C_EP_MATCH_BY_OBJ, 64 RPC_C_EP_MATCH_BY_BOTH 65 } 66 67 // for RpcMgmtEpEltInqNext() 68 enum : uint { 69 RPC_C_VERS_ALL = 1, 70 RPC_C_VERS_COMPATIBLE, 71 RPC_C_VERS_EXACT, 72 RPC_C_VERS_MAJOR_ONLY, 73 RPC_C_VERS_UPTO 74 } 75 76 enum DCE_C_ERROR_STRING_LEN=256; 77 enum RPC_C_PARM_MAX_PACKET_LENGTH=1; 78 enum RPC_C_PARM_BUFFER_LENGTH=2; 79 enum RPC_C_AUTHN_LEVEL_DEFAULT=0; 80 enum RPC_C_AUTHN_LEVEL_NONE=1; 81 enum RPC_C_AUTHN_LEVEL_CONNECT=2; 82 enum RPC_C_AUTHN_LEVEL_CALL=3; 83 enum RPC_C_AUTHN_LEVEL_PKT=4; 84 enum RPC_C_AUTHN_LEVEL_PKT_INTEGRITY=5; 85 enum RPC_C_AUTHN_LEVEL_PKT_PRIVACY=6; 86 enum RPC_C_IMP_LEVEL_ANONYMOUS=1; 87 enum RPC_C_IMP_LEVEL_IDENTIFY=2; 88 enum RPC_C_IMP_LEVEL_IMPERSONATE=3; 89 enum RPC_C_IMP_LEVEL_DELEGATE=4; 90 enum RPC_C_QOS_IDENTITY_STATIC=0; 91 enum RPC_C_QOS_IDENTITY_DYNAMIC=1; 92 enum RPC_C_QOS_CAPABILITIES_DEFAULT=0; 93 enum RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH=1; 94 95 // These enums were buggy in MinGW ! 96 enum RPC_C_PROTECT_LEVEL_DEFAULT = RPC_C_AUTHN_LEVEL_DEFAULT; 97 enum RPC_C_PROTECT_LEVEL_NONE = RPC_C_AUTHN_LEVEL_NONE; 98 enum RPC_C_PROTECT_LEVEL_CONNECT = RPC_C_AUTHN_LEVEL_CONNECT; 99 enum RPC_C_PROTECT_LEVEL_CALL = RPC_C_AUTHN_LEVEL_CALL; 100 enum RPC_C_PROTECT_LEVEL_PKT = RPC_C_AUTHN_LEVEL_PKT; 101 enum RPC_C_PROTECT_LEVEL_PKT_INTEGRITY = RPC_C_AUTHN_LEVEL_PKT_INTEGRITY; 102 enum RPC_C_PROTECT_LEVEL_PKT_PRIVACY = RPC_C_AUTHN_LEVEL_PKT_PRIVACY; 103 104 enum RPC_C_AUTHN_NONE=0; 105 enum RPC_C_AUTHN_DCE_PRIVATE=1; 106 enum RPC_C_AUTHN_DCE_PUBLIC=2; 107 enum RPC_C_AUTHN_DEC_PUBLIC=4; 108 enum RPC_C_AUTHN_WINNT=10; 109 enum RPC_C_AUTHN_DEFAULT=0xFFFFFFFF; 110 //const RPC_C_SECURITY_QOS_VERSION=L; // FIXME(MinGW): This is nonsense! 111 enum SEC_WINNT_AUTH_IDENTITY_ANSI=0x1; 112 enum SEC_WINNT_AUTH_IDENTITY_UNICODE=0x2; 113 enum RPC_C_AUTHZ_NONE=0; 114 enum RPC_C_AUTHZ_NAME=1; 115 enum RPC_C_AUTHZ_DCE=2; 116 enum RPC_C_AUTHZ_DEFAULT=0xFFFFFFFF; 117 118 alias RPC_BINDING_HANDLE = I_RPC_HANDLE; 119 alias handle_t = RPC_BINDING_HANDLE; 120 121 struct RPC_BINDING_VECTOR { 122 uint Count; 123 RPC_BINDING_HANDLE[1] BindingH; 124 } 125 126 alias rpc_binding_handle_t = RPC_BINDING_HANDLE; 127 alias rpc_binding_vector_t = RPC_BINDING_VECTOR; 128 129 130 struct UUID_VECTOR { 131 uint Count; 132 UUID*[1] Uuid; 133 } 134 135 alias RPC_IF_HANDLE = void*; 136 137 struct RPC_IF_ID { 138 UUID Uuid; 139 ushort VersMajor; 140 ushort VersMinor; 141 } 142 143 struct RPC_POLICY { 144 uint Length; 145 uint EndpointFlags; 146 uint NICFlags; 147 } 148 alias PRPC_POLICY = RPC_POLICY*; 149 150 extern (Windows) { 151 alias void function(UUID*, UUID*, RPC_STATUS*) RPC_OBJECT_INQ_FN; 152 alias RPC_STATUS function(RPC_IF_HANDLE, void*) RPC_IF_CALLBACK_FN; 153 } 154 155 struct RPC_STATS_VECTOR { 156 uint Count; 157 uint[1] Stats; 158 } 159 160 struct RPC_IF_ID_VECTOR { 161 uint Count; 162 RPC_IF_ID*[1] IfId; 163 } 164 alias RPC_AUTH_IDENTITY_HANDLE = HANDLE; 165 alias RPC_AUTHZ_HANDLE = HANDLE; 166 167 struct RPC_SECURITY_QOS { 168 uint Version; 169 uint Capabilities; 170 uint IdentityTracking; 171 uint ImpersonationType; 172 } 173 alias PRPC_SECURITY_QOS = RPC_SECURITY_QOS*; 174 175 struct SEC_WINNT_AUTH_IDENTITY_W { 176 ushort* User; 177 uint UserLength; 178 ushort* Domain; 179 uint DomainLength; 180 ushort* Password; 181 uint PasswordLength; 182 uint Flags; 183 } 184 alias PSEC_WINNT_AUTH_IDENTITY_W = SEC_WINNT_AUTH_IDENTITY_W*; 185 186 struct SEC_WINNT_AUTH_IDENTITY_A { 187 ubyte* User; 188 uint UserLength; 189 ubyte* Domain; 190 uint DomainLength; 191 ubyte* Password; 192 uint PasswordLength; 193 uint Flags; 194 } 195 alias PSEC_WINNT_AUTH_IDENTITY_A = SEC_WINNT_AUTH_IDENTITY_A*; 196 197 struct RPC_CLIENT_INFORMATION1 { 198 ubyte* UserName; 199 ubyte* ComputerName; 200 ushort Privilege; 201 uint AuthFlags; 202 } 203 alias PRPC_CLIENT_INFORMATION1 = RPC_CLIENT_INFORMATION1*; 204 alias RPC_EP_INQ_HANDLE = I_RPC_HANDLE*; 205 extern (Windows) { 206 alias int function(RPC_BINDING_HANDLE, uint, RPC_STATUS*) RPC_MGMT_AUTHORIZATION_FN; 207 } 208 209 struct RPC_PROTSEQ_VECTORA { 210 uint Count; 211 ubyte*[1] Protseq; 212 } 213 214 struct RPC_PROTSEQ_VECTORW { 215 uint Count; 216 ushort*[1] Protseq; 217 } 218 219 extern (Windows) { 220 RPC_STATUS RpcBindingFromStringBindingA(char*, RPC_BINDING_HANDLE*); 221 RPC_STATUS RpcBindingFromStringBindingW(wchar*, RPC_BINDING_HANDLE*); 222 RPC_STATUS RpcBindingToStringBindingA(RPC_BINDING_HANDLE, char**); 223 RPC_STATUS RpcBindingToStringBindingW(RPC_BINDING_HANDLE, wchar**); 224 RPC_STATUS RpcStringBindingComposeA(char*, char*, char*, char*, char*, char**); 225 RPC_STATUS RpcStringBindingComposeW(wchar*, wchar*, wchar*, wchar*, wchar*, wchar**); 226 RPC_STATUS RpcStringBindingParseA(char*, char**, char**, char**, char**, char**); 227 RPC_STATUS RpcStringBindingParseW(wchar*, wchar**, wchar**, wchar**, wchar**, wchar**); 228 RPC_STATUS RpcStringFreeA(char**); 229 RPC_STATUS RpcStringFreeW(wchar**); 230 RPC_STATUS RpcNetworkIsProtseqValidA(char*); 231 RPC_STATUS RpcNetworkIsProtseqValidW(wchar*); 232 RPC_STATUS RpcNetworkInqProtseqsA(RPC_PROTSEQ_VECTORA**); 233 RPC_STATUS RpcNetworkInqProtseqsW(RPC_PROTSEQ_VECTORW**); 234 RPC_STATUS RpcProtseqVectorFreeA(RPC_PROTSEQ_VECTORA**); 235 RPC_STATUS RpcProtseqVectorFreeW(RPC_PROTSEQ_VECTORW**); 236 RPC_STATUS RpcServerUseProtseqA(char*, uint, void*); 237 RPC_STATUS RpcServerUseProtseqW(wchar*, uint, void*); 238 RPC_STATUS RpcServerUseProtseqExA(char*, uint MaxCalls, void*, PRPC_POLICY); 239 RPC_STATUS RpcServerUseProtseqExW(wchar*, uint, void*, PRPC_POLICY); 240 RPC_STATUS RpcServerUseProtseqEpA(char*, uint, char*, void*); 241 RPC_STATUS RpcServerUseProtseqEpExA(char*, uint, char*, void*, PRPC_POLICY); 242 RPC_STATUS RpcServerUseProtseqEpW(wchar*, uint, wchar*, void*); 243 RPC_STATUS RpcServerUseProtseqEpExW(wchar*, uint, wchar*, void*, PRPC_POLICY); 244 RPC_STATUS RpcServerUseProtseqIfA(char*, uint, RPC_IF_HANDLE, void*); 245 RPC_STATUS RpcServerUseProtseqIfExA(char*, uint, RPC_IF_HANDLE, void*, PRPC_POLICY); 246 RPC_STATUS RpcServerUseProtseqIfW(wchar*, uint, RPC_IF_HANDLE, void*); 247 RPC_STATUS RpcServerUseProtseqIfExW(wchar*, uint, RPC_IF_HANDLE, void*, PRPC_POLICY); 248 RPC_STATUS RpcMgmtInqServerPrincNameA(RPC_BINDING_HANDLE, uint, char**); 249 RPC_STATUS RpcMgmtInqServerPrincNameW(RPC_BINDING_HANDLE, uint, wchar**); 250 RPC_STATUS RpcServerInqDefaultPrincNameA(uint, char**); 251 RPC_STATUS RpcServerInqDefaultPrincNameW(uint, wchar**); 252 RPC_STATUS RpcNsBindingInqEntryNameA(RPC_BINDING_HANDLE, uint, char**); 253 RPC_STATUS RpcNsBindingInqEntryNameW(RPC_BINDING_HANDLE, uint, wchar**); 254 RPC_STATUS RpcBindingInqAuthClientA(RPC_BINDING_HANDLE, RPC_AUTHZ_HANDLE*, char**, uint*, uint*, uint*); 255 RPC_STATUS RpcBindingInqAuthClientW(RPC_BINDING_HANDLE, RPC_AUTHZ_HANDLE*, wchar**, uint*, uint*, uint*); 256 RPC_STATUS RpcBindingInqAuthInfoA(RPC_BINDING_HANDLE, char**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*); 257 RPC_STATUS RpcBindingInqAuthInfoW(RPC_BINDING_HANDLE, wchar**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*); 258 RPC_STATUS RpcBindingSetAuthInfoA(RPC_BINDING_HANDLE, char*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint); 259 RPC_STATUS RpcBindingSetAuthInfoExA(RPC_BINDING_HANDLE, char*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint, RPC_SECURITY_QOS*); 260 RPC_STATUS RpcBindingSetAuthInfoW(RPC_BINDING_HANDLE, wchar*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint); 261 RPC_STATUS RpcBindingSetAuthInfoExW(RPC_BINDING_HANDLE, wchar*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint, RPC_SECURITY_QOS*); 262 RPC_STATUS RpcBindingInqAuthInfoExA(RPC_BINDING_HANDLE, char**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*, uint, RPC_SECURITY_QOS*); 263 RPC_STATUS RpcBindingInqAuthInfoExW(RPC_BINDING_HANDLE, wchar**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*, uint, RPC_SECURITY_QOS*); 264 alias void function(void*, wchar*, uint, void**, RPC_STATUS*) RPC_AUTH_KEY_RETRIEVAL_FN; 265 RPC_STATUS RpcServerRegisterAuthInfoA(char*, uint, RPC_AUTH_KEY_RETRIEVAL_FN, void*); 266 RPC_STATUS RpcServerRegisterAuthInfoW(wchar*, uint, RPC_AUTH_KEY_RETRIEVAL_FN, void*); 267 RPC_STATUS UuidToStringA(UUID*, char**); 268 RPC_STATUS UuidFromStringA(char*, UUID*); 269 RPC_STATUS UuidToStringW(UUID*, wchar**); 270 RPC_STATUS UuidFromStringW(wchar*, UUID*); 271 RPC_STATUS RpcEpRegisterNoReplaceA(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, char*); 272 RPC_STATUS RpcEpRegisterNoReplaceW(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, wchar*); 273 RPC_STATUS RpcEpRegisterA(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, char*); 274 RPC_STATUS RpcEpRegisterW(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, wchar*); 275 RPC_STATUS DceErrorInqTextA(RPC_STATUS, char*); 276 RPC_STATUS DceErrorInqTextW(RPC_STATUS, wchar*); 277 RPC_STATUS RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDLE*, UUID*, char**); 278 RPC_STATUS RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDLE*, UUID*, wchar**); 279 280 // MinGW erroneously had these in rpc.h 281 RPC_STATUS RpcImpersonateClient(RPC_BINDING_HANDLE); 282 RPC_STATUS RpcRevertToSelf(); 283 } 284 285 version (Unicode) { 286 alias RPC_PROTSEQ_VECTOR = RPC_PROTSEQ_VECTORW; 287 alias SEC_WINNT_AUTH_IDENTITY = SEC_WINNT_AUTH_IDENTITY_W; 288 alias PSEC_WINNT_AUTH_IDENTITY = PSEC_WINNT_AUTH_IDENTITY_W; 289 alias RpcMgmtEpEltInqNext = RpcMgmtEpEltInqNextW; 290 alias RpcBindingFromStringBinding = RpcBindingFromStringBindingW; 291 alias RpcBindingToStringBinding = RpcBindingToStringBindingW; 292 alias RpcStringBindingCompose = RpcStringBindingComposeW; 293 alias RpcStringBindingParse = RpcStringBindingParseW; 294 alias RpcStringFree = RpcStringFreeW; 295 alias RpcNetworkIsProtseqValid = RpcNetworkIsProtseqValidW; 296 alias RpcNetworkInqProtseqs = RpcNetworkInqProtseqsW; 297 alias RpcProtseqVectorFree = RpcProtseqVectorFreeW; 298 alias RpcServerUseProtseq = RpcServerUseProtseqW; 299 alias RpcServerUseProtseqEx = RpcServerUseProtseqExW; 300 alias RpcServerUseProtseqEp = RpcServerUseProtseqEpW; 301 alias RpcServerUseProtseqEpEx = RpcServerUseProtseqEpExW; 302 alias RpcServerUseProtseqIf = RpcServerUseProtseqIfW; 303 alias RpcServerUseProtseqIfEx = RpcServerUseProtseqIfExW; 304 alias RpcMgmtInqServerPrincName = RpcMgmtInqServerPrincNameW; 305 alias RpcServerInqDefaultPrincName = RpcServerInqDefaultPrincNameW; 306 alias RpcNsBindingInqEntryName = RpcNsBindingInqEntryNameW; 307 alias RpcBindingInqAuthClient = RpcBindingInqAuthClientW; 308 alias RpcBindingInqAuthInfo = RpcBindingInqAuthInfoW; 309 alias RpcBindingSetAuthInfo = RpcBindingSetAuthInfoW; 310 alias RpcServerRegisterAuthInfo = RpcServerRegisterAuthInfoW; 311 alias RpcBindingInqAuthInfoEx = RpcBindingInqAuthInfoExW; 312 alias RpcBindingSetAuthInfoEx = RpcBindingSetAuthInfoExW; 313 alias UuidFromString = UuidFromStringW; 314 alias UuidToString = UuidToStringW; 315 alias RpcEpRegisterNoReplace = RpcEpRegisterNoReplaceW; 316 alias RpcEpRegister = RpcEpRegisterW; 317 alias DceErrorInqText = DceErrorInqTextW; 318 } else { // Ansi 319 alias RPC_PROTSEQ_VECTOR = RPC_PROTSEQ_VECTORA; 320 alias SEC_WINNT_AUTH_IDENTITY = SEC_WINNT_AUTH_IDENTITY_A; 321 alias PSEC_WINNT_AUTH_IDENTITY = PSEC_WINNT_AUTH_IDENTITY_A; 322 alias RpcMgmtEpEltInqNext = RpcMgmtEpEltInqNextA; 323 alias RpcBindingFromStringBinding = RpcBindingFromStringBindingA; 324 alias RpcBindingToStringBinding = RpcBindingToStringBindingA; 325 alias RpcStringBindingCompose = RpcStringBindingComposeA; 326 alias RpcStringBindingParse = RpcStringBindingParseA; 327 alias RpcStringFree = RpcStringFreeA; 328 alias RpcNetworkIsProtseqValid = RpcNetworkIsProtseqValidA; 329 alias RpcNetworkInqProtseqs = RpcNetworkInqProtseqsA; 330 alias RpcProtseqVectorFree = RpcProtseqVectorFreeA; 331 alias RpcServerUseProtseq = RpcServerUseProtseqA; 332 alias RpcServerUseProtseqEx = RpcServerUseProtseqExA; 333 alias RpcServerUseProtseqEp = RpcServerUseProtseqEpA; 334 alias RpcServerUseProtseqEpEx = RpcServerUseProtseqEpExA; 335 alias RpcServerUseProtseqIf = RpcServerUseProtseqIfA; 336 alias RpcServerUseProtseqIfEx = RpcServerUseProtseqIfExA; 337 alias RpcMgmtInqServerPrincName = RpcMgmtInqServerPrincNameA; 338 alias RpcServerInqDefaultPrincName = RpcServerInqDefaultPrincNameA; 339 alias RpcNsBindingInqEntryName = RpcNsBindingInqEntryNameA; 340 alias RpcBindingInqAuthClient = RpcBindingInqAuthClientA; 341 alias RpcBindingInqAuthInfo = RpcBindingInqAuthInfoA; 342 alias RpcBindingSetAuthInfo = RpcBindingSetAuthInfoA; 343 alias RpcServerRegisterAuthInfo = RpcServerRegisterAuthInfoA; 344 alias RpcBindingInqAuthInfoEx = RpcBindingInqAuthInfoExA; 345 alias RpcBindingSetAuthInfoEx = RpcBindingSetAuthInfoExA; 346 alias UuidFromString = UuidFromStringA; 347 alias UuidToString = UuidToStringA; 348 alias RpcEpRegisterNoReplace = RpcEpRegisterNoReplaceA; 349 alias RpcEpRegister = RpcEpRegisterA; 350 alias DceErrorInqText = DceErrorInqTextA; 351 } //#endif // UNICODE 352 353 extern (Windows) { 354 RPC_STATUS RpcBindingCopy(RPC_BINDING_HANDLE, RPC_BINDING_HANDLE*); 355 RPC_STATUS RpcBindingFree(RPC_BINDING_HANDLE*); 356 RPC_STATUS RpcBindingInqObject(RPC_BINDING_HANDLE, UUID*); 357 RPC_STATUS RpcBindingReset(RPC_BINDING_HANDLE); 358 RPC_STATUS RpcBindingSetObject(RPC_BINDING_HANDLE, UUID*); 359 RPC_STATUS RpcMgmtInqDefaultProtectLevel(uint, uint*); 360 RPC_STATUS RpcBindingVectorFree(RPC_BINDING_VECTOR**); 361 RPC_STATUS RpcIfInqId(RPC_IF_HANDLE, RPC_IF_ID*); 362 RPC_STATUS RpcMgmtInqComTimeout(RPC_BINDING_HANDLE, uint*); 363 RPC_STATUS RpcMgmtSetComTimeout(RPC_BINDING_HANDLE, uint); 364 RPC_STATUS RpcMgmtSetCancelTimeout(int Timeout); 365 RPC_STATUS RpcObjectInqType(UUID*, UUID*); 366 RPC_STATUS RpcObjectSetInqFn(RPC_OBJECT_INQ_FN*); 367 RPC_STATUS RpcObjectSetType(UUID*, UUID*); 368 RPC_STATUS RpcProtseqVectorFree(RPC_PROTSEQ_VECTOR**); 369 RPC_STATUS RpcServerInqIf(RPC_IF_HANDLE, UUID*, RPC_MGR_EPV**); 370 RPC_STATUS RpcServerListen(uint, uint, uint); 371 RPC_STATUS RpcServerRegisterIf(RPC_IF_HANDLE, UUID*, RPC_MGR_EPV*); 372 RPC_STATUS RpcServerRegisterIfEx(RPC_IF_HANDLE, UUID*, RPC_MGR_EPV*, uint, uint, RPC_IF_CALLBACK_FN*); 373 RPC_STATUS RpcServerRegisterIf2(RPC_IF_HANDLE, UUID*, RPC_MGR_EPV*, uint, uint, uint, RPC_IF_CALLBACK_FN*); 374 RPC_STATUS RpcServerUnregisterIf(RPC_IF_HANDLE, UUID*, uint); 375 RPC_STATUS RpcServerUseAllProtseqs(uint, void*); 376 RPC_STATUS RpcServerUseAllProtseqsEx(uint, void*, PRPC_POLICY); 377 RPC_STATUS RpcServerUseAllProtseqsIf(uint, RPC_IF_HANDLE, void*); 378 RPC_STATUS RpcServerUseAllProtseqsIfEx(uint, RPC_IF_HANDLE, void*, PRPC_POLICY); 379 RPC_STATUS RpcMgmtStatsVectorFree(RPC_STATS_VECTOR**); 380 RPC_STATUS RpcMgmtInqStats(RPC_BINDING_HANDLE, RPC_STATS_VECTOR**); 381 RPC_STATUS RpcMgmtIsServerListening(RPC_BINDING_HANDLE); 382 RPC_STATUS RpcMgmtStopServerListening(RPC_BINDING_HANDLE); 383 RPC_STATUS RpcMgmtWaitServerListen(); 384 RPC_STATUS RpcMgmtSetServerStackSize(uint); 385 void RpcSsDontSerializeContext(); 386 RPC_STATUS RpcMgmtEnableIdleCleanup(); 387 RPC_STATUS RpcMgmtInqIfIds(RPC_BINDING_HANDLE, RPC_IF_ID_VECTOR**); 388 RPC_STATUS RpcIfIdVectorFree(RPC_IF_ID_VECTOR**); 389 RPC_STATUS RpcEpResolveBinding(RPC_BINDING_HANDLE, RPC_IF_HANDLE); 390 RPC_STATUS RpcBindingServerFromClient(RPC_BINDING_HANDLE, RPC_BINDING_HANDLE*); 391 392 // never returns 393 void RpcRaiseException(RPC_STATUS); 394 RPC_STATUS RpcTestCancel(); 395 RPC_STATUS RpcCancelThread(void*); 396 RPC_STATUS UuidCreate(UUID*); 397 int UuidCompare(UUID*, UUID*, RPC_STATUS*); 398 RPC_STATUS UuidCreateNil(UUID*); 399 int UuidEqual(UUID*, UUID*, RPC_STATUS*); 400 ushort UuidHash(UUID*, RPC_STATUS*); 401 int UuidIsNil(UUID*, RPC_STATUS*); 402 RPC_STATUS RpcEpUnregister(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*); 403 RPC_STATUS RpcMgmtEpEltInqBegin(RPC_BINDING_HANDLE, uint, RPC_IF_ID*, uint, UUID*, RPC_EP_INQ_HANDLE*); 404 RPC_STATUS RpcMgmtEpEltInqDone(RPC_EP_INQ_HANDLE*); 405 RPC_STATUS RpcMgmtEpUnregister(RPC_BINDING_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDLE, UUID*); 406 RPC_STATUS RpcMgmtSetAuthorizationFn(RPC_MGMT_AUTHORIZATION_FN); 407 RPC_STATUS RpcMgmtInqParameter(uint, uint*); 408 RPC_STATUS RpcMgmtSetParameter(uint, uint); 409 RPC_STATUS RpcMgmtBindingInqParameter(RPC_BINDING_HANDLE, uint, uint*); 410 RPC_STATUS RpcMgmtBindingSetParameter(RPC_BINDING_HANDLE, uint, uint); 411 412 //static if (_WIN32_WINNT >= 0x500) { 413 RPC_STATUS UuidCreateSequential(UUID*); 414 //} 415 }