|
|
1.1 ! root 1: /*++ ! 2: ! 3: Copyright (c) 1991 Microsoft Corporation ! 4: ! 5: Module Name: ! 6: ! 7: rpcdce.h ! 8: ! 9: Abstract: ! 10: ! 11: This module contains the DCE RPC runtime APIs. ! 12: ! 13: Author: ! 14: ! 15: Michael Montague (mikemon) 25-Sep-1991 ! 16: ! 17: Revision History: ! 18: ! 19: --*/ ! 20: ! 21: #ifndef __RPCDCE_H__ ! 22: #define __RPCDCE_H__ ! 23: ! 24: #define IN ! 25: #define OUT ! 26: #define OPTIONAL ! 27: ! 28: /*typedef char small;*/ ! 29: /*typedef unsigned char byte;*/ ! 30: /*typedef unsigned char boolean;*/ ! 31: ! 32: typedef I_RPC_HANDLE RPC_BINDING_HANDLE; ! 33: typedef RPC_BINDING_HANDLE handle_t; ! 34: #define rpc_binding_handle_t RPC_BINDING_HANDLE ! 35: ! 36: #ifndef GUID_DEFINED ! 37: #define GUID_DEFINED ! 38: typedef struct _GUID ! 39: { ! 40: unsigned long Data1; ! 41: unsigned short Data2; ! 42: unsigned short Data3; ! 43: unsigned char Data4[8]; ! 44: } GUID; ! 45: #endif /* GUID_DEFINED */ ! 46: ! 47: #ifndef UUID_DEFINED ! 48: #define UUID_DEFINED ! 49: typedef GUID UUID; ! 50: #define uuid_t UUID ! 51: #endif ! 52: ! 53: typedef struct _RPC_BINDING_VECTOR ! 54: { ! 55: unsigned long Count; ! 56: RPC_BINDING_HANDLE BindingH[1]; ! 57: } RPC_BINDING_VECTOR; ! 58: #define rpc_binding_vector_t RPC_BINDING_VECTOR ! 59: ! 60: typedef struct _UUID_VECTOR ! 61: { ! 62: unsigned long Count; ! 63: UUID *Uuid[1]; ! 64: } UUID_VECTOR; ! 65: #define uuid_vector_t UUID_VECTOR ! 66: ! 67: typedef void PAPI * RPC_IF_HANDLE; ! 68: ! 69: #ifndef IFID_DEFINED ! 70: #define IFID_DEFINED ! 71: typedef struct _RPC_IF_ID ! 72: { ! 73: UUID Uuid; ! 74: unsigned short VersMajor; ! 75: unsigned short VersMinor; ! 76: } RPC_IF_ID; ! 77: #endif ! 78: ! 79: #define RPC_C_BINDING_INFINITE_TIMEOUT 10 ! 80: #define RPC_C_BINDING_MIN_TIMEOUT 0 ! 81: #define RPC_C_BINDING_DEFAULT_TIMEOUT 5 ! 82: #define RPC_C_BINDING_MAX_TIMEOUT 9 ! 83: ! 84: #ifdef RPC_UNICODE_SUPPORTED ! 85: ! 86: typedef struct _RPC_PROTSEQ_VECTORA ! 87: { ! 88: unsigned int Count; ! 89: unsigned char PAPI * Protseq[1]; ! 90: } RPC_PROTSEQ_VECTORA; ! 91: ! 92: typedef struct _RPC_PROTSEQ_VECTORW ! 93: { ! 94: unsigned int Count; ! 95: unsigned short PAPI * Protseq[1]; ! 96: } RPC_PROTSEQ_VECTORW; ! 97: ! 98: #ifdef UNICODE ! 99: #define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORW ! 100: #else /* UNICODE */ ! 101: #define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORA ! 102: #endif /* UNICODE */ ! 103: ! 104: #else /* RPC_UNICODE_SUPPORTED */ ! 105: ! 106: typedef struct _RPC_PROTSEQ_VECTOR ! 107: { ! 108: unsigned int Count; ! 109: unsigned char PAPI * Protseq[1]; ! 110: } RPC_PROTSEQ_VECTOR; ! 111: ! 112: #endif /* RPC_UNICODE_SUPPORTED */ ! 113: ! 114: typedef void ! 115: (PAPI * RPC_OBJECT_INQ_FN) ( ! 116: IN UUID PAPI * ObjectUuid, ! 117: OUT UUID PAPI * TypeUuid, ! 118: OUT RPC_STATUS PAPI * Status ! 119: ); ! 120: ! 121: typedef void PAPI * RPC_MGR_EPV; /* ### Hacked. */ ! 122: ! 123: typedef struct ! 124: { ! 125: unsigned int Count; ! 126: unsigned long Stats[1]; ! 127: } RPC_STATS_VECTOR; ! 128: ! 129: #define RPC_C_STATS_CALLS_IN 0 ! 130: #define RPC_C_STATS_CALLS_OUT 1 ! 131: #define RPC_C_STATS_PKTS_IN 2 ! 132: #define RPC_C_STATS_PKTS_OUT 3 ! 133: ! 134: /* client */ ! 135: RPC_STATUS RPC_ENTRY ! 136: RpcBindingCopy ( ! 137: IN RPC_BINDING_HANDLE SourceBinding, ! 138: OUT RPC_BINDING_HANDLE PAPI * DestinationBinding ! 139: ); ! 140: ! 141: /* client */ ! 142: RPC_STATUS RPC_ENTRY ! 143: RpcBindingFree ( ! 144: IN OUT RPC_BINDING_HANDLE PAPI * Binding ! 145: ); ! 146: ! 147: /* client */ ! 148: ! 149: #ifdef RPC_UNICODE_SUPPORTED ! 150: ! 151: RPC_STATUS RPC_ENTRY ! 152: RpcBindingFromStringBindingA ( ! 153: IN unsigned char PAPI * StringBinding, ! 154: OUT RPC_BINDING_HANDLE PAPI * Binding ! 155: ); ! 156: ! 157: RPC_STATUS RPC_ENTRY ! 158: RpcBindingFromStringBindingW ( ! 159: IN unsigned short PAPI * StringBinding, ! 160: OUT RPC_BINDING_HANDLE PAPI * Binding ! 161: ); ! 162: ! 163: #ifdef UNICODE ! 164: #define RpcBindingFromStringBinding RpcBindingFromStringBindingW ! 165: #else /* UNICODE */ ! 166: #define RpcBindingFromStringBinding RpcBindingFromStringBindingA ! 167: #endif /* UNICODE */ ! 168: ! 169: #else /* RPC_UNICODE_SUPPORTED */ ! 170: ! 171: RPC_STATUS RPC_ENTRY ! 172: RpcBindingFromStringBinding ( ! 173: IN unsigned char PAPI * StringBinding, ! 174: OUT RPC_BINDING_HANDLE PAPI * Binding ! 175: ); ! 176: ! 177: #endif /* RPC_UNICODE_SUPPORTED */ ! 178: ! 179: /* RpcBindingInqAuthClient */ ! 180: /* RpcBindingInqAuthInfo */ ! 181: ! 182: /* client/server */ ! 183: RPC_STATUS RPC_ENTRY ! 184: RpcBindingInqObject ( ! 185: IN RPC_BINDING_HANDLE Binding, ! 186: OUT UUID PAPI * ObjectUuid ! 187: ); ! 188: ! 189: /* client */ ! 190: RPC_STATUS RPC_ENTRY ! 191: RpcBindingReset ( ! 192: IN RPC_BINDING_HANDLE Binding ! 193: ); ! 194: ! 195: /* RpcBindingServerFromClient : UNSUPPORTED */ ! 196: /* RpcBindingSetAuthInfo */ ! 197: ! 198: /* client */ ! 199: RPC_STATUS RPC_ENTRY ! 200: RpcBindingSetObject ( ! 201: IN RPC_BINDING_HANDLE Binding, ! 202: IN UUID PAPI * ObjectUuid ! 203: ); ! 204: ! 205: /* client/server */ ! 206: ! 207: #ifdef RPC_UNICODE_SUPPORTED ! 208: ! 209: RPC_STATUS RPC_ENTRY ! 210: RpcBindingToStringBindingA ( ! 211: IN RPC_BINDING_HANDLE Binding, ! 212: OUT unsigned char PAPI * PAPI * StringBinding ! 213: ); ! 214: ! 215: RPC_STATUS RPC_ENTRY ! 216: RpcBindingToStringBindingW ( ! 217: IN RPC_BINDING_HANDLE Binding, ! 218: OUT unsigned short PAPI * PAPI * StringBinding ! 219: ); ! 220: ! 221: #ifdef UNICODE ! 222: #define RpcBindingToStringBinding RpcBindingToStringBindingW ! 223: #else /* UNICODE */ ! 224: #define RpcBindingToStringBinding RpcBindingToStringBindingA ! 225: #endif /* UNICODE */ ! 226: ! 227: #else /* RPC_UNICODE_SUPPORTED */ ! 228: ! 229: RPC_STATUS RPC_ENTRY ! 230: RpcBindingToStringBinding ( ! 231: IN RPC_BINDING_HANDLE Binding, ! 232: OUT unsigned char PAPI * PAPI * StringBinding ! 233: ); ! 234: ! 235: #endif /* RPC_UNICODE_SUPPORTED */ ! 236: ! 237: /* client/server */ ! 238: RPC_STATUS RPC_ENTRY ! 239: RpcBindingVectorFree ( ! 240: IN OUT RPC_BINDING_VECTOR PAPI * PAPI * BindingVector ! 241: ); ! 242: ! 243: /* client/server */ ! 244: ! 245: #ifdef RPC_UNICODE_SUPPORTED ! 246: ! 247: RPC_STATUS RPC_ENTRY ! 248: RpcStringBindingComposeA ( ! 249: IN unsigned char PAPI * ObjUuid OPTIONAL, ! 250: IN unsigned char PAPI * Protseq OPTIONAL, ! 251: IN unsigned char PAPI * NetworkAddr OPTIONAL, ! 252: IN unsigned char PAPI * Endpoint OPTIONAL, ! 253: IN unsigned char PAPI * Options OPTIONAL, ! 254: OUT unsigned char PAPI * PAPI * StringBinding OPTIONAL ! 255: ); ! 256: ! 257: RPC_STATUS RPC_ENTRY ! 258: RpcStringBindingComposeW ( ! 259: IN unsigned short PAPI * ObjUuid OPTIONAL, ! 260: IN unsigned short PAPI * Protseq OPTIONAL, ! 261: IN unsigned short PAPI * NetworkAddr OPTIONAL, ! 262: IN unsigned short PAPI * Endpoint OPTIONAL, ! 263: IN unsigned short PAPI * Options OPTIONAL, ! 264: OUT unsigned short PAPI * PAPI * StringBinding OPTIONAL ! 265: ); ! 266: ! 267: #ifdef UNICODE ! 268: #define RpcStringBindingCompose RpcStringBindingComposeW ! 269: #else /* UNICODE */ ! 270: #define RpcStringBindingCompose RpcStringBindingComposeA ! 271: #endif /* UNICODE */ ! 272: ! 273: #else /* RPC_UNICODE_SUPPORTED */ ! 274: ! 275: RPC_STATUS RPC_ENTRY ! 276: RpcStringBindingCompose ( ! 277: IN unsigned char PAPI * ObjUuid OPTIONAL, ! 278: IN unsigned char PAPI * Protseq OPTIONAL, ! 279: IN unsigned char PAPI * NetworkAddr OPTIONAL, ! 280: IN unsigned char PAPI * Endpoint OPTIONAL, ! 281: IN unsigned char PAPI * Options OPTIONAL, ! 282: OUT unsigned char PAPI * PAPI * StringBinding OPTIONAL ! 283: ); ! 284: ! 285: #endif /* RPC_UNICODE_SUPPORTED */ ! 286: ! 287: /* client/server */ ! 288: ! 289: #ifdef RPC_UNICODE_SUPPORTED ! 290: ! 291: RPC_STATUS RPC_ENTRY ! 292: RpcStringBindingParseA ( ! 293: IN unsigned char PAPI * StringBinding, ! 294: OUT unsigned char PAPI * PAPI * ObjUuid OPTIONAL, ! 295: OUT unsigned char PAPI * PAPI * Protseq OPTIONAL, ! 296: OUT unsigned char PAPI * PAPI * NetworkAddr OPTIONAL, ! 297: OUT unsigned char PAPI * PAPI * Endpoint OPTIONAL, ! 298: OUT unsigned char PAPI * PAPI * NetworkOptions OPTIONAL ! 299: ); ! 300: ! 301: RPC_STATUS RPC_ENTRY ! 302: RpcStringBindingParseW ( ! 303: IN unsigned short PAPI * StringBinding, ! 304: OUT unsigned short PAPI * PAPI * ObjUuid OPTIONAL, ! 305: OUT unsigned short PAPI * PAPI * Protseq OPTIONAL, ! 306: OUT unsigned short PAPI * PAPI * NetworkAddr OPTIONAL, ! 307: OUT unsigned short PAPI * PAPI * Endpoint OPTIONAL, ! 308: OUT unsigned short PAPI * PAPI * NetworkOptions OPTIONAL ! 309: ); ! 310: ! 311: #ifdef UNICODE ! 312: #define RpcStringBindingParse RpcStringBindingParseW ! 313: #else /* UNICODE */ ! 314: #define RpcStringBindingParse RpcStringBindingParseA ! 315: #endif /* UNICODE */ ! 316: ! 317: #else /* RPC_UNICODE_SUPPORTED */ ! 318: ! 319: RPC_STATUS RPC_ENTRY ! 320: RpcStringBindingParse ( ! 321: IN unsigned char PAPI * StringBinding, ! 322: OUT unsigned char PAPI * PAPI * ObjUuid OPTIONAL, ! 323: OUT unsigned char PAPI * PAPI * Protseq OPTIONAL, ! 324: OUT unsigned char PAPI * PAPI * NetworkAddr OPTIONAL, ! 325: OUT unsigned char PAPI * PAPI * Endpoint OPTIONAL, ! 326: OUT unsigned char PAPI * PAPI * NetworkOptions OPTIONAL ! 327: ); ! 328: ! 329: #endif /* RPC_UNICODE_SUPPORTED */ ! 330: ! 331: /* client/server */ ! 332: ! 333: #ifdef RPC_UNICODE_SUPPORTED ! 334: ! 335: RPC_STATUS RPC_ENTRY ! 336: RpcStringFreeA ( ! 337: IN OUT unsigned char PAPI * PAPI * String ! 338: ); ! 339: ! 340: RPC_STATUS RPC_ENTRY ! 341: RpcStringFreeW ( ! 342: IN OUT unsigned short PAPI * PAPI * String ! 343: ); ! 344: ! 345: #ifdef UNICODE ! 346: #define RpcStringFree RpcStringFreeW ! 347: #else /* UNICODE */ ! 348: #define RpcStringFree RpcStringFreeA ! 349: #endif /* UNICODE */ ! 350: ! 351: #else /* RPC_UNICODE_SUPPORTED */ ! 352: ! 353: RPC_STATUS RPC_ENTRY ! 354: RpcStringFree ( ! 355: IN OUT unsigned char PAPI * PAPI * String ! 356: ); ! 357: ! 358: #endif /* RPC_UNICODE_SUPPORTED */ ! 359: ! 360: /* client/server */ ! 361: RPC_STATUS RPC_ENTRY ! 362: RpcIfInqId ( ! 363: IN RPC_IF_HANDLE RpcIfHandle, ! 364: OUT RPC_IF_ID PAPI * RpcIfId ! 365: ); ! 366: ! 367: /* client/server */ ! 368: ! 369: #ifdef RPC_UNICODE_SUPPORTED ! 370: ! 371: RPC_STATUS RPC_ENTRY ! 372: RpcNetworkIsProtseqValidA ( ! 373: IN unsigned char PAPI * Protseq ! 374: ); ! 375: ! 376: RPC_STATUS RPC_ENTRY ! 377: RpcNetworkIsProtseqValidW ( ! 378: IN unsigned short PAPI * Protseq ! 379: ); ! 380: ! 381: #ifdef UNICODE ! 382: #define RpcNetworkIsProtseqValid RpcNetworkIsProtseqValidW ! 383: #else /* UNICODE */ ! 384: #define RpcNetworkIsProtseqValid RpcNetworkIsProtseqValidA ! 385: #endif /* UNICODE */ ! 386: ! 387: #else /* RPC_UNICODE_SUPPORTED */ ! 388: ! 389: RPC_STATUS RPC_ENTRY ! 390: RpcNetworkIsProtseqValid ( ! 391: IN unsigned char PAPI * Protseq ! 392: ); ! 393: ! 394: #endif /* RPC_UNICODE_SUPPORTED */ ! 395: ! 396: /* client */ ! 397: RPC_STATUS RPC_ENTRY ! 398: RpcMgmtInqComTimeout ( ! 399: IN RPC_BINDING_HANDLE Binding, ! 400: OUT unsigned int PAPI * Timeout ! 401: ); ! 402: ! 403: /* client */ ! 404: RPC_STATUS RPC_ENTRY ! 405: RpcMgmtSetComTimeout ( ! 406: IN RPC_BINDING_HANDLE Binding, ! 407: IN unsigned int Timeout ! 408: ); ! 409: ! 410: /* server */ ! 411: ! 412: #ifdef RPC_UNICODE_SUPPORTED ! 413: ! 414: RPC_STATUS RPC_ENTRY ! 415: RpcNetworkInqProtseqsA ( ! 416: OUT RPC_PROTSEQ_VECTORA PAPI * PAPI * ProtseqVector ! 417: ); ! 418: ! 419: RPC_STATUS RPC_ENTRY ! 420: RpcNetworkInqProtseqsW ( ! 421: OUT RPC_PROTSEQ_VECTORW PAPI * PAPI * ProtseqVector ! 422: ); ! 423: ! 424: #ifdef UNICODE ! 425: #define RpcNetworkInqProtseqs RpcNetworkInqProtseqsW ! 426: #else /* UNICODE */ ! 427: #define RpcNetworkInqProtseqs RpcNetworkInqProtseqsA ! 428: #endif /* UNICODE */ ! 429: ! 430: #else /* RPC_UNICODE_SUPPORTED */ ! 431: ! 432: RPC_STATUS RPC_ENTRY ! 433: RpcNetworkInqProtseqs ( ! 434: OUT RPC_PROTSEQ_VECTOR PAPI * PAPI * ProtseqVector ! 435: ); ! 436: ! 437: #endif /* RPC_UNICODE_SUPPORTED */ ! 438: ! 439: /* server */ ! 440: RPC_STATUS RPC_ENTRY ! 441: RpcObjectInqType ( ! 442: IN UUID PAPI * ObjUuid, ! 443: OUT UUID PAPI * TypeUuid OPTIONAL ! 444: ); ! 445: ! 446: /* server */ ! 447: RPC_STATUS RPC_ENTRY ! 448: RpcObjectSetInqFn ( ! 449: IN RPC_OBJECT_INQ_FN InquiryFn ! 450: ); ! 451: ! 452: /* server */ ! 453: RPC_STATUS RPC_ENTRY ! 454: RpcObjectSetType ( ! 455: IN UUID PAPI * ObjUuid, ! 456: IN UUID PAPI * TypeUuid OPTIONAL ! 457: ); ! 458: ! 459: /* server */ ! 460: ! 461: #ifdef RPC_UNICODE_SUPPORTED ! 462: ! 463: RPC_STATUS RPC_ENTRY ! 464: RpcProtseqVectorFreeA ( ! 465: IN OUT RPC_PROTSEQ_VECTORA PAPI * PAPI * ProtseqVector ! 466: ); ! 467: ! 468: RPC_STATUS RPC_ENTRY ! 469: RpcProtseqVectorFreeW ( ! 470: IN OUT RPC_PROTSEQ_VECTORW PAPI * PAPI * ProtseqVector ! 471: ); ! 472: ! 473: #ifdef UNICODE ! 474: #define RpcProtseqVectorFree RpcProtseqVectorFreeW ! 475: #else /* UNICODE */ ! 476: #define RpcProtseqVectorFree RpcProtseqVectorFreeA ! 477: #endif /* UNICODE */ ! 478: ! 479: #else /* RPC_UNICODE_SUPPORTED */ ! 480: ! 481: RPC_STATUS RPC_ENTRY ! 482: RpcProtseqVectorFree ( ! 483: IN OUT RPC_PROTSEQ_VECTOR PAPI * PAPI * ProtseqVector ! 484: ); ! 485: ! 486: #endif /* RPC_UNICODE_SUPPORTED */ ! 487: ! 488: /* server */ ! 489: RPC_STATUS RPC_ENTRY ! 490: RpcServerInqBindings ( ! 491: OUT RPC_BINDING_VECTOR PAPI * PAPI * BindingVector ! 492: ); ! 493: ! 494: /* server */ ! 495: RPC_STATUS RPC_ENTRY ! 496: RpcServerInqIf ( ! 497: IN RPC_IF_HANDLE IfSpec, ! 498: IN UUID PAPI * MgrTypeUuid, OPTIONAL ! 499: OUT RPC_MGR_EPV PAPI * MgrEpv ! 500: ); ! 501: ! 502: /* server */ ! 503: RPC_STATUS RPC_ENTRY ! 504: RpcServerListen ( ! 505: IN unsigned int MinimumCallThreads, ! 506: IN unsigned int MaxCalls ! 507: ); ! 508: ! 509: /* server */ ! 510: RPC_STATUS RPC_ENTRY ! 511: RpcServerRegisterIf ( ! 512: IN RPC_IF_HANDLE IfSpec, ! 513: IN UUID PAPI * MgrTypeUuid OPTIONAL, ! 514: IN RPC_MGR_EPV MgrEpv OPTIONAL ! 515: ); ! 516: ! 517: /* server */ ! 518: RPC_STATUS RPC_ENTRY ! 519: RpcServerUnregisterIf ( ! 520: IN RPC_IF_HANDLE IfSpec, ! 521: IN UUID PAPI * MgrTypeUuid, OPTIONAL ! 522: IN unsigned int WaitForCallsToComplete ! 523: ); ! 524: ! 525: /* server */ ! 526: RPC_STATUS RPC_ENTRY ! 527: RpcServerUseAllProtseqs ( ! 528: IN unsigned int MaxCalls, ! 529: IN void PAPI * SecurityDescriptor OPTIONAL ! 530: ); ! 531: ! 532: /* server */ ! 533: RPC_STATUS RPC_ENTRY ! 534: RpcServerUseAllProtseqsIf ( ! 535: IN unsigned int MaxCalls, ! 536: IN RPC_IF_HANDLE IfSpec, ! 537: IN void PAPI * SecurityDescriptor OPTIONAL ! 538: ); ! 539: ! 540: /* server */ ! 541: ! 542: #ifdef RPC_UNICODE_SUPPORTED ! 543: ! 544: RPC_STATUS RPC_ENTRY ! 545: RpcServerUseProtseqA ( ! 546: IN unsigned char PAPI * Protseq, ! 547: IN unsigned int MaxCalls, ! 548: IN void PAPI * SecurityDescriptor OPTIONAL ! 549: ); ! 550: ! 551: RPC_STATUS RPC_ENTRY ! 552: RpcServerUseProtseqW ( ! 553: IN unsigned short PAPI * Protseq, ! 554: IN unsigned int MaxCalls, ! 555: IN void PAPI * SecurityDescriptor OPTIONAL ! 556: ); ! 557: ! 558: #ifdef UNICODE ! 559: #define RpcServerUseProtseq RpcServerUseProtseqW ! 560: #else /* UNICODE */ ! 561: #define RpcServerUseProtseq RpcServerUseProtseqA ! 562: #endif /* UNICODE */ ! 563: ! 564: #else /* RPC_UNICODE_SUPPORTED */ ! 565: ! 566: RPC_STATUS RPC_ENTRY ! 567: RpcServerUseProtseq ( ! 568: IN unsigned char PAPI * Protseq, ! 569: IN unsigned int MaxCalls, ! 570: IN void PAPI * SecurityDescriptor OPTIONAL ! 571: ); ! 572: ! 573: #endif /* RPC_UNICODE_SUPPORTED */ ! 574: ! 575: /* server */ ! 576: ! 577: #ifdef RPC_UNICODE_SUPPORTED ! 578: ! 579: RPC_STATUS RPC_ENTRY ! 580: RpcServerUseProtseqEpA ( ! 581: IN unsigned char PAPI * Protseq, ! 582: IN unsigned int MaxCalls, ! 583: IN unsigned char PAPI * Endpoint, ! 584: IN void PAPI * SecurityDescriptor OPTIONAL ! 585: ); ! 586: ! 587: RPC_STATUS RPC_ENTRY ! 588: RpcServerUseProtseqEpW ( ! 589: IN unsigned short PAPI * Protseq, ! 590: IN unsigned int MaxCalls, ! 591: IN unsigned short PAPI * Endpoint, ! 592: IN void PAPI * SecurityDescriptor OPTIONAL ! 593: ); ! 594: ! 595: #ifdef UNICODE ! 596: #define RpcServerUseProtseqEp RpcServerUseProtseqEpW ! 597: #else /* UNICODE */ ! 598: #define RpcServerUseProtseqEp RpcServerUseProtseqEpA ! 599: #endif /* UNICODE */ ! 600: ! 601: #else /* RPC_UNICODE_SUPPORTED */ ! 602: ! 603: RPC_STATUS RPC_ENTRY ! 604: RpcServerUseProtseqEp ( ! 605: IN unsigned char PAPI * Protseq, ! 606: IN unsigned int MaxCalls, ! 607: IN unsigned char PAPI * Endpoint, ! 608: IN void PAPI * SecurityDescriptor OPTIONAL ! 609: ); ! 610: ! 611: #endif /* RPC_UNICODE_SUPPORTED */ ! 612: ! 613: /* server */ ! 614: ! 615: #ifdef RPC_UNICODE_SUPPORTED ! 616: ! 617: RPC_STATUS RPC_ENTRY ! 618: RpcServerUseProtseqIfA ( ! 619: IN unsigned char PAPI * Protseq, ! 620: IN unsigned int MaxCalls, ! 621: IN RPC_IF_HANDLE IfSpec, ! 622: IN void PAPI * SecurityDescriptor OPTIONAL ! 623: ); ! 624: ! 625: RPC_STATUS RPC_ENTRY ! 626: RpcServerUseProtseqIfW ( ! 627: IN unsigned short PAPI * Protseq, ! 628: IN unsigned int MaxCalls, ! 629: IN RPC_IF_HANDLE IfSpec, ! 630: IN void PAPI * SecurityDescriptor OPTIONAL ! 631: ); ! 632: ! 633: #ifdef UNICODE ! 634: #define RpcServerUseProtseqIf RpcServerUseProtseqIfW ! 635: #else /* UNICODE */ ! 636: #define RpcServerUseProtseqIf RpcServerUseProtseqIfA ! 637: #endif /* UNICODE */ ! 638: ! 639: #else /* RPC_UNICODE_SUPPORTED */ ! 640: ! 641: RPC_STATUS RPC_ENTRY ! 642: RpcServerUseProtseqIf ( ! 643: IN unsigned char PAPI * Protseq, ! 644: IN unsigned int MaxCalls, ! 645: IN RPC_IF_HANDLE IfSpec, ! 646: IN void PAPI * SecurityDescriptor OPTIONAL ! 647: ); ! 648: ! 649: #endif /* RPC_UNICODE_SUPPORTED */ ! 650: ! 651: /* server */ ! 652: RPC_STATUS RPC_ENTRY ! 653: RpcMgmtStatsVectorFree ( ! 654: IN RPC_STATS_VECTOR ** StatsVector ! 655: ); ! 656: ! 657: /* server */ ! 658: RPC_STATUS RPC_ENTRY ! 659: RpcMgmtInqStats ( ! 660: IN RPC_BINDING_HANDLE Binding, ! 661: OUT RPC_STATS_VECTOR ** Statistics ! 662: ); ! 663: ! 664: /* server */ ! 665: RPC_STATUS RPC_ENTRY ! 666: RpcMgmtIsServerListening ( ! 667: IN RPC_BINDING_HANDLE Binding ! 668: ); ! 669: ! 670: /* server */ ! 671: RPC_STATUS RPC_ENTRY ! 672: RpcMgmtStopServerListening ( ! 673: IN RPC_BINDING_HANDLE Binding ! 674: ); ! 675: ! 676: /* server */ ! 677: RPC_STATUS RPC_ENTRY ! 678: RpcMgmtSetServerStackSize ( ! 679: IN unsigned long ThreadStackSize ! 680: ); ! 681: ! 682: /* client */ ! 683: RPC_STATUS RPC_ENTRY ! 684: RpcMgmtEnableIdleCleanup ( ! 685: void ! 686: ); ! 687: ! 688: /* client */ ! 689: RPC_STATUS RPC_ENTRY ! 690: RpcEpResolveBinding ( ! 691: IN RPC_BINDING_HANDLE Binding, ! 692: IN RPC_IF_HANDLE IfSpec ! 693: ); ! 694: ! 695: /* client */ ! 696: ! 697: #ifdef RPC_UNICODE_SUPPORTED ! 698: ! 699: RPC_STATUS RPC_ENTRY ! 700: RpcNsBindingInqEntryNameA ( ! 701: IN RPC_BINDING_HANDLE Binding, ! 702: IN unsigned long EntryNameSyntax, ! 703: OUT unsigned char PAPI * PAPI * EntryName ! 704: ); ! 705: ! 706: RPC_STATUS RPC_ENTRY ! 707: RpcNsBindingInqEntryNameW ( ! 708: IN RPC_BINDING_HANDLE Binding, ! 709: IN unsigned long EntryNameSyntax, ! 710: OUT unsigned short PAPI * PAPI * EntryName ! 711: ); ! 712: ! 713: #ifdef UNICODE ! 714: #define RpcNsBindingInqEntryName RpcNsBindingInqEntryNameW ! 715: #else /* UNICODE */ ! 716: #define RpcNsBindingInqEntryName RpcNsBindingInqEntryNameA ! 717: #endif /* UNICODE */ ! 718: ! 719: #else /* RPC_UNICODE_SUPPORTED */ ! 720: ! 721: RPC_STATUS RPC_ENTRY ! 722: RpcNsBindingInqEntryName ( ! 723: IN RPC_BINDING_HANDLE Binding, ! 724: IN unsigned long EntryNameSyntax, ! 725: OUT unsigned char PAPI * PAPI * EntryName ! 726: ); ! 727: ! 728: #endif /* RPC_UNICODE_SUPPORTED */ ! 729: ! 730: typedef void PAPI * RPC_AUTH_IDENTITY_HANDLE; ! 731: typedef void PAPI * RPC_AUTHZ_HANDLE; ! 732: ! 733: #define RPC_C_AUTHN_LEVEL_DEFAULT 0 ! 734: #define RPC_C_AUTHN_LEVEL_NONE 1 ! 735: #define RPC_C_AUTHN_LEVEL_CONNECT 2 ! 736: #define RPC_C_AUTHN_LEVEL_CALL 3 ! 737: #define RPC_C_AUTHN_LEVEL_PKT 4 ! 738: #define RPC_C_AUTHN_LEVEL_PKT_INTEGRITY 5 ! 739: #define RPC_C_AUTHN_LEVEL_PKT_PRIVACY 6 ! 740: ! 741: #define RPC_C_AUTHN_NONE 0 ! 742: #define RPC_C_AUTHN_DCE_PRIVATE 1 ! 743: #define RPC_C_AUTHN_DCE_PUBLIC 2 ! 744: #define RPC_C_AUTHN_DEC_PUBLIC 4 ! 745: #define RPC_C_AUTHN_DEFAULT 0xFFFFFFFFL ! 746: ! 747: #define RPC_C_AUTHZ_NONE 0 ! 748: #define RPC_C_AUTHZ_NAME 1 ! 749: #define RPC_C_AUTHZ_DCE 2 ! 750: ! 751: #ifdef RPC_UNICODE_SUPPORTED ! 752: ! 753: RPC_STATUS RPC_ENTRY ! 754: RpcBindingInqAuthClientA ( ! 755: IN RPC_BINDING_HANDLE ClientBinding, OPTIONAL ! 756: OUT RPC_AUTHZ_HANDLE PAPI * Privs, ! 757: OUT unsigned char PAPI * PAPI * ServerPrincName, OPTIONAL ! 758: OUT unsigned long PAPI * AuthnLevel, OPTIONAL ! 759: OUT unsigned long PAPI * AuthnSvc, OPTIONAL ! 760: OUT unsigned long PAPI * AuthzSvc OPTIONAL ! 761: ); ! 762: ! 763: RPC_STATUS RPC_ENTRY ! 764: RpcBindingInqAuthClientW ( ! 765: IN RPC_BINDING_HANDLE ClientBinding, OPTIONAL ! 766: OUT RPC_AUTHZ_HANDLE PAPI * Privs, ! 767: OUT unsigned short PAPI * PAPI * ServerPrincName, OPTIONAL ! 768: OUT unsigned long PAPI * AuthnLevel, OPTIONAL ! 769: OUT unsigned long PAPI * AuthnSvc, OPTIONAL ! 770: OUT unsigned long PAPI * AuthzSvc OPTIONAL ! 771: ); ! 772: ! 773: RPC_STATUS RPC_ENTRY ! 774: RpcBindingInqAuthInfoA ( ! 775: IN RPC_BINDING_HANDLE Binding, ! 776: OUT unsigned char PAPI * PAPI * ServerPrincName, OPTIONAL ! 777: OUT unsigned long PAPI * AuthnLevel, OPTIONAL ! 778: OUT unsigned long PAPI * AuthnSvc, OPTIONAL ! 779: OUT RPC_AUTH_IDENTITY_HANDLE PAPI * AuthIdentity, OPTIONAL ! 780: OUT unsigned long PAPI * AuthzSvc OPTIONAL ! 781: ); ! 782: ! 783: RPC_STATUS RPC_ENTRY ! 784: RpcBindingInqAuthInfoW ( ! 785: IN RPC_BINDING_HANDLE Binding, ! 786: OUT unsigned short PAPI * PAPI * ServerPrincName, OPTIONAL ! 787: OUT unsigned long PAPI * AuthnLevel, OPTIONAL ! 788: OUT unsigned long PAPI * AuthnSvc, OPTIONAL ! 789: OUT RPC_AUTH_IDENTITY_HANDLE PAPI * AuthIdentity, OPTIONAL ! 790: OUT unsigned long PAPI * AuthzSvc OPTIONAL ! 791: ); ! 792: ! 793: RPC_STATUS RPC_ENTRY ! 794: RpcBindingSetAuthInfoA ( ! 795: IN RPC_BINDING_HANDLE Binding, ! 796: IN unsigned char PAPI * ServerPrincName, ! 797: IN unsigned long AuthnLevel, ! 798: IN unsigned long AuthnSvc, ! 799: IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL ! 800: IN unsigned long AuthzSvc ! 801: ); ! 802: ! 803: RPC_STATUS RPC_ENTRY ! 804: RpcBindingSetAuthInfoW ( ! 805: IN RPC_BINDING_HANDLE Binding, ! 806: IN unsigned short PAPI * ServerPrincName, ! 807: IN unsigned long AuthnLevel, ! 808: IN unsigned long AuthnSvc, ! 809: IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL ! 810: IN unsigned long AuthzSvc ! 811: ); ! 812: ! 813: typedef void ! 814: (PAPI * RPC_AUTH_KEY_RETRIEVAL_FN) ( ! 815: IN void PAPI * Arg, ! 816: IN unsigned short PAPI * ServerPrincName, ! 817: OUT void PAPI * PAPI * Key, ! 818: OUT RPC_STATUS PAPI * Status ! 819: ); ! 820: ! 821: RPC_STATUS RPC_ENTRY ! 822: RpcServerRegisterAuthInfoA ( ! 823: IN unsigned char PAPI * ServerPrincName, ! 824: IN unsigned long AuthnSvc, ! 825: IN RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn OPTIONAL, ! 826: IN void PAPI * Arg OPTIONAL ! 827: ); ! 828: ! 829: RPC_STATUS RPC_ENTRY ! 830: RpcServerRegisterAuthInfoW ( ! 831: IN unsigned short PAPI * ServerPrincName, ! 832: IN unsigned long AuthnSvc, ! 833: IN RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn OPTIONAL, ! 834: IN void PAPI * Arg OPTIONAL ! 835: ); ! 836: ! 837: #ifdef UNICODE ! 838: #define RpcBindingInqAuthClient RpcBindingInqAuthClientW ! 839: #define RpcBindingInqAuthInfo RpcBindingInqAuthInfoW ! 840: #define RpcBindingSetAuthInfo RpcBindingSetAuthInfoW ! 841: #define RpcServerRegisterAuthInfo RpcServerRegisterAuthInfoW ! 842: #else /* UNICODE */ ! 843: #define RpcBindingInqAuthClient RpcBindingInqAuthClientA ! 844: #define RpcBindingInqAuthInfo RpcBindingInqAuthInfoA ! 845: #define RpcBindingSetAuthInfo RpcBindingSetAuthInfoA ! 846: #define RpcServerRegisterAuthInfo RpcServerRegisterAuthInfoA ! 847: #endif /* UNICODE */ ! 848: ! 849: #else /* RPC_UNICODE_SUPPORTED */ ! 850: ! 851: RPC_STATUS RPC_ENTRY ! 852: RpcBindingInqAuthClient ( ! 853: IN RPC_BINDING_HANDLE ClientBinding, OPTIONAL ! 854: OUT RPC_AUTHZ_HANDLE PAPI * Privs, ! 855: OUT unsigned char PAPI * PAPI * ServerPrincName, OPTIONAL ! 856: OUT unsigned long PAPI * AuthnLevel, OPTIONAL ! 857: OUT unsigned long PAPI * AuthnSvc, OPTIONAL ! 858: OUT unsigned long PAPI * AuthzSvc OPTIONAL ! 859: ); ! 860: ! 861: RPC_STATUS RPC_ENTRY ! 862: RpcBindingInqAuthInfo ( ! 863: IN RPC_BINDING_HANDLE Binding, ! 864: OUT unsigned char PAPI * PAPI * ServerPrincName, OPTIONAL ! 865: OUT unsigned long PAPI * AuthnLevel, OPTIONAL ! 866: OUT unsigned long PAPI * AuthnSvc, OPTIONAL ! 867: OUT RPC_AUTH_IDENTITY_HANDLE PAPI * AuthIdentity, OPTIONAL ! 868: OUT unsigned long PAPI * AuthzSvc OPTIONAL ! 869: ); ! 870: ! 871: RPC_STATUS RPC_ENTRY ! 872: RpcBindingSetAuthInfo ( ! 873: IN RPC_BINDING_HANDLE Binding, ! 874: IN unsigned char PAPI * ServerPrincName, ! 875: IN unsigned long AuthnLevel, ! 876: IN unsigned long AuthnSvc, ! 877: IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL ! 878: IN unsigned long AuthzSvc ! 879: ); ! 880: ! 881: typedef void ! 882: (PAPI * RPC_AUTH_KEY_RETRIEVAL_FN) ( ! 883: IN void PAPI * Arg, ! 884: IN unsigned char PAPI * ServerPrincName, ! 885: OUT void PAPI * PAPI * Key, ! 886: OUT RPC_STATUS PAPI * Status ! 887: ); ! 888: ! 889: RPC_STATUS RPC_ENTRY ! 890: RpcServerRegisterAuthInfo ( ! 891: IN unsigned char PAPI * ServerPrincName, ! 892: IN unsigned long AuthnSvc, ! 893: IN RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn OPTIONAL, ! 894: IN void PAPI * Arg OPTIONAL ! 895: ); ! 896: ! 897: #endif /* RPC_UNICODE_SUPPORTED */ ! 898: ! 899: typedef struct { ! 900: unsigned char PAPI * UserName; ! 901: unsigned char PAPI * ComputerName; ! 902: unsigned short Privilege; ! 903: unsigned long AuthFlags; ! 904: } RPC_CLIENT_INFORMATION1, PAPI * PRPC_CLIENT_INFORMATION1; ! 905: ! 906: RPC_STATUS RPC_ENTRY ! 907: RpcQueryClient ( ! 908: IN RPC_BINDING_HANDLE Handle, ! 909: IN unsigned int ClientInformationLevel, ! 910: OUT void PAPI * ClientInformation, ! 911: IN OUT unsigned int PAPI * ClientInformationLength ! 912: ); ! 913: ! 914: void RPC_ENTRY ! 915: RpcRaiseException ( ! 916: IN RPC_STATUS exception ! 917: ); ! 918: ! 919: /* client/server */ ! 920: RPC_STATUS RPC_ENTRY ! 921: UuidCreate ( ! 922: OUT UUID PAPI * Uuid ! 923: ); ! 924: ! 925: #ifdef RPC_UNICODE_SUPPORTED ! 926: ! 927: /* client/server */ ! 928: RPC_STATUS RPC_ENTRY ! 929: UuidToStringA ( ! 930: IN UUID PAPI * Uuid, ! 931: OUT unsigned char PAPI * PAPI * StringUuid ! 932: ); ! 933: ! 934: /* client/server */ ! 935: RPC_STATUS RPC_ENTRY ! 936: UuidFromStringA ( ! 937: IN unsigned char PAPI * StringUuid, ! 938: OUT UUID PAPI * Uuid ! 939: ); ! 940: ! 941: /* client/server */ ! 942: RPC_STATUS RPC_ENTRY ! 943: UuidToStringW ( ! 944: IN UUID PAPI * Uuid, ! 945: OUT unsigned short PAPI * PAPI * StringUuid ! 946: ); ! 947: ! 948: /* client/server */ ! 949: RPC_STATUS RPC_ENTRY ! 950: UuidFromStringW ( ! 951: IN unsigned short PAPI * StringUuid, ! 952: OUT UUID PAPI * Uuid ! 953: ); ! 954: ! 955: #ifdef UNICODE ! 956: #define UuidFromString UuidFromStringW ! 957: #define UuidToString UuidToStringW ! 958: #else /* UNICODE */ ! 959: #define UuidFromString UuidFromStringA ! 960: #define UuidToString UuidToStringA ! 961: #endif /* UNICODE */ ! 962: ! 963: #else /* RPC_UNICODE_SUPPORTED */ ! 964: ! 965: /* client/server */ ! 966: RPC_STATUS RPC_ENTRY ! 967: UuidToString ( ! 968: IN UUID PAPI * Uuid, ! 969: OUT unsigned char PAPI * PAPI * StringUuid ! 970: ); ! 971: ! 972: /* client/server */ ! 973: RPC_STATUS RPC_ENTRY ! 974: UuidFromString ( ! 975: IN unsigned char PAPI * StringUuid, ! 976: OUT UUID PAPI * Uuid ! 977: ); ! 978: ! 979: #endif /* RPC_UNICODE_SUPPORTED */ ! 980: ! 981: #ifdef RPC_UNICODE_SUPPORTED ! 982: ! 983: RPC_STATUS RPC_ENTRY ! 984: RpcEpRegisterNoReplaceA ( ! 985: IN RPC_IF_HANDLE IfSpec, ! 986: IN RPC_BINDING_VECTOR * BindingVector, ! 987: IN UUID_VECTOR * UuidVector OPTIONAL, ! 988: IN unsigned char * Annotation ! 989: ); ! 990: ! 991: RPC_STATUS RPC_ENTRY ! 992: RpcEpRegisterNoReplaceW ( ! 993: IN RPC_IF_HANDLE IfSpec, ! 994: IN RPC_BINDING_VECTOR * BindingVector, ! 995: IN UUID_VECTOR * UuidVector OPTIONAL, ! 996: IN unsigned short * Annotation ! 997: ); ! 998: ! 999: RPC_STATUS RPC_ENTRY ! 1000: RpcEpRegisterA ( ! 1001: IN RPC_IF_HANDLE IfSpec, ! 1002: IN RPC_BINDING_VECTOR * BindingVector, ! 1003: IN UUID_VECTOR * UuidVector OPTIONAL, ! 1004: IN unsigned char * Annotation ! 1005: ); ! 1006: ! 1007: RPC_STATUS RPC_ENTRY ! 1008: RpcEpRegisterW ( ! 1009: IN RPC_IF_HANDLE IfSpec, ! 1010: IN RPC_BINDING_VECTOR * BindingVector, ! 1011: IN UUID_VECTOR * UuidVector OPTIONAL, ! 1012: IN unsigned short * Annotation ! 1013: ); ! 1014: ! 1015: #ifdef UNICODE ! 1016: #define RpcEpRegisterNoReplace RpcEpRegisterNoReplaceW ! 1017: #define RpcEpRegister RpcEpRegisterW ! 1018: #else /* UNICODE */ ! 1019: #define RpcEpRegisterNoReplace RpcEpRegisterNoReplaceA ! 1020: #define RpcEpRegister RpcEpRegisterA ! 1021: #endif /* UNICODE */ ! 1022: ! 1023: #else /* RPC_UNICODE_SUPPORTED */ ! 1024: ! 1025: RPC_STATUS RPC_ENTRY ! 1026: RpcEpRegisterNoReplace ( ! 1027: IN RPC_IF_HANDLE IfSpec, ! 1028: IN RPC_BINDING_VECTOR * BindingVector, ! 1029: IN UUID_VECTOR * UuidVector OPTIONAL, ! 1030: IN unsigned char * Annotation ! 1031: ); ! 1032: ! 1033: RPC_STATUS RPC_ENTRY ! 1034: RpcEpRegister ( ! 1035: IN RPC_IF_HANDLE IfSpec, ! 1036: IN RPC_BINDING_VECTOR * BindingVector, ! 1037: IN UUID_VECTOR * UuidVector OPTIONAL, ! 1038: IN unsigned char * Annotation ! 1039: ); ! 1040: ! 1041: #endif /* RPC_UNICODE_SUPPORTED */ ! 1042: ! 1043: ! 1044: RPC_STATUS RPC_ENTRY ! 1045: RpcEpUnregister( ! 1046: IN RPC_IF_HANDLE IfSpec, ! 1047: IN RPC_BINDING_VECTOR * BindingVector, ! 1048: IN UUID_VECTOR * UuidVector ! 1049: ); ! 1050: ! 1051: /* ! 1052: BUGBUG : We need to include rpcdcep.h until the compiler is fixed so ! 1053: that it generates clean header files. ! 1054: */ ! 1055: ! 1056: #include "rpcdcep.h" ! 1057: ! 1058: #endif /* __RPCDCE_H__ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.