home *** CD-ROM | disk | FTP | other *** search
/ Inter.Net 55-1 / Inter.Net 55-1.iso / CBuilder / Setup / BCB / data.z / rpcdce.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-09  |  41.1 KB  |  1,624 lines

  1. /*++
  2.  
  3. Copyright (c) 1991-1996 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. --*/
  14.  
  15. #ifndef __RPCDCE_H__
  16. #define __RPCDCE_H__
  17. #pragma option push -b
  18.  
  19.  
  20. #ifdef __cplusplus
  21. extern "C" {
  22. #endif
  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. #ifndef uuid_t
  51. #define uuid_t UUID
  52. #endif
  53. #endif
  54.  
  55. typedef struct _RPC_BINDING_VECTOR
  56. {
  57.     unsigned long Count;
  58.     RPC_BINDING_HANDLE BindingH[1];
  59. } RPC_BINDING_VECTOR;
  60. #ifndef rpc_binding_vector_t
  61. #define rpc_binding_vector_t RPC_BINDING_VECTOR
  62. #endif
  63.  
  64. typedef struct _UUID_VECTOR
  65. {
  66.   unsigned long Count;
  67.   UUID *Uuid[1];
  68. } UUID_VECTOR;
  69. #ifndef uuid_vector_t
  70. #define uuid_vector_t UUID_VECTOR
  71. #endif
  72.  
  73. typedef void __RPC_FAR * RPC_IF_HANDLE;
  74.  
  75. #ifndef IFID_DEFINED
  76. #define IFID_DEFINED
  77. typedef struct _RPC_IF_ID
  78. {
  79.     UUID Uuid;
  80.     unsigned short VersMajor;
  81.     unsigned short VersMinor;
  82. } RPC_IF_ID;
  83. #endif
  84.  
  85. #define RPC_C_BINDING_INFINITE_TIMEOUT 10
  86. #define RPC_C_BINDING_MIN_TIMEOUT 0
  87. #define RPC_C_BINDING_DEFAULT_TIMEOUT 5
  88. #define RPC_C_BINDING_MAX_TIMEOUT 9
  89.  
  90. #define RPC_C_CANCEL_INFINITE_TIMEOUT -1
  91.  
  92. #define RPC_C_LISTEN_MAX_CALLS_DEFAULT 1234
  93. #define RPC_C_PROTSEQ_MAX_REQS_DEFAULT 10
  94.  
  95. #define RPC_C_BIND_TO_ALL_NICS 1
  96. #define RPC_C_USE_INTERNET_PORT 1
  97. #define RPC_C_USE_INTRANET_PORT 2
  98.  
  99. #ifdef RPC_UNICODE_SUPPORTED
  100. typedef struct _RPC_PROTSEQ_VECTORA
  101. {
  102.     unsigned int Count;
  103.     unsigned char __RPC_FAR * Protseq[1];
  104. } RPC_PROTSEQ_VECTORA;
  105.  
  106. typedef struct _RPC_PROTSEQ_VECTORW
  107. {
  108.     unsigned int Count;
  109.     unsigned short __RPC_FAR * Protseq[1];
  110. } RPC_PROTSEQ_VECTORW;
  111.  
  112. #ifdef UNICODE
  113. #define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORW
  114. #else /* UNICODE */
  115. #define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORA
  116. #endif /* UNICODE */
  117.  
  118. #else /* RPC_UNICODE_SUPPORTED */
  119.  
  120. typedef struct _RPC_PROTSEQ_VECTOR
  121. {
  122.     unsigned int Count;
  123.     unsigned char __RPC_FAR * Protseq[1];
  124. } RPC_PROTSEQ_VECTOR;
  125.  
  126. #endif /* RPC_UNICODE_SUPPORTED */
  127. typedef struct _RPC_POLICY {
  128.     unsigned int Length ;
  129.     unsigned long EndpointFlags ;
  130.     unsigned long NICFlags ;
  131.     } RPC_POLICY,  __RPC_FAR *PRPC_POLICY ;
  132.  
  133. typedef void __RPC_USER
  134. RPC_OBJECT_INQ_FN (
  135.     IN UUID __RPC_FAR * ObjectUuid,
  136.     OUT UUID __RPC_FAR * TypeUuid,
  137.     OUT RPC_STATUS __RPC_FAR * Status
  138.     );
  139.  
  140. typedef RPC_STATUS
  141. RPC_IF_CALLBACK_FN (
  142.     IN RPC_IF_HANDLE  InterfaceUuid,
  143.     IN void *Context
  144.     ) ;
  145.  
  146. #define RPC_MGR_EPV void
  147.  
  148. typedef struct
  149. {
  150.     unsigned int Count;
  151.     unsigned long Stats[1];
  152. } RPC_STATS_VECTOR;
  153.  
  154. #define RPC_C_STATS_CALLS_IN 0
  155. #define RPC_C_STATS_CALLS_OUT 1
  156. #define RPC_C_STATS_PKTS_IN 2
  157. #define RPC_C_STATS_PKTS_OUT 3
  158.  
  159. typedef struct
  160. {
  161.   unsigned long Count;
  162.   RPC_IF_ID __RPC_FAR * IfId[1];
  163. } RPC_IF_ID_VECTOR;
  164.  
  165. /* client */
  166. RPC_STATUS RPC_ENTRY
  167. RpcBindingCopy (
  168.     IN RPC_BINDING_HANDLE SourceBinding,
  169.     OUT RPC_BINDING_HANDLE __RPC_FAR * DestinationBinding
  170.     );
  171.  
  172. /* client */
  173. RPC_STATUS RPC_ENTRY
  174. RpcBindingFree (
  175.     IN OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
  176.     );
  177.  
  178. /* client */
  179.  
  180. #ifdef RPC_UNICODE_SUPPORTED
  181.  
  182. RPC_STATUS RPC_ENTRY
  183. RpcBindingFromStringBindingA (
  184.     IN unsigned char __RPC_FAR * StringBinding,
  185.     OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
  186.     );
  187.  
  188. RPC_STATUS RPC_ENTRY
  189. RpcBindingFromStringBindingW (
  190.     IN unsigned short __RPC_FAR * StringBinding,
  191.     OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
  192.     );
  193.  
  194. #ifdef UNICODE
  195. #define RpcBindingFromStringBinding RpcBindingFromStringBindingW
  196. #else /* UNICODE */
  197. #define RpcBindingFromStringBinding RpcBindingFromStringBindingA
  198. #endif /* UNICODE */
  199.  
  200. #else /* RPC_UNICODE_SUPPORTED */
  201.  
  202. RPC_STATUS RPC_ENTRY
  203. RpcBindingFromStringBinding (
  204.     IN unsigned char __RPC_FAR * StringBinding,
  205.     OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
  206.     );
  207.  
  208. #endif /* RPC_UNICODE_SUPPORTED */
  209.  
  210. /* client/server */
  211. RPC_STATUS RPC_ENTRY
  212. RpcBindingInqObject (
  213.     IN RPC_BINDING_HANDLE Binding,
  214.     OUT UUID __RPC_FAR * ObjectUuid
  215.     );
  216.  
  217. /* client */
  218. RPC_STATUS RPC_ENTRY
  219. RpcBindingReset (
  220.     IN RPC_BINDING_HANDLE Binding
  221.     );
  222.  
  223. /* RpcBindingServerFromClient : UNSUPPORTED */
  224. /* RpcBindingSetAuthInfo */
  225.  
  226. /* client */
  227. RPC_STATUS RPC_ENTRY
  228. RpcBindingSetObject (
  229.     IN RPC_BINDING_HANDLE Binding,
  230.     IN UUID __RPC_FAR * ObjectUuid
  231.     );
  232.  
  233. /* client/server */
  234. RPC_STATUS RPC_ENTRY
  235. RpcMgmtInqDefaultProtectLevel(
  236.     IN  unsigned long AuthnSvc,
  237.     OUT unsigned long __RPC_FAR *AuthnLevel
  238.     );
  239.  
  240. /* client/server */
  241.  
  242. #ifdef RPC_UNICODE_SUPPORTED
  243.  
  244. RPC_STATUS RPC_ENTRY
  245. RpcBindingToStringBindingA (
  246.     IN RPC_BINDING_HANDLE Binding,
  247.     OUT unsigned char __RPC_FAR * __RPC_FAR * StringBinding
  248.     );
  249.  
  250. RPC_STATUS RPC_ENTRY
  251. RpcBindingToStringBindingW (
  252.     IN RPC_BINDING_HANDLE Binding,
  253.     OUT unsigned short __RPC_FAR * __RPC_FAR * StringBinding
  254.     );
  255.  
  256. #ifdef UNICODE
  257. #define RpcBindingToStringBinding RpcBindingToStringBindingW
  258. #else /* UNICODE */
  259. #define RpcBindingToStringBinding RpcBindingToStringBindingA
  260. #endif /* UNICODE */
  261.  
  262. #else /* RPC_UNICODE_SUPPORTED */
  263.  
  264. RPC_STATUS RPC_ENTRY
  265. RpcBindingToStringBinding (
  266.     IN RPC_BINDING_HANDLE Binding,
  267.     OUT unsigned char __RPC_FAR * __RPC_FAR * StringBinding
  268.     );
  269.  
  270. #endif /* RPC_UNICODE_SUPPORTED */
  271.  
  272. /* client/server */
  273. RPC_STATUS RPC_ENTRY
  274. RpcBindingVectorFree (
  275.     IN OUT RPC_BINDING_VECTOR __RPC_FAR * __RPC_FAR * BindingVector
  276.     );
  277.  
  278. /* client/server */
  279.  
  280. #ifdef RPC_UNICODE_SUPPORTED
  281.  
  282. RPC_STATUS RPC_ENTRY
  283. RpcStringBindingComposeA (
  284.     IN unsigned char __RPC_FAR * ObjUuid OPTIONAL,
  285.     IN unsigned char __RPC_FAR * Protseq OPTIONAL,
  286.     IN unsigned char __RPC_FAR * NetworkAddr OPTIONAL,
  287.     IN unsigned char __RPC_FAR * Endpoint OPTIONAL,
  288.     IN unsigned char __RPC_FAR * Options OPTIONAL,
  289.     OUT unsigned char __RPC_FAR * __RPC_FAR * StringBinding OPTIONAL
  290.     );
  291.  
  292. RPC_STATUS RPC_ENTRY
  293. RpcStringBindingComposeW (
  294.     IN unsigned short __RPC_FAR * ObjUuid OPTIONAL,
  295.     IN unsigned short __RPC_FAR * Protseq OPTIONAL,
  296.     IN unsigned short __RPC_FAR * NetworkAddr OPTIONAL,
  297.     IN unsigned short __RPC_FAR * Endpoint OPTIONAL,
  298.     IN unsigned short __RPC_FAR * Options OPTIONAL,
  299.     OUT unsigned short __RPC_FAR * __RPC_FAR * StringBinding OPTIONAL
  300.     );
  301.  
  302. #ifdef UNICODE
  303. #define RpcStringBindingCompose RpcStringBindingComposeW
  304. #else /* UNICODE */
  305. #define RpcStringBindingCompose RpcStringBindingComposeA
  306. #endif /* UNICODE */
  307.  
  308. #else /* RPC_UNICODE_SUPPORTED */
  309.  
  310. RPC_STATUS RPC_ENTRY
  311. RpcStringBindingCompose (
  312.     IN unsigned char __RPC_FAR * ObjUuid OPTIONAL,
  313.     IN unsigned char __RPC_FAR * Protseq OPTIONAL,
  314.     IN unsigned char __RPC_FAR * NetworkAddr OPTIONAL,
  315.     IN unsigned char __RPC_FAR * Endpoint OPTIONAL,
  316.     IN unsigned char __RPC_FAR * Options OPTIONAL,
  317.     OUT unsigned char __RPC_FAR * __RPC_FAR * StringBinding OPTIONAL
  318.     );
  319.  
  320. #endif /* RPC_UNICODE_SUPPORTED */
  321.  
  322. /* client/server */
  323.  
  324. #ifdef RPC_UNICODE_SUPPORTED
  325.  
  326. RPC_STATUS RPC_ENTRY
  327. RpcStringBindingParseA (
  328.     IN unsigned char __RPC_FAR * StringBinding,
  329.     OUT unsigned char __RPC_FAR * __RPC_FAR * ObjUuid OPTIONAL,
  330.     OUT unsigned char __RPC_FAR * __RPC_FAR * Protseq OPTIONAL,
  331.     OUT unsigned char __RPC_FAR * __RPC_FAR * NetworkAddr OPTIONAL,
  332.     OUT unsigned char __RPC_FAR * __RPC_FAR * Endpoint OPTIONAL,
  333.     OUT unsigned char __RPC_FAR * __RPC_FAR * NetworkOptions OPTIONAL
  334.     );
  335.  
  336. RPC_STATUS RPC_ENTRY
  337. RpcStringBindingParseW (
  338.     IN unsigned short __RPC_FAR * StringBinding,
  339.     OUT unsigned short __RPC_FAR * __RPC_FAR * ObjUuid OPTIONAL,
  340.     OUT unsigned short __RPC_FAR * __RPC_FAR * Protseq OPTIONAL,
  341.     OUT unsigned short __RPC_FAR * __RPC_FAR * NetworkAddr OPTIONAL,
  342.     OUT unsigned short __RPC_FAR * __RPC_FAR * Endpoint OPTIONAL,
  343.     OUT unsigned short __RPC_FAR * __RPC_FAR * NetworkOptions OPTIONAL
  344.     );
  345.  
  346. #ifdef UNICODE
  347. #define RpcStringBindingParse RpcStringBindingParseW
  348. #else /* UNICODE */
  349. #define RpcStringBindingParse RpcStringBindingParseA
  350. #endif /* UNICODE */
  351.  
  352. #else /* RPC_UNICODE_SUPPORTED */
  353.  
  354. RPC_STATUS RPC_ENTRY
  355. RpcStringBindingParse (
  356.     IN unsigned char __RPC_FAR * StringBinding,
  357.     OUT unsigned char __RPC_FAR * __RPC_FAR * ObjUuid OPTIONAL,
  358.     OUT unsigned char __RPC_FAR * __RPC_FAR * Protseq OPTIONAL,
  359.     OUT unsigned char __RPC_FAR * __RPC_FAR * NetworkAddr OPTIONAL,
  360.     OUT unsigned char __RPC_FAR * __RPC_FAR * Endpoint OPTIONAL,
  361.     OUT unsigned char __RPC_FAR * __RPC_FAR * NetworkOptions OPTIONAL
  362.     );
  363.  
  364. #endif /* RPC_UNICODE_SUPPORTED */
  365.  
  366. /* client/server */
  367.  
  368. #ifdef RPC_UNICODE_SUPPORTED
  369.  
  370. RPC_STATUS RPC_ENTRY
  371. RpcStringFreeA (
  372.     IN OUT unsigned char __RPC_FAR * __RPC_FAR * String
  373.     );
  374.  
  375. RPC_STATUS RPC_ENTRY
  376. RpcStringFreeW (
  377.     IN OUT unsigned short __RPC_FAR * __RPC_FAR * String
  378.     );
  379.  
  380. #ifdef UNICODE
  381. #define RpcStringFree RpcStringFreeW
  382. #else /* UNICODE */
  383. #define RpcStringFree RpcStringFreeA
  384. #endif /* UNICODE */
  385.  
  386. #else /* RPC_UNICODE_SUPPORTED */
  387.  
  388. RPC_STATUS RPC_ENTRY
  389. RpcStringFree (
  390.     IN OUT unsigned char __RPC_FAR * __RPC_FAR * String
  391.     );
  392.  
  393. #endif /* RPC_UNICODE_SUPPORTED */
  394.  
  395. /* client/server */
  396. RPC_STATUS RPC_ENTRY
  397. RpcIfInqId (
  398.     IN RPC_IF_HANDLE RpcIfHandle,
  399.     OUT RPC_IF_ID __RPC_FAR * RpcIfId
  400.     );
  401.  
  402. /* client/server */
  403.  
  404. #ifdef RPC_UNICODE_SUPPORTED
  405.  
  406. RPC_STATUS RPC_ENTRY
  407. RpcNetworkIsProtseqValidA (
  408.     IN unsigned char __RPC_FAR * Protseq
  409.     );
  410.  
  411. RPC_STATUS RPC_ENTRY
  412. RpcNetworkIsProtseqValidW (
  413.     IN unsigned short __RPC_FAR * Protseq
  414.     );
  415.  
  416. #ifdef UNICODE
  417. #define RpcNetworkIsProtseqValid RpcNetworkIsProtseqValidW
  418. #else /* UNICODE */
  419. #define RpcNetworkIsProtseqValid RpcNetworkIsProtseqValidA
  420. #endif /* UNICODE */
  421.  
  422. #else /* RPC_UNICODE_SUPPORTED */
  423.  
  424. RPC_STATUS RPC_ENTRY
  425. RpcNetworkIsProtseqValid (
  426.     IN unsigned char __RPC_FAR * Protseq
  427.     );
  428.  
  429. #endif /* RPC_UNICODE_SUPPORTED */
  430.  
  431. /* client */
  432. RPC_STATUS RPC_ENTRY
  433. RpcMgmtInqComTimeout (
  434.     IN RPC_BINDING_HANDLE Binding,
  435.     OUT unsigned int __RPC_FAR * Timeout
  436.     );
  437.  
  438. /* client */
  439. RPC_STATUS RPC_ENTRY
  440. RpcMgmtSetComTimeout (
  441.     IN RPC_BINDING_HANDLE Binding,
  442.     IN unsigned int Timeout
  443.     );
  444.  
  445. /* client */
  446. RPC_STATUS RPC_ENTRY
  447. RpcMgmtSetCancelTimeout(
  448.     long Timeout
  449.     );
  450.  
  451.  
  452. /* server */
  453.  
  454. #ifdef RPC_UNICODE_SUPPORTED
  455.  
  456. RPC_STATUS RPC_ENTRY
  457. RpcNetworkInqProtseqsA (
  458.     OUT RPC_PROTSEQ_VECTORA __RPC_FAR * __RPC_FAR * ProtseqVector
  459.     );
  460.  
  461. RPC_STATUS RPC_ENTRY
  462. RpcNetworkInqProtseqsW (
  463.     OUT RPC_PROTSEQ_VECTORW __RPC_FAR * __RPC_FAR * ProtseqVector
  464.     );
  465.  
  466. #ifdef UNICODE
  467. #define RpcNetworkInqProtseqs RpcNetworkInqProtseqsW
  468. #else /* UNICODE */
  469. #define RpcNetworkInqProtseqs RpcNetworkInqProtseqsA
  470. #endif /* UNICODE */
  471.  
  472. #else /* RPC_UNICODE_SUPPORTED */
  473.  
  474. RPC_STATUS RPC_ENTRY
  475. RpcNetworkInqProtseqs (
  476.     OUT RPC_PROTSEQ_VECTOR __RPC_FAR * __RPC_FAR * ProtseqVector
  477.     );
  478.  
  479. #endif /* RPC_UNICODE_SUPPORTED */
  480.  
  481. /* server */
  482. RPC_STATUS RPC_ENTRY
  483. RpcObjectInqType (
  484.     IN UUID __RPC_FAR * ObjUuid,
  485.     OUT UUID __RPC_FAR * TypeUuid OPTIONAL
  486.     );
  487.  
  488. /* server */
  489. RPC_STATUS RPC_ENTRY
  490. RpcObjectSetInqFn (
  491.     IN RPC_OBJECT_INQ_FN __RPC_FAR * InquiryFn
  492.     );
  493.  
  494. /* server */
  495. RPC_STATUS RPC_ENTRY
  496. RpcObjectSetType (
  497.     IN UUID __RPC_FAR * ObjUuid,
  498.     IN UUID __RPC_FAR * TypeUuid OPTIONAL
  499.     );
  500.  
  501. /* server */
  502.  
  503. #ifdef RPC_UNICODE_SUPPORTED
  504.  
  505. RPC_STATUS RPC_ENTRY
  506. RpcProtseqVectorFreeA (
  507.     IN OUT RPC_PROTSEQ_VECTORA __RPC_FAR * __RPC_FAR * ProtseqVector
  508.     );
  509.  
  510. RPC_STATUS RPC_ENTRY
  511. RpcProtseqVectorFreeW (
  512.     IN OUT RPC_PROTSEQ_VECTORW __RPC_FAR * __RPC_FAR * ProtseqVector
  513.     );
  514.  
  515. #ifdef UNICODE
  516. #define RpcProtseqVectorFree RpcProtseqVectorFreeW
  517. #else /* UNICODE */
  518. #define RpcProtseqVectorFree RpcProtseqVectorFreeA
  519. #endif /* UNICODE */
  520.  
  521. #else /* RPC_UNICODE_SUPPORTED */
  522.  
  523. RPC_STATUS RPC_ENTRY
  524. RpcProtseqVectorFree (
  525.     IN OUT RPC_PROTSEQ_VECTOR __RPC_FAR * __RPC_FAR * ProtseqVector
  526.     );
  527.  
  528. #endif /* RPC_UNICODE_SUPPORTED */
  529.  
  530. /* server */
  531. RPC_STATUS RPC_ENTRY
  532. RpcServerInqBindings (
  533.     OUT RPC_BINDING_VECTOR __RPC_FAR * __RPC_FAR * BindingVector
  534.     );
  535.  
  536. /* server */
  537. RPC_STATUS RPC_ENTRY
  538. RpcServerInqIf (
  539.     IN RPC_IF_HANDLE IfSpec,
  540.     IN UUID __RPC_FAR * MgrTypeUuid, OPTIONAL
  541.     OUT RPC_MGR_EPV __RPC_FAR * __RPC_FAR * MgrEpv
  542.     );
  543.  
  544. /* server */
  545. RPC_STATUS RPC_ENTRY
  546. RpcServerListen (
  547.     IN unsigned int MinimumCallThreads,
  548.     IN unsigned int MaxCalls,
  549.     IN unsigned int DontWait
  550.     );
  551.  
  552. /* server */
  553. RPC_STATUS RPC_ENTRY
  554. RpcServerRegisterIf (
  555.     IN RPC_IF_HANDLE IfSpec,
  556.     IN UUID __RPC_FAR * MgrTypeUuid OPTIONAL,
  557.     IN RPC_MGR_EPV __RPC_FAR * MgrEpv OPTIONAL
  558.     );
  559.  
  560. /* server */
  561. RPC_STATUS RPC_ENTRY
  562. RpcServerRegisterIfEx (
  563.     IN RPC_IF_HANDLE IfSpec,
  564.     IN UUID __RPC_FAR * MgrTypeUuid,
  565.     IN RPC_MGR_EPV __RPC_FAR * MgrEpv,
  566.     IN unsigned int Flags,
  567.     IN unsigned int MaxCalls,
  568.     IN RPC_IF_CALLBACK_FN __RPC_FAR *IfCallback
  569.     );
  570.  
  571. /* server */
  572. RPC_STATUS RPC_ENTRY
  573. RpcServerUnregisterIf (
  574.     IN RPC_IF_HANDLE IfSpec,
  575.     IN UUID __RPC_FAR * MgrTypeUuid, OPTIONAL
  576.     IN unsigned int WaitForCallsToComplete
  577.     );
  578.  
  579. /* server */
  580. RPC_STATUS RPC_ENTRY
  581. RpcServerUseAllProtseqs (
  582.     IN unsigned int MaxCalls,
  583.     IN void __RPC_FAR * SecurityDescriptor OPTIONAL
  584.     );
  585.  
  586. /* server */
  587. RPC_STATUS RPC_ENTRY
  588. RpcServerUseAllProtseqsEx (
  589.     IN unsigned int MaxCalls,
  590.     IN void __RPC_FAR * SecurityDescriptor,
  591.     IN PRPC_POLICY Policy
  592.     );
  593.  
  594. /* server */
  595. RPC_STATUS RPC_ENTRY
  596. RpcServerUseAllProtseqsIf (
  597.     IN unsigned int MaxCalls,
  598.     IN RPC_IF_HANDLE IfSpec,
  599.     IN void __RPC_FAR * SecurityDescriptor OPTIONAL
  600.     );
  601.  
  602. /* server */
  603. RPC_STATUS RPC_ENTRY
  604. RpcServerUseAllProtseqsIfEx (
  605.     IN unsigned int MaxCalls,
  606.     IN RPC_IF_HANDLE IfSpec,
  607.     IN void __RPC_FAR * SecurityDescriptor,
  608.     IN PRPC_POLICY Policy
  609.     );
  610.  
  611.  
  612. /* server */
  613.  
  614. #ifdef RPC_UNICODE_SUPPORTED
  615.  
  616. RPC_STATUS RPC_ENTRY
  617. RpcServerUseProtseqA (
  618.     IN unsigned char __RPC_FAR * Protseq,
  619.     IN unsigned int MaxCalls,
  620.     IN void __RPC_FAR * SecurityDescriptor OPTIONAL
  621.     );
  622.  
  623. RPC_STATUS RPC_ENTRY
  624. RpcServerUseProtseqExA (
  625.     IN unsigned char __RPC_FAR * Protseq,
  626.     IN unsigned int MaxCalls,
  627.     IN void __RPC_FAR * SecurityDescriptor,
  628.     IN PRPC_POLICY Policy
  629.     );
  630.  
  631. RPC_STATUS RPC_ENTRY
  632. RpcServerUseProtseqW (
  633.     IN unsigned short __RPC_FAR * Protseq,
  634.     IN unsigned int MaxCalls,
  635.     IN void __RPC_FAR * SecurityDescriptor OPTIONAL
  636.     );
  637.  
  638. RPC_STATUS RPC_ENTRY
  639. RpcServerUseProtseqExW (
  640.     IN unsigned short __RPC_FAR * Protseq,
  641.     IN unsigned int MaxCalls,
  642.     IN void __RPC_FAR * SecurityDescriptor,
  643.     IN PRPC_POLICY Policy
  644.     );
  645.  
  646. #ifdef UNICODE
  647. #define RpcServerUseProtseq RpcServerUseProtseqW
  648. #define RpcServerUseProtseqEx RpcServerUseProtseqExW
  649. #else /* UNICODE */
  650. #define RpcServerUseProtseq RpcServerUseProtseqA
  651. #define RpcServerUseProtseqEx RpcServerUseProtseqExA
  652. #endif /* UNICODE */
  653.  
  654. #else /* RPC_UNICODE_SUPPORTED */
  655.  
  656. RPC_STATUS RPC_ENTRY
  657. RpcServerUseProtseq (
  658.     IN unsigned char __RPC_FAR * Protseq,
  659.     IN unsigned int MaxCalls,
  660.     IN void __RPC_FAR * SecurityDescriptor OPTIONAL
  661.     );
  662.  
  663. RPC_STATUS RPC_ENTRY
  664. RpcServerUseProtseqEx (
  665.     IN unsigned char __RPC_FAR * Protseq,
  666.     IN unsigned int MaxCalls,
  667.     IN void __RPC_FAR * SecurityDescriptor,
  668.     IN PRPC_POLICY Policy
  669.     );
  670.  
  671. #endif /* RPC_UNICODE_SUPPORTED */
  672.  
  673. /* server */
  674.  
  675. #ifdef RPC_UNICODE_SUPPORTED
  676.  
  677. RPC_STATUS RPC_ENTRY
  678. RpcServerUseProtseqEpA (
  679.     IN unsigned char __RPC_FAR * Protseq,
  680.     IN unsigned int MaxCalls,
  681.     IN unsigned char __RPC_FAR * Endpoint,
  682.     IN void __RPC_FAR * SecurityDescriptor OPTIONAL
  683.     );
  684.  
  685. RPC_STATUS RPC_ENTRY
  686. RpcServerUseProtseqEpExA (
  687.     IN unsigned char __RPC_FAR * Protseq,
  688.     IN unsigned int MaxCalls,
  689.     IN unsigned char __RPC_FAR * Endpoint,
  690.     IN void __RPC_FAR * SecurityDescriptor,
  691.     IN PRPC_POLICY Policy
  692.     );
  693.  
  694. RPC_STATUS RPC_ENTRY
  695. RpcServerUseProtseqEpW (
  696.     IN unsigned short __RPC_FAR * Protseq,
  697.     IN unsigned int MaxCalls,
  698.     IN unsigned short __RPC_FAR * Endpoint,
  699.     IN void __RPC_FAR * SecurityDescriptor OPTIONAL
  700.     );
  701.  
  702. RPC_STATUS RPC_ENTRY
  703. RpcServerUseProtseqEpExW (
  704.     IN unsigned short __RPC_FAR * Protseq,
  705.     IN unsigned int MaxCalls,
  706.     IN unsigned short __RPC_FAR * Endpoint,
  707.     IN void __RPC_FAR * SecurityDescriptor,
  708.     IN PRPC_POLICY Policy
  709.     );
  710.  
  711. #ifdef UNICODE
  712. #define RpcServerUseProtseqEp RpcServerUseProtseqEpW
  713. #define RpcServerUseProtseqEpEx RpcServerUseProtseqEpExW
  714. #else /* UNICODE */
  715. #define RpcServerUseProtseqEp RpcServerUseProtseqEpA
  716. #define RpcServerUseProtseqEpEx RpcServerUseProtseqEpExA
  717. #endif /* UNICODE */
  718.  
  719. #else /* RPC_UNICODE_SUPPORTED */
  720.  
  721. RPC_STATUS RPC_ENTRY
  722. RpcServerUseProtseqEp (
  723.     IN unsigned char __RPC_FAR * Protseq,
  724.     IN unsigned int MaxCalls,
  725.     IN unsigned char __RPC_FAR * Endpoint,
  726.     IN void __RPC_FAR * SecurityDescriptor OPTIONAL
  727.     );
  728.  
  729. RPC_STATUS RPC_ENTRY
  730. RpcServerUseProtseqEpEx (
  731.     IN unsigned char __RPC_FAR * Protseq,
  732.     IN unsigned int MaxCalls,
  733.     IN unsigned char __RPC_FAR * Endpoint,
  734.     IN void __RPC_FAR * SecurityDescriptor,
  735.     IN PRPC_POLICY Policy
  736.     );
  737.  
  738. #endif /* RPC_UNICODE_SUPPORTED */
  739.  
  740. /* server */
  741.  
  742. #ifdef RPC_UNICODE_SUPPORTED
  743.  
  744. RPC_STATUS RPC_ENTRY
  745. RpcServerUseProtseqIfA (
  746.     IN unsigned char __RPC_FAR * Protseq,
  747.     IN unsigned int MaxCalls,
  748.     IN RPC_IF_HANDLE IfSpec,
  749.     IN void __RPC_FAR * SecurityDescriptor OPTIONAL
  750.     );
  751.  
  752. RPC_STATUS RPC_ENTRY
  753. RpcServerUseProtseqIfExA (
  754.     IN unsigned char __RPC_FAR * Protseq,
  755.     IN unsigned int MaxCalls,
  756.     IN RPC_IF_HANDLE IfSpec,
  757.     IN void __RPC_FAR * SecurityDescriptor,
  758.     IN PRPC_POLICY Policy
  759.     );
  760.  
  761. RPC_STATUS RPC_ENTRY
  762. RpcServerUseProtseqIfW (
  763.     IN unsigned short __RPC_FAR * Protseq,
  764.     IN unsigned int MaxCalls,
  765.     IN RPC_IF_HANDLE IfSpec,
  766.     IN void __RPC_FAR * SecurityDescriptor OPTIONAL
  767.     );
  768.  
  769. RPC_STATUS RPC_ENTRY
  770. RpcServerUseProtseqIfExW (
  771.     IN unsigned short __RPC_FAR * Protseq,
  772.     IN unsigned int MaxCalls,
  773.     IN RPC_IF_HANDLE IfSpec,
  774.     IN void __RPC_FAR * SecurityDescriptor,
  775.     IN PRPC_POLICY Policy
  776.     );
  777.  
  778. #ifdef UNICODE
  779. #define RpcServerUseProtseqIf RpcServerUseProtseqIfW
  780. #define RpcServerUseProtseqIfEx RpcServerUseProtseqIfExW
  781. #else /* UNICODE */
  782. #define RpcServerUseProtseqIf RpcServerUseProtseqIfA
  783. #define RpcServerUseProtseqIfEx RpcServerUseProtseqIfExA
  784. #endif /* UNICODE */
  785.  
  786. #else /* RPC_UNICODE_SUPPORTED */
  787.  
  788. RPC_STATUS RPC_ENTRY
  789. RpcServerUseProtseqIf (
  790.     IN unsigned char __RPC_FAR * Protseq,
  791.     IN unsigned int MaxCalls,
  792.     IN RPC_IF_HANDLE IfSpec,
  793.     IN void __RPC_FAR * SecurityDescriptor OPTIONAL
  794.     );
  795.  
  796. RPC_STATUS RPC_ENTRY
  797. RpcServerUseProtseqIfEx (
  798.     IN unsigned char __RPC_FAR * Protseq,
  799.     IN unsigned int MaxCalls,
  800.     IN RPC_IF_HANDLE IfSpec,
  801.     IN void __RPC_FAR * SecurityDescriptor,
  802.     IN PRPC_POLICY Policy
  803.     );
  804.  
  805. #endif /* RPC_UNICODE_SUPPORTED */
  806.  
  807. /* server */
  808. RPC_STATUS RPC_ENTRY
  809. RpcMgmtStatsVectorFree (
  810.     IN RPC_STATS_VECTOR ** StatsVector
  811.     );
  812.  
  813. /* server */
  814. RPC_STATUS RPC_ENTRY
  815. RpcMgmtInqStats (
  816.     IN RPC_BINDING_HANDLE Binding,
  817.     OUT RPC_STATS_VECTOR ** Statistics
  818.     );
  819.  
  820. /* server */
  821. RPC_STATUS RPC_ENTRY
  822. RpcMgmtIsServerListening (
  823.     IN RPC_BINDING_HANDLE Binding
  824.     );
  825.  
  826. /* server */
  827. RPC_STATUS RPC_ENTRY
  828. RpcMgmtStopServerListening (
  829.     IN RPC_BINDING_HANDLE Binding
  830.     );
  831.  
  832. /* server */
  833. RPC_STATUS RPC_ENTRY
  834. RpcMgmtWaitServerListen (
  835.     void
  836.     );
  837.  
  838. /* server */
  839. RPC_STATUS RPC_ENTRY
  840. RpcMgmtSetServerStackSize (
  841.     IN unsigned long ThreadStackSize
  842.     );
  843.  
  844. /* server */
  845. void RPC_ENTRY
  846. RpcSsDontSerializeContext (
  847.     void
  848.     );
  849.  
  850. /* client */
  851. RPC_STATUS RPC_ENTRY
  852. RpcMgmtEnableIdleCleanup (
  853.     void
  854.     );
  855.  
  856. RPC_STATUS RPC_ENTRY
  857. RpcMgmtInqIfIds (
  858.     IN RPC_BINDING_HANDLE Binding,
  859.     OUT RPC_IF_ID_VECTOR __RPC_FAR * __RPC_FAR * IfIdVector
  860.     );
  861.  
  862. RPC_STATUS RPC_ENTRY
  863. RpcIfIdVectorFree (
  864.     IN OUT RPC_IF_ID_VECTOR __RPC_FAR * __RPC_FAR * IfIdVector
  865.     );
  866.  
  867. #ifdef RPC_UNICODE_SUPPORTED
  868.  
  869. RPC_STATUS RPC_ENTRY
  870. RpcMgmtInqServerPrincNameA (
  871.     IN RPC_BINDING_HANDLE Binding,
  872.     IN unsigned long AuthnSvc,
  873.     OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName
  874.     );
  875.  
  876. RPC_STATUS RPC_ENTRY
  877. RpcMgmtInqServerPrincNameW (
  878.     IN RPC_BINDING_HANDLE Binding,
  879.     IN unsigned long AuthnSvc,
  880.     OUT unsigned short __RPC_FAR * __RPC_FAR * ServerPrincName
  881.     );
  882.  
  883. #ifdef UNICODE
  884. #define RpcMgmtInqServerPrincName RpcMgmtInqServerPrincNameW
  885. #else /* UNICODE */
  886. #define RpcMgmtInqServerPrincName RpcMgmtInqServerPrincNameA
  887. #endif /* UNICODE */
  888.  
  889. #else /* RPC_UNICODE_SUPPORTED */
  890.  
  891. RPC_STATUS RPC_ENTRY
  892. RpcMgmtInqServerPrincName (
  893.     IN RPC_BINDING_HANDLE Binding,
  894.     IN unsigned long AuthnSvc,
  895.     OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName
  896.     );
  897.  
  898. #endif /* RPC_UNICODE_SUPPORTED */
  899.  
  900. #ifdef RPC_UNICODE_SUPPORTED
  901.  
  902. RPC_STATUS RPC_ENTRY
  903. RpcServerInqDefaultPrincNameA (
  904.     IN unsigned long AuthnSvc,
  905.     OUT unsigned char __RPC_FAR * __RPC_FAR * PrincName
  906.     );
  907.  
  908. RPC_STATUS RPC_ENTRY
  909. RpcServerInqDefaultPrincNameW (
  910.     IN unsigned long AuthnSvc,
  911.     OUT unsigned short __RPC_FAR * __RPC_FAR * PrincName
  912.     );
  913.  
  914. #ifdef UNICODE
  915. #define RpcServerInqDefaultPrincName RpcServerInqDefaultPrincNameW
  916. #else /* UNICODE */
  917. #define RpcServerInqDefaultPrincName RpcServerInqDefaultPrincNameA
  918. #endif /* UNICODE */
  919.  
  920. #else /* RPC_UNICODE_SUPPORTED */
  921.  
  922. RPC_STATUS RPC_ENTRY
  923. RpcServerInqDefaultPrincName (
  924.     IN unsigned long AuthnSvc,
  925.     OUT unsigned char __RPC_FAR * __RPC_FAR * PrincName
  926.     );
  927.  
  928. #endif /* RPC_UNICODE_SUPPORTED */
  929.  
  930. /* client */
  931. RPC_STATUS RPC_ENTRY
  932. RpcEpResolveBinding (
  933.     IN RPC_BINDING_HANDLE Binding,
  934.     IN RPC_IF_HANDLE IfSpec
  935.     );
  936.  
  937. /* client */
  938.  
  939. #ifdef RPC_UNICODE_SUPPORTED
  940.  
  941. RPC_STATUS RPC_ENTRY
  942. RpcNsBindingInqEntryNameA (
  943.     IN RPC_BINDING_HANDLE Binding,
  944.     IN unsigned long EntryNameSyntax,
  945.     OUT unsigned char __RPC_FAR * __RPC_FAR * EntryName
  946.     );
  947.  
  948. RPC_STATUS RPC_ENTRY
  949. RpcNsBindingInqEntryNameW (
  950.     IN RPC_BINDING_HANDLE Binding,
  951.     IN unsigned long EntryNameSyntax,
  952.     OUT unsigned short __RPC_FAR * __RPC_FAR * EntryName
  953.     );
  954.  
  955. #ifdef UNICODE
  956. #define RpcNsBindingInqEntryName RpcNsBindingInqEntryNameW
  957. #else /* UNICODE */
  958. #define RpcNsBindingInqEntryName RpcNsBindingInqEntryNameA
  959. #endif /* UNICODE */
  960.  
  961. #else /* RPC_UNICODE_SUPPORTED */
  962.  
  963. RPC_STATUS RPC_ENTRY
  964. RpcNsBindingInqEntryName (
  965.     IN RPC_BINDING_HANDLE Binding,
  966.     IN unsigned long EntryNameSyntax,
  967.     OUT unsigned char __RPC_FAR * __RPC_FAR * EntryName
  968.     );
  969.  
  970. #endif /* RPC_UNICODE_SUPPORTED */
  971.  
  972. typedef void __RPC_FAR * RPC_AUTH_IDENTITY_HANDLE;
  973. typedef void __RPC_FAR * RPC_AUTHZ_HANDLE;
  974.  
  975. #define RPC_C_AUTHN_LEVEL_DEFAULT 0
  976. #define RPC_C_AUTHN_LEVEL_NONE 1
  977. #define RPC_C_AUTHN_LEVEL_CONNECT 2
  978. #define RPC_C_AUTHN_LEVEL_CALL 3
  979. #define RPC_C_AUTHN_LEVEL_PKT 4
  980. #define RPC_C_AUTHN_LEVEL_PKT_INTEGRITY 5
  981. #define RPC_C_AUTHN_LEVEL_PKT_PRIVACY 6
  982.  
  983. #define RPC_C_IMP_LEVEL_ANONYMOUS    1
  984. #define RPC_C_IMP_LEVEL_IDENTIFY     2
  985. #define RPC_C_IMP_LEVEL_IMPERSONATE  3
  986. #define RPC_C_IMP_LEVEL_DELEGATE     4
  987.  
  988. #define RPC_C_QOS_IDENTITY_STATIC    0
  989. #define RPC_C_QOS_IDENTITY_DYNAMIC   1
  990.  
  991. #define RPC_C_QOS_CAPABILITIES_DEFAULT     0
  992. #define RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH 1
  993.  
  994. #define RPC_C_PROTECT_LEVEL_DEFAULT       (RPC_C_AUTHN_LEVEL_DEFAULT)
  995. #define RPC_C_PROTECT_LEVEL_NONE          (RPC_C_AUTHN_LEVEL_NONE)
  996. #define RPC_C_PROTECT_LEVEL_CONNECT       (RPC_C_AUTHN_LEVEL_CONNECT)
  997. #define RPC_C_PROTECT_LEVEL_CALL          (RPC_C_AUTHN_LEVEL_CALL)
  998. #define RPC_C_PROTECT_LEVEL_PKT           (RPC_C_AUTHN_LEVEL_PKT)
  999. #define RPC_C_PROTECT_LEVEL_PKT_INTEGRITY (RPC_C_AUTHN_LEVEL_PKT_INTEGRITY)
  1000. #define RPC_C_PROTECT_LEVEL_PKT_PRIVACY   (RPC_C_AUTHN_LEVEL_PKT_PRIVACY)
  1001.  
  1002. #define RPC_C_AUTHN_NONE 0
  1003. #define RPC_C_AUTHN_DCE_PRIVATE 1
  1004. #define RPC_C_AUTHN_DCE_PUBLIC 2
  1005. #define RPC_C_AUTHN_DEC_PUBLIC 4
  1006. #define RPC_C_AUTHN_WINNT       10
  1007. #define RPC_C_AUTHN_DEFAULT 0xFFFFFFFFL
  1008.  
  1009. #define RPC_C_SECURITY_QOS_VERSION  1L
  1010.  
  1011. typedef struct _RPC_SECURITY_QOS {
  1012.   unsigned long Version;
  1013.   unsigned long Capabilities;
  1014.   unsigned long IdentityTracking;
  1015.   unsigned long ImpersonationType;
  1016. } RPC_SECURITY_QOS, *PRPC_SECURITY_QOS;
  1017.  
  1018. #if defined(__RPC_DOS__) || defined(__RPC_WIN16__)
  1019. typedef struct _SEC_WINNT_AUTH_IDENTITY
  1020. {
  1021.   char __RPC_FAR *User;
  1022.   char __RPC_FAR *Domain;
  1023.   char __RPC_FAR *Password;
  1024. } SEC_WINNT_AUTH_IDENTITY;
  1025. #else
  1026.  
  1027.  
  1028. #define SEC_WINNT_AUTH_IDENTITY_ANSI 0x1
  1029. #define SEC_WINNT_AUTH_IDENTITY_UNICODE 0x2
  1030.  
  1031. typedef struct _SEC_WINNT_AUTH_IDENTITY_W {
  1032.   unsigned short __RPC_FAR *User;
  1033.   unsigned long UserLength;
  1034.   unsigned short __RPC_FAR *Domain;
  1035.   unsigned long DomainLength;
  1036.   unsigned short __RPC_FAR *Password;
  1037.   unsigned long PasswordLength;
  1038.   unsigned long Flags;
  1039. } SEC_WINNT_AUTH_IDENTITY_W, *PSEC_WINNT_AUTH_IDENTITY_W;
  1040.  
  1041. typedef struct _SEC_WINNT_AUTH_IDENTITY_A {
  1042.   unsigned char __RPC_FAR *User;
  1043.   unsigned long UserLength;
  1044.   unsigned char __RPC_FAR *Domain;
  1045.   unsigned long DomainLength;
  1046.   unsigned char __RPC_FAR *Password;
  1047.   unsigned long PasswordLength;
  1048.   unsigned long Flags;
  1049. } SEC_WINNT_AUTH_IDENTITY_A, *PSEC_WINNT_AUTH_IDENTITY_A;
  1050.  
  1051.  
  1052. #ifdef UNICODE
  1053. #define SEC_WINNT_AUTH_IDENTITY SEC_WINNT_AUTH_IDENTITY_W
  1054. #define PSEC_WINNT_AUTH_IDENTITY PSEC_WINNT_AUTH_IDENTITY_W
  1055. #define _SEC_WINNT_AUTH_IDENTITY _SEC_WINNT_AUTH_IDENTITY_W
  1056. #else // UNICODE
  1057. #define SEC_WINNT_AUTH_IDENTITY SEC_WINNT_AUTH_IDENTITY_A
  1058. #define PSEC_WINNT_AUTH_IDENTITY PSEC_WINNT_AUTH_IDENTITY_A
  1059. #define _SEC_WINNT_AUTH_IDENTITY _SEC_WINNT_AUTH_IDENTITY_A
  1060. #endif // UNICODE
  1061. #endif // defined(__RPC_DOS__) || defined(__RPC_WIN16__)
  1062.  
  1063. #define RPC_C_AUTHZ_NONE 0
  1064. #define RPC_C_AUTHZ_NAME 1
  1065. #define RPC_C_AUTHZ_DCE 2
  1066.  
  1067. #ifdef RPC_UNICODE_SUPPORTED
  1068.  
  1069. RPC_STATUS RPC_ENTRY
  1070. RpcBindingInqAuthClientA (
  1071.     IN RPC_BINDING_HANDLE ClientBinding, OPTIONAL
  1072.     OUT RPC_AUTHZ_HANDLE __RPC_FAR * Privs,
  1073.     OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
  1074.     OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
  1075.     OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
  1076.     OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
  1077.     );
  1078.  
  1079. RPC_STATUS RPC_ENTRY
  1080. RpcBindingInqAuthClientW (
  1081.     IN RPC_BINDING_HANDLE ClientBinding, OPTIONAL
  1082.     OUT RPC_AUTHZ_HANDLE __RPC_FAR * Privs,
  1083.     OUT unsigned short __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
  1084.     OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
  1085.     OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
  1086.     OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
  1087.     );
  1088.  
  1089. RPC_STATUS RPC_ENTRY
  1090. RpcBindingInqAuthInfoA (
  1091.     IN RPC_BINDING_HANDLE Binding,
  1092.     OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
  1093.     OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
  1094.     OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
  1095.     OUT RPC_AUTH_IDENTITY_HANDLE __RPC_FAR * AuthIdentity, OPTIONAL
  1096.     OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
  1097.     );
  1098.  
  1099. RPC_STATUS RPC_ENTRY
  1100. RpcBindingInqAuthInfoW (
  1101.     IN RPC_BINDING_HANDLE Binding,
  1102.     OUT unsigned short __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
  1103.     OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
  1104.     OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
  1105.     OUT RPC_AUTH_IDENTITY_HANDLE __RPC_FAR * AuthIdentity, OPTIONAL
  1106.     OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
  1107.     );
  1108.  
  1109. RPC_STATUS RPC_ENTRY
  1110. RpcBindingSetAuthInfoA (
  1111.     IN RPC_BINDING_HANDLE Binding,
  1112.     IN unsigned char __RPC_FAR * ServerPrincName,
  1113.     IN unsigned long AuthnLevel,
  1114.     IN unsigned long AuthnSvc,
  1115.     IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
  1116.     IN unsigned long AuthzSvc
  1117.     );
  1118.  
  1119. RPC_STATUS RPC_ENTRY
  1120. RpcBindingSetAuthInfoExA (
  1121.     IN RPC_BINDING_HANDLE Binding,
  1122.     IN unsigned char __RPC_FAR * ServerPrincName,
  1123.     IN unsigned long AuthnLevel,
  1124.     IN unsigned long AuthnSvc,
  1125.     IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
  1126.     IN unsigned long AuthzSvc,
  1127.     IN RPC_SECURITY_QOS *SecurityQos OPTIONAL
  1128.     );
  1129.  
  1130. RPC_STATUS RPC_ENTRY
  1131. RpcBindingSetAuthInfoW (
  1132.     IN RPC_BINDING_HANDLE Binding,
  1133.     IN unsigned short __RPC_FAR * ServerPrincName,
  1134.     IN unsigned long AuthnLevel,
  1135.     IN unsigned long AuthnSvc,
  1136.     IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
  1137.     IN unsigned long AuthzSvc
  1138.     );
  1139.  
  1140. RPC_STATUS RPC_ENTRY
  1141. RpcBindingSetAuthInfoExW (
  1142.     IN RPC_BINDING_HANDLE Binding,
  1143.     IN unsigned short __RPC_FAR * ServerPrincName,
  1144.     IN unsigned long AuthnLevel,
  1145.     IN unsigned long AuthnSvc,
  1146.     IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
  1147.     IN unsigned long AuthzSvc, OPTIONAL
  1148.     IN RPC_SECURITY_QOS *SecurityQOS
  1149.     );
  1150.  
  1151. RPC_STATUS RPC_ENTRY
  1152. RpcBindingInqAuthInfoExA (
  1153.     IN RPC_BINDING_HANDLE Binding,
  1154.     OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
  1155.     OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
  1156.     OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
  1157.     OUT RPC_AUTH_IDENTITY_HANDLE __RPC_FAR * AuthIdentity, OPTIONAL
  1158.     OUT unsigned long __RPC_FAR * AuthzSvc, OPTIONAL
  1159.     IN  unsigned long RpcQosVersion,
  1160.     OUT RPC_SECURITY_QOS *SecurityQOS
  1161.     );
  1162.  
  1163. RPC_STATUS RPC_ENTRY
  1164. RpcBindingInqAuthInfoExW (
  1165.     IN RPC_BINDING_HANDLE Binding,
  1166.     OUT unsigned short __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
  1167.     OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
  1168.     OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
  1169.     OUT RPC_AUTH_IDENTITY_HANDLE __RPC_FAR * AuthIdentity, OPTIONAL
  1170.     OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL,
  1171.     IN  unsigned long RpcQosVersion,
  1172.     OUT RPC_SECURITY_QOS *SecurityQOS
  1173.     );
  1174.  
  1175. typedef void
  1176. (__RPC_USER * RPC_AUTH_KEY_RETRIEVAL_FN) (
  1177.     IN void __RPC_FAR * Arg,
  1178.     IN unsigned short __RPC_FAR * ServerPrincName,
  1179.     IN unsigned long KeyVer,
  1180.     OUT void __RPC_FAR * __RPC_FAR * Key,
  1181.     OUT RPC_STATUS __RPC_FAR * Status
  1182.     );
  1183.  
  1184. RPC_STATUS RPC_ENTRY
  1185. RpcServerRegisterAuthInfoA (
  1186.     IN unsigned char __RPC_FAR * ServerPrincName,
  1187.     IN unsigned long AuthnSvc,
  1188.     IN RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn OPTIONAL,
  1189.     IN void __RPC_FAR * Arg OPTIONAL
  1190.     );
  1191.  
  1192. RPC_STATUS RPC_ENTRY
  1193. RpcServerRegisterAuthInfoW (
  1194.     IN unsigned short __RPC_FAR * ServerPrincName,
  1195.     IN unsigned long AuthnSvc,
  1196.     IN RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn OPTIONAL,
  1197.     IN void __RPC_FAR * Arg OPTIONAL
  1198.     );
  1199.  
  1200. #ifdef UNICODE
  1201. #define RpcBindingInqAuthClient RpcBindingInqAuthClientW
  1202. #define RpcBindingInqAuthInfo RpcBindingInqAuthInfoW
  1203. #define RpcBindingSetAuthInfo RpcBindingSetAuthInfoW
  1204. #define RpcServerRegisterAuthInfo RpcServerRegisterAuthInfoW
  1205. #define RpcBindingInqAuthInfoEx RpcBindingInqAuthInfoExW
  1206. #define RpcBindingSetAuthInfoEx RpcBindingSetAuthInfoExW
  1207. #else /* UNICODE */
  1208. #define RpcBindingInqAuthClient RpcBindingInqAuthClientA
  1209. #define RpcBindingInqAuthInfo RpcBindingInqAuthInfoA
  1210. #define RpcBindingSetAuthInfo RpcBindingSetAuthInfoA
  1211. #define RpcServerRegisterAuthInfo RpcServerRegisterAuthInfoA
  1212. #define RpcBindingInqAuthInfoEx RpcBindingInqAuthInfoExA
  1213. #define RpcBindingSetAuthInfoEx RpcBindingSetAuthInfoExA
  1214. #endif /* UNICODE */
  1215.  
  1216. #else /* RPC_UNICODE_SUPPORTED */
  1217.  
  1218. RPC_STATUS RPC_ENTRY
  1219. RpcBindingInqAuthClient (
  1220.     IN RPC_BINDING_HANDLE ClientBinding, OPTIONAL
  1221.     OUT RPC_AUTHZ_HANDLE __RPC_FAR * Privs,
  1222.     OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
  1223.     OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
  1224.     OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
  1225.     OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
  1226.     );
  1227.  
  1228. RPC_STATUS RPC_ENTRY
  1229. RpcBindingInqAuthInfo (
  1230.     IN RPC_BINDING_HANDLE Binding,
  1231.     OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
  1232.     OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
  1233.     OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
  1234.     OUT RPC_AUTH_IDENTITY_HANDLE __RPC_FAR * AuthIdentity, OPTIONAL
  1235.     OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
  1236.     );
  1237.  
  1238. RPC_STATUS RPC_ENTRY
  1239. RpcBindingSetAuthInfo (
  1240.     IN RPC_BINDING_HANDLE Binding,
  1241.     IN unsigned char __RPC_FAR * ServerPrincName,
  1242.     IN unsigned long AuthnLevel,
  1243.     IN unsigned long AuthnSvc,
  1244.     IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
  1245.     IN unsigned long AuthzSvc
  1246.     );
  1247.  
  1248. typedef void
  1249. (__RPC_USER * RPC_AUTH_KEY_RETRIEVAL_FN) (
  1250.     IN void __RPC_FAR * Arg,
  1251.     IN unsigned char __RPC_FAR * ServerPrincName,
  1252.     IN unsigned long KeyVer,
  1253.     OUT void __RPC_FAR * __RPC_FAR * Key,
  1254.     OUT RPC_STATUS __RPC_FAR * Status
  1255.     );
  1256.  
  1257. RPC_STATUS RPC_ENTRY
  1258. RpcServerRegisterAuthInfo (
  1259.     IN unsigned char __RPC_FAR * ServerPrincName,
  1260.     IN unsigned long AuthnSvc,
  1261.     IN RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn OPTIONAL,
  1262.     IN void __RPC_FAR * Arg OPTIONAL
  1263.     );
  1264.  
  1265. #endif /* RPC_UNICODE_SUPPORTED */
  1266.  
  1267. typedef struct {
  1268.     unsigned char __RPC_FAR * UserName;
  1269.     unsigned char __RPC_FAR * ComputerName;
  1270.     unsigned short Privilege;
  1271.     unsigned long AuthFlags;
  1272. } RPC_CLIENT_INFORMATION1, __RPC_FAR * PRPC_CLIENT_INFORMATION1;
  1273.  
  1274. RPC_STATUS RPC_ENTRY
  1275. RpcBindingServerFromClient (
  1276.     IN RPC_BINDING_HANDLE ClientBinding,
  1277.     OUT RPC_BINDING_HANDLE __RPC_FAR * ServerBinding
  1278.     );
  1279.  
  1280. void RPC_ENTRY
  1281. RpcRaiseException (
  1282.     IN RPC_STATUS exception
  1283.     );
  1284.  
  1285. RPC_STATUS RPC_ENTRY
  1286. RpcTestCancel(
  1287.     );
  1288.  
  1289. RPC_STATUS RPC_ENTRY
  1290. RpcCancelThread(
  1291.     IN void * Thread
  1292.     );
  1293.  
  1294. /* client/server */
  1295. RPC_STATUS RPC_ENTRY
  1296. UuidCreate (
  1297.     OUT UUID __RPC_FAR * Uuid
  1298.     );
  1299.  
  1300. #ifdef RPC_UNICODE_SUPPORTED
  1301.  
  1302. /* client/server */
  1303. RPC_STATUS RPC_ENTRY
  1304. UuidToStringA (
  1305.     IN UUID __RPC_FAR * Uuid,
  1306.     OUT unsigned char __RPC_FAR * __RPC_FAR * StringUuid
  1307.     );
  1308.  
  1309. /* client/server */
  1310. RPC_STATUS RPC_ENTRY
  1311. UuidFromStringA (
  1312.     IN unsigned char __RPC_FAR * StringUuid,
  1313.     OUT UUID __RPC_FAR * Uuid
  1314.     );
  1315.  
  1316. /* client/server */
  1317. RPC_STATUS RPC_ENTRY
  1318. UuidToStringW (
  1319.     IN UUID __RPC_FAR * Uuid,
  1320.     OUT unsigned short __RPC_FAR * __RPC_FAR * StringUuid
  1321.     );
  1322.  
  1323. /* client/server */
  1324. RPC_STATUS RPC_ENTRY
  1325. UuidFromStringW (
  1326.     IN unsigned short __RPC_FAR * StringUuid,
  1327.     OUT UUID __RPC_FAR * Uuid
  1328.     );
  1329.  
  1330. #ifdef UNICODE
  1331. #define UuidFromString UuidFromStringW
  1332. #define UuidToString UuidToStringW
  1333. #else /* UNICODE */
  1334. #define UuidFromString UuidFromStringA
  1335. #define UuidToString UuidToStringA
  1336. #endif /* UNICODE */
  1337.  
  1338. #else /* RPC_UNICODE_SUPPORTED */
  1339.  
  1340. /* client/server */
  1341. RPC_STATUS RPC_ENTRY
  1342. UuidToString (
  1343.     IN UUID __RPC_FAR * Uuid,
  1344.     OUT unsigned char __RPC_FAR * __RPC_FAR * StringUuid
  1345.     );
  1346.  
  1347. /* client/server */
  1348. RPC_STATUS RPC_ENTRY
  1349. UuidFromString (
  1350.     IN unsigned char __RPC_FAR * StringUuid,
  1351.     OUT UUID __RPC_FAR * Uuid
  1352.     );
  1353.  
  1354. #endif /* RPC_UNICODE_SUPPORTED */
  1355.  
  1356. signed int RPC_ENTRY
  1357. UuidCompare (
  1358.     IN UUID __RPC_FAR * Uuid1,
  1359.     IN UUID __RPC_FAR * Uuid2,
  1360.     OUT RPC_STATUS __RPC_FAR * Status
  1361.     );
  1362.  
  1363. RPC_STATUS RPC_ENTRY
  1364. UuidCreateNil (
  1365.     OUT UUID __RPC_FAR * NilUuid
  1366.     );
  1367.  
  1368. int RPC_ENTRY
  1369. UuidEqual (
  1370.     IN UUID __RPC_FAR * Uuid1,
  1371.     IN UUID __RPC_FAR * Uuid2,
  1372.     OUT RPC_STATUS __RPC_FAR * Status
  1373.     );
  1374.  
  1375. unsigned short RPC_ENTRY
  1376. UuidHash (
  1377.     IN UUID __RPC_FAR * Uuid,
  1378.     OUT RPC_STATUS __RPC_FAR * Status
  1379.     );
  1380.  
  1381. int RPC_ENTRY
  1382. UuidIsNil (
  1383.     IN UUID __RPC_FAR * Uuid,
  1384.     OUT RPC_STATUS __RPC_FAR * Status
  1385.     );
  1386.  
  1387. #ifdef RPC_UNICODE_SUPPORTED
  1388.  
  1389. RPC_STATUS RPC_ENTRY
  1390. RpcEpRegisterNoReplaceA (
  1391.     IN RPC_IF_HANDLE IfSpec,
  1392.     IN RPC_BINDING_VECTOR * BindingVector,
  1393.     IN UUID_VECTOR * UuidVector OPTIONAL,
  1394.     IN unsigned char * Annotation
  1395.     );
  1396.  
  1397. RPC_STATUS RPC_ENTRY
  1398. RpcEpRegisterNoReplaceW (
  1399.     IN RPC_IF_HANDLE IfSpec,
  1400.     IN RPC_BINDING_VECTOR * BindingVector,
  1401.     IN UUID_VECTOR * UuidVector OPTIONAL,
  1402.     IN unsigned short  * Annotation
  1403.     );
  1404.  
  1405. RPC_STATUS RPC_ENTRY
  1406. RpcEpRegisterA (
  1407.     IN RPC_IF_HANDLE IfSpec,
  1408.     IN RPC_BINDING_VECTOR * BindingVector,
  1409.     IN UUID_VECTOR * UuidVector OPTIONAL,
  1410.     IN unsigned char * Annotation
  1411.     );
  1412.  
  1413. RPC_STATUS RPC_ENTRY
  1414. RpcEpRegisterW (
  1415.     IN RPC_IF_HANDLE IfSpec,
  1416.     IN RPC_BINDING_VECTOR * BindingVector,
  1417.     IN UUID_VECTOR * UuidVector OPTIONAL,
  1418.     IN unsigned short * Annotation
  1419.     );
  1420.  
  1421. #ifdef UNICODE
  1422. #define RpcEpRegisterNoReplace RpcEpRegisterNoReplaceW
  1423. #define RpcEpRegister RpcEpRegisterW
  1424. #else /* UNICODE */
  1425. #define RpcEpRegisterNoReplace RpcEpRegisterNoReplaceA
  1426. #define RpcEpRegister RpcEpRegisterA
  1427. #endif /* UNICODE */
  1428.  
  1429. #else /* RPC_UNICODE_SUPPORTED */
  1430.  
  1431. RPC_STATUS RPC_ENTRY
  1432. RpcEpRegisterNoReplace (
  1433.     IN RPC_IF_HANDLE IfSpec,
  1434.     IN RPC_BINDING_VECTOR * BindingVector,
  1435.     IN UUID_VECTOR * UuidVector OPTIONAL,
  1436.     IN unsigned  char * Annotation
  1437.     );
  1438.  
  1439. RPC_STATUS RPC_ENTRY
  1440. RpcEpRegister (
  1441.     IN RPC_IF_HANDLE IfSpec,
  1442.     IN RPC_BINDING_VECTOR * BindingVector,
  1443.     IN UUID_VECTOR * UuidVector OPTIONAL,
  1444.     IN unsigned char * Annotation
  1445.     );
  1446.  
  1447. #endif /* RPC_UNICODE_SUPPORTED */
  1448.  
  1449.  
  1450. RPC_STATUS RPC_ENTRY
  1451. RpcEpUnregister(
  1452.     IN RPC_IF_HANDLE IfSpec,
  1453.     IN RPC_BINDING_VECTOR * BindingVector,
  1454.     IN UUID_VECTOR * UuidVector
  1455.     );
  1456.  
  1457. #ifdef RPC_UNICODE_SUPPORTED
  1458.  
  1459. RPC_STATUS RPC_ENTRY
  1460. DceErrorInqTextA (
  1461.     IN RPC_STATUS RpcStatus,
  1462.     OUT unsigned char __RPC_FAR * ErrorText
  1463.     );
  1464.  
  1465. RPC_STATUS RPC_ENTRY
  1466. DceErrorInqTextW (
  1467.     IN RPC_STATUS RpcStatus,
  1468.     OUT unsigned short __RPC_FAR * ErrorText
  1469.     );
  1470.  
  1471. #ifdef UNICODE
  1472. #define DceErrorInqText DceErrorInqTextW
  1473. #else /* UNICODE */
  1474. #define DceErrorInqText DceErrorInqTextA
  1475. #endif /* UNICODE */
  1476.  
  1477. #else /* RPC_UNICODE_SUPPORTED */
  1478.  
  1479. RPC_STATUS RPC_ENTRY
  1480. DceErrorInqText (
  1481.     IN RPC_STATUS RpcStatus,
  1482.     OUT unsigned char __RPC_FAR * ErrorText
  1483.     );
  1484.  
  1485. #endif /* RPC_UNICODE_SUPPORTED */
  1486.  
  1487. #define DCE_C_ERROR_STRING_LEN 256
  1488.  
  1489. typedef I_RPC_HANDLE * RPC_EP_INQ_HANDLE;
  1490.  
  1491. #define  RPC_C_EP_ALL_ELTS        0
  1492. #define  RPC_C_EP_MATCH_BY_IF     1
  1493. #define  RPC_C_EP_MATCH_BY_OBJ    2
  1494. #define  RPC_C_EP_MATCH_BY_BOTH   3
  1495.  
  1496. #define  RPC_C_VERS_ALL           1
  1497. #define  RPC_C_VERS_COMPATIBLE    2
  1498. #define  RPC_C_VERS_EXACT         3
  1499. #define  RPC_C_VERS_MAJOR_ONLY    4
  1500. #define  RPC_C_VERS_UPTO          5
  1501.  
  1502. RPC_STATUS RPC_ENTRY
  1503. RpcMgmtEpEltInqBegin (
  1504.     IN RPC_BINDING_HANDLE EpBinding OPTIONAL,
  1505.     IN unsigned long InquiryType,
  1506.     IN RPC_IF_ID __RPC_FAR * IfId OPTIONAL,
  1507.     IN unsigned long VersOption OPTIONAL,
  1508.     IN UUID __RPC_FAR * ObjectUuid OPTIONAL,
  1509.     OUT RPC_EP_INQ_HANDLE __RPC_FAR * InquiryContext
  1510.     );
  1511.  
  1512. RPC_STATUS RPC_ENTRY
  1513. RpcMgmtEpEltInqDone (
  1514.     IN OUT RPC_EP_INQ_HANDLE __RPC_FAR * InquiryContext
  1515.     );
  1516.  
  1517. #ifdef RPC_UNICODE_SUPPORTED
  1518.  
  1519. RPC_STATUS RPC_ENTRY
  1520. RpcMgmtEpEltInqNextA (
  1521.     IN RPC_EP_INQ_HANDLE InquiryContext,
  1522.     OUT RPC_IF_ID __RPC_FAR * IfId,
  1523.     OUT RPC_BINDING_HANDLE __RPC_FAR * Binding OPTIONAL,
  1524.     OUT UUID __RPC_FAR * ObjectUuid OPTIONAL,
  1525.     OUT unsigned char __RPC_FAR * __RPC_FAR * Annotation OPTIONAL
  1526.     );
  1527.  
  1528. RPC_STATUS RPC_ENTRY
  1529. RpcMgmtEpEltInqNextW (
  1530.     IN RPC_EP_INQ_HANDLE InquiryContext,
  1531.     OUT RPC_IF_ID __RPC_FAR * IfId,
  1532.     OUT RPC_BINDING_HANDLE __RPC_FAR * Binding OPTIONAL,
  1533.     OUT UUID __RPC_FAR * ObjectUuid OPTIONAL,
  1534.     OUT unsigned short __RPC_FAR * __RPC_FAR * Annotation OPTIONAL
  1535.     );
  1536.  
  1537. #ifdef UNICODE
  1538. #define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextW
  1539. #else /* UNICODE */
  1540. #define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextA
  1541. #endif /* UNICODE */
  1542.  
  1543. #else /* RPC_UNICODE_SUPPORTED */
  1544.  
  1545. RPC_STATUS RPC_ENTRY
  1546. RpcMgmtEpEltInqNext (
  1547.     IN RPC_EP_INQ_HANDLE InquiryContext,
  1548.     OUT RPC_IF_ID __RPC_FAR * IfId,
  1549.     OUT RPC_BINDING_HANDLE __RPC_FAR * Binding OPTIONAL,
  1550.     OUT unsigned char __RPC_FAR * __RPC_FAR * Annotation OPTIONAL
  1551.     );
  1552.  
  1553. #endif /* RPC_UNICODE_SUPPORTED */
  1554.  
  1555. RPC_STATUS RPC_ENTRY
  1556. RpcMgmtEpUnregister (
  1557.     IN RPC_BINDING_HANDLE EpBinding OPTIONAL,
  1558.     IN RPC_IF_ID __RPC_FAR * IfId,
  1559.     IN RPC_BINDING_HANDLE Binding,
  1560.     IN UUID __RPC_FAR * ObjectUuid OPTIONAL
  1561.     );
  1562.  
  1563. typedef int
  1564. (__RPC_API * RPC_MGMT_AUTHORIZATION_FN) (
  1565.     IN RPC_BINDING_HANDLE ClientBinding,
  1566.     IN unsigned long RequestedMgmtOperation,
  1567.     OUT RPC_STATUS __RPC_FAR * Status
  1568.     );
  1569.  
  1570. #define RPC_C_MGMT_INQ_IF_IDS         0
  1571. #define RPC_C_MGMT_INQ_PRINC_NAME     1
  1572. #define RPC_C_MGMT_INQ_STATS          2
  1573. #define RPC_C_MGMT_IS_SERVER_LISTEN   3
  1574. #define RPC_C_MGMT_STOP_SERVER_LISTEN 4
  1575.  
  1576. RPC_STATUS RPC_ENTRY
  1577. RpcMgmtSetAuthorizationFn (
  1578.     IN RPC_MGMT_AUTHORIZATION_FN AuthorizationFn
  1579.     );
  1580.  
  1581.  
  1582. #define RPC_C_PARM_MAX_PACKET_LENGTH    1
  1583. #define RPC_C_PARM_BUFFER_LENGTH        2
  1584.  
  1585. RPC_STATUS RPC_ENTRY
  1586. RpcMgmtInqParameter (
  1587.     IN unsigned Parameter,
  1588.     IN unsigned long __RPC_FAR * Value
  1589.     );
  1590.  
  1591. RPC_STATUS RPC_ENTRY
  1592. RpcMgmtSetParameter (
  1593.     IN unsigned Parameter,
  1594.     IN unsigned long Value
  1595.     );
  1596.  
  1597. RPC_STATUS RPC_ENTRY
  1598. RpcMgmtBindingInqParameter (
  1599.     IN RPC_BINDING_HANDLE Handle,
  1600.     IN unsigned Parameter,
  1601.     IN unsigned long __RPC_FAR * Value
  1602.     );
  1603.  
  1604. RPC_STATUS RPC_ENTRY
  1605. RpcMgmtBindingSetParameter (
  1606.     IN RPC_BINDING_HANDLE Handle,
  1607.     IN unsigned Parameter,
  1608.     IN unsigned long Value
  1609.     );
  1610.  
  1611. #define RPC_IF_AUTOLISTEN 0x0001
  1612. #define RPC_IF_OLE              0x0002
  1613.  
  1614.  
  1615. #include <rpcdcep.h>
  1616.  
  1617.  
  1618. #ifdef __cplusplus
  1619. }
  1620. #endif
  1621.  
  1622. #pragma option pop
  1623. #endif /* __RPCDCE_H__ */
  1624.