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