home *** CD-ROM | disk | FTP | other *** search
/ Beginning C++ Through Gam…rogramming (2nd Edition) / BCGP2E.ISO / bloodshed / devcpp-4.9.9.2_setup.exe / rpcdce.h < prev    next >
C/C++ Source or Header  |  2005-01-29  |  22KB  |  394 lines

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