source: trunk/include/win/rpcdce.h@ 5200

Last change on this file since 5200 was 3311, checked in by davidr, 25 years ago

RPC header

File size: 43.9 KB
Line 
1
2#ifndef __ODIN_RPCDCE_H__
3#define __ODIN_RPCDCE_H__
4
5#ifdef __cplusplus
6extern "C" {
7#endif
8
9#define IN
10#define OUT
11#define OPTIONAL
12
13# define __RPC_FAR
14# define __RPC_API
15# define __RPC_USER
16# define __RPC_STUB
17# define RPC_ENTRY WIN32API
18
19#define DECLSPEC_IMPORT extern
20#define RPCRTAPI DECLSPEC_IMPORT
21#define RPCNSAPI DECLSPEC_IMPORT
22
23
24
25/*typedef char small;*/
26/*typedef unsigned char byte;*/
27/*typedef unsigned char boolean;*/
28typedef void * I_RPC_HANDLE;
29typedef long RPC_STATUS;
30typedef HANDLE RPC_BINDING_HANDLE;
31#define rpc_binding_handle_t RPC_BINDING_HANDLE
32
33#ifndef GUID_DEFINED
34#define GUID_DEFINED
35typedef struct _GUID
36{
37 unsigned long Data1;
38 unsigned short Data2;
39 unsigned short Data3;
40 unsigned char Data4[8];
41} GUID;
42#endif /* GUID_DEFINED */
43
44#ifndef UUID_DEFINED
45#define UUID_DEFINED
46typedef GUID UUID;
47#ifndef uuid_t
48#define uuid_t UUID
49#endif
50#endif
51
52typedef struct _RPC_BINDING_VECTOR
53{
54 unsigned long Count;
55 RPC_BINDING_HANDLE BindingH[1];
56} RPC_BINDING_VECTOR;
57#ifndef rpc_binding_vector_t
58#define rpc_binding_vector_t RPC_BINDING_VECTOR
59#endif
60
61typedef struct _UUID_VECTOR
62{
63 unsigned long Count;
64 UUID *Uuid[1];
65} UUID_VECTOR;
66#ifndef uuid_vector_t
67#define uuid_vector_t UUID_VECTOR
68#endif
69
70typedef void __RPC_FAR * RPC_IF_HANDLE;
71
72#ifndef IFID_DEFINED
73#define IFID_DEFINED
74typedef struct _RPC_IF_ID
75{
76 UUID Uuid;
77 unsigned short VersMajor;
78 unsigned short VersMinor;
79} RPC_IF_ID;
80#endif
81
82#define RPC_C_BINDING_INFINITE_TIMEOUT 10
83#define RPC_C_BINDING_MIN_TIMEOUT 0
84#define RPC_C_BINDING_DEFAULT_TIMEOUT 5
85#define RPC_C_BINDING_MAX_TIMEOUT 9
86
87#define RPC_C_CANCEL_INFINITE_TIMEOUT -1
88
89#define RPC_C_LISTEN_MAX_CALLS_DEFAULT 1234
90#define RPC_C_PROTSEQ_MAX_REQS_DEFAULT 10
91
92// RPC_POLICY EndpointFlags.
93#define RPC_C_BIND_TO_ALL_NICS 1
94#define RPC_C_USE_INTERNET_PORT 1
95#define RPC_C_USE_INTRANET_PORT 2
96
97// RPC_POLICY EndpointFlags specific to the Falcon/RPC transport:
98#define RPC_C_MQ_TEMPORARY 0x0000
99#define RPC_C_MQ_PERMANENT 0x0001
100#define RPC_C_MQ_CLEAR_ON_OPEN 0x0002
101#define RPC_C_MQ_USE_EXISTING_SECURITY 0x0004
102#define RPC_C_MQ_AUTHN_LEVEL_NONE 0x0000
103#define RPC_C_MQ_AUTHN_LEVEL_PKT_INTEGRITY 0x0008
104#define RPC_C_MQ_AUTHN_LEVEL_PKT_PRIVACY 0x0010
105
106// Client: RpcBindingSetOption() values for the Falcon/RPC transport:
107#define RPC_C_OPT_MQ_DELIVERY 1
108#define RPC_C_OPT_MQ_PRIORITY 2
109#define RPC_C_OPT_MQ_JOURNAL 3
110#define RPC_C_OPT_MQ_ACKNOWLEDGE 4
111#define RPC_C_OPT_MQ_AUTHN_SERVICE 5
112#define RPC_C_OPT_MQ_AUTHN_LEVEL 6
113#define RPC_C_OPT_MQ_TIME_TO_REACH_QUEUE 7
114#define RPC_C_OPT_MQ_TIME_TO_BE_RECEIVED 8
115#define RPC_C_OPT_BINDING_NONCAUSAL 9
116#define RPC_C_OPT_MAX_OPTIONS 10
117
118#define RPC_C_MQ_EXPRESS 0 // Client: RPC_C_MQ_DELIVERY.
119#define RPC_C_MQ_RECOVERABLE 1
120
121#define RPC_C_MQ_JOURNAL_NONE 0 // Client: RPC_C_MQ_JOURNAL.
122#define RPC_C_MQ_JOURNAL_DEADLETTER 1
123#define RPC_C_MQ_JOURNAL_ALWAYS 2
124
125
126#ifdef RPC_UNICODE_SUPPORTED
127typedef struct _RPC_PROTSEQ_VECTORA
128{
129 unsigned int Count;
130 unsigned char __RPC_FAR * Protseq[1];
131} RPC_PROTSEQ_VECTORA;
132
133typedef struct _RPC_PROTSEQ_VECTORW
134{
135 unsigned int Count;
136 unsigned short __RPC_FAR * Protseq[1];
137} RPC_PROTSEQ_VECTORW;
138
139#ifdef UNICODE
140#define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORW
141#else /* UNICODE */
142#define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORA
143#endif /* UNICODE */
144
145#else /* RPC_UNICODE_SUPPORTED */
146
147typedef struct _RPC_PROTSEQ_VECTOR
148{
149 unsigned int Count;
150 unsigned char __RPC_FAR * Protseq[1];
151} RPC_PROTSEQ_VECTOR;
152
153#endif /* RPC_UNICODE_SUPPORTED */
154typedef struct _RPC_POLICY {
155 unsigned int Length ;
156 unsigned long EndpointFlags ;
157 unsigned long NICFlags ;
158 } RPC_POLICY, __RPC_FAR *PRPC_POLICY ;
159
160typedef void __RPC_USER
161RPC_OBJECT_INQ_FN (
162 IN UUID __RPC_FAR * ObjectUuid,
163 OUT UUID __RPC_FAR * TypeUuid,
164 OUT RPC_STATUS __RPC_FAR * Status
165 );
166
167typedef RPC_STATUS RPC_ENTRY
168RPC_IF_CALLBACK_FN (
169 IN RPC_IF_HANDLE InterfaceUuid,
170 IN void *Context
171 ) ;
172
173#define RPC_MGR_EPV void
174
175typedef struct
176{
177 unsigned int Count;
178 unsigned long Stats[1];
179} RPC_STATS_VECTOR;
180
181#define RPC_C_STATS_CALLS_IN 0
182#define RPC_C_STATS_CALLS_OUT 1
183#define RPC_C_STATS_PKTS_IN 2
184#define RPC_C_STATS_PKTS_OUT 3
185
186typedef struct
187{
188 unsigned long Count;
189 RPC_IF_ID __RPC_FAR * IfId[1];
190} RPC_IF_ID_VECTOR;
191
192/* client */
193RPCRTAPI
194RPC_STATUS
195RPC_ENTRY
196RpcBindingCopy (
197 IN RPC_BINDING_HANDLE SourceBinding,
198 OUT RPC_BINDING_HANDLE __RPC_FAR * DestinationBinding
199 );
200
201/* client */
202RPCRTAPI
203RPC_STATUS
204RPC_ENTRY
205RpcBindingFree (
206 IN OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
207 );
208
209/* client */
210RPCRTAPI
211RPC_STATUS
212RPC_ENTRY
213RpcBindingSetOption( IN RPC_BINDING_HANDLE hBinding,
214 IN unsigned long option,
215 IN unsigned long optionValue );
216
217/* client */
218RPCRTAPI
219RPC_STATUS
220RPC_ENTRY
221RpcBindingInqOption( IN RPC_BINDING_HANDLE hBinding,
222 IN unsigned long option,
223 OUT unsigned long *pOptionValue );
224
225/* client */
226
227#ifdef RPC_UNICODE_SUPPORTED
228
229RPCRTAPI
230RPC_STATUS
231RPC_ENTRY
232RpcBindingFromStringBindingA (
233 IN unsigned char __RPC_FAR * StringBinding,
234 OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
235 );
236
237RPCRTAPI
238RPC_STATUS
239RPC_ENTRY
240RpcBindingFromStringBindingW (
241 IN unsigned short __RPC_FAR * StringBinding,
242 OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
243 );
244
245#ifdef UNICODE
246#define RpcBindingFromStringBinding RpcBindingFromStringBindingW
247#else /* UNICODE */
248#define RpcBindingFromStringBinding RpcBindingFromStringBindingA
249#endif /* UNICODE */
250
251#else /* RPC_UNICODE_SUPPORTED */
252
253RPCRTAPI
254RPC_STATUS
255RPC_ENTRY
256RpcBindingFromStringBinding (
257 IN unsigned char __RPC_FAR * StringBinding,
258 OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
259 );
260
261#endif /* RPC_UNICODE_SUPPORTED */
262
263/* client/server */
264RPCRTAPI
265RPC_STATUS
266RPC_ENTRY
267RpcBindingInqObject (
268 IN RPC_BINDING_HANDLE Binding,
269 OUT UUID __RPC_FAR * ObjectUuid
270 );
271
272/* client */
273RPCRTAPI
274RPC_STATUS
275RPC_ENTRY
276RpcBindingReset (
277 IN RPC_BINDING_HANDLE Binding
278 );
279
280/* RpcBindingServerFromClient : UNSUPPORTED */
281/* RpcBindingSetAuthInfo */
282
283/* client */
284RPCRTAPI
285RPC_STATUS
286RPC_ENTRY
287RpcBindingSetObject (
288 IN RPC_BINDING_HANDLE Binding,
289 IN UUID __RPC_FAR * ObjectUuid
290 );
291
292/* client/server */
293RPCRTAPI
294RPC_STATUS
295RPC_ENTRY
296RpcMgmtInqDefaultProtectLevel(
297 IN unsigned long AuthnSvc,
298 OUT unsigned long __RPC_FAR *AuthnLevel
299 );
300
301/* client/server */
302
303#ifdef RPC_UNICODE_SUPPORTED
304
305RPCRTAPI
306RPC_STATUS
307RPC_ENTRY
308RpcBindingToStringBindingA (
309 IN RPC_BINDING_HANDLE Binding,
310 OUT unsigned char __RPC_FAR * __RPC_FAR * StringBinding
311 );
312
313RPCRTAPI
314RPC_STATUS
315RPC_ENTRY
316RpcBindingToStringBindingW (
317 IN RPC_BINDING_HANDLE Binding,
318 OUT unsigned short __RPC_FAR * __RPC_FAR * StringBinding
319 );
320
321#ifdef UNICODE
322#define RpcBindingToStringBinding RpcBindingToStringBindingW
323#else /* UNICODE */
324#define RpcBindingToStringBinding RpcBindingToStringBindingA
325#endif /* UNICODE */
326
327#else /* RPC_UNICODE_SUPPORTED */
328
329RPCRTAPI
330RPC_STATUS
331RPC_ENTRY
332RpcBindingToStringBinding (
333 IN RPC_BINDING_HANDLE Binding,
334 OUT unsigned char __RPC_FAR * __RPC_FAR * StringBinding
335 );
336
337#endif /* RPC_UNICODE_SUPPORTED */
338
339/* client/server */
340RPCRTAPI
341RPC_STATUS
342RPC_ENTRY
343RpcBindingVectorFree (
344 IN OUT RPC_BINDING_VECTOR __RPC_FAR * __RPC_FAR * BindingVector
345 );
346
347/* client/server */
348
349#ifdef RPC_UNICODE_SUPPORTED
350
351RPCRTAPI
352RPC_STATUS
353RPC_ENTRY
354RpcStringBindingComposeA (
355 IN unsigned char __RPC_FAR * ObjUuid OPTIONAL,
356 IN unsigned char __RPC_FAR * Protseq OPTIONAL,
357 IN unsigned char __RPC_FAR * NetworkAddr OPTIONAL,
358 IN unsigned char __RPC_FAR * Endpoint OPTIONAL,
359 IN unsigned char __RPC_FAR * Options OPTIONAL,
360 OUT unsigned char __RPC_FAR * __RPC_FAR * StringBinding OPTIONAL
361 );
362
363RPCRTAPI
364RPC_STATUS
365RPC_ENTRY
366RpcStringBindingComposeW (
367 IN unsigned short __RPC_FAR * ObjUuid OPTIONAL,
368 IN unsigned short __RPC_FAR * Protseq OPTIONAL,
369 IN unsigned short __RPC_FAR * NetworkAddr OPTIONAL,
370 IN unsigned short __RPC_FAR * Endpoint OPTIONAL,
371 IN unsigned short __RPC_FAR * Options OPTIONAL,
372 OUT unsigned short __RPC_FAR * __RPC_FAR * StringBinding OPTIONAL
373 );
374
375#ifdef UNICODE
376#define RpcStringBindingCompose RpcStringBindingComposeW
377#else /* UNICODE */
378#define RpcStringBindingCompose RpcStringBindingComposeA
379#endif /* UNICODE */
380
381#else /* RPC_UNICODE_SUPPORTED */
382
383RPCRTAPI
384RPC_STATUS
385RPC_ENTRY
386RpcStringBindingCompose (
387 IN unsigned char __RPC_FAR * ObjUuid OPTIONAL,
388 IN unsigned char __RPC_FAR * Protseq OPTIONAL,
389 IN unsigned char __RPC_FAR * NetworkAddr OPTIONAL,
390 IN unsigned char __RPC_FAR * Endpoint OPTIONAL,
391 IN unsigned char __RPC_FAR * Options OPTIONAL,
392 OUT unsigned char __RPC_FAR * __RPC_FAR * StringBinding OPTIONAL
393 );
394
395#endif /* RPC_UNICODE_SUPPORTED */
396
397/* client/server */
398
399#ifdef RPC_UNICODE_SUPPORTED
400
401RPCRTAPI
402RPC_STATUS
403RPC_ENTRY
404RpcStringBindingParseA (
405 IN unsigned char __RPC_FAR * StringBinding,
406 OUT unsigned char __RPC_FAR * __RPC_FAR * ObjUuid OPTIONAL,
407 OUT unsigned char __RPC_FAR * __RPC_FAR * Protseq OPTIONAL,
408 OUT unsigned char __RPC_FAR * __RPC_FAR * NetworkAddr OPTIONAL,
409 OUT unsigned char __RPC_FAR * __RPC_FAR * Endpoint OPTIONAL,
410 OUT unsigned char __RPC_FAR * __RPC_FAR * NetworkOptions OPTIONAL
411 );
412
413RPCRTAPI
414RPC_STATUS
415RPC_ENTRY
416RpcStringBindingParseW (
417 IN unsigned short __RPC_FAR * StringBinding,
418 OUT unsigned short __RPC_FAR * __RPC_FAR * ObjUuid OPTIONAL,
419 OUT unsigned short __RPC_FAR * __RPC_FAR * Protseq OPTIONAL,
420 OUT unsigned short __RPC_FAR * __RPC_FAR * NetworkAddr OPTIONAL,
421 OUT unsigned short __RPC_FAR * __RPC_FAR * Endpoint OPTIONAL,
422 OUT unsigned short __RPC_FAR * __RPC_FAR * NetworkOptions OPTIONAL
423 );
424
425#ifdef UNICODE
426#define RpcStringBindingParse RpcStringBindingParseW
427#else /* UNICODE */
428#define RpcStringBindingParse RpcStringBindingParseA
429#endif /* UNICODE */
430
431#else /* RPC_UNICODE_SUPPORTED */
432
433RPCRTAPI
434RPC_STATUS
435RPC_ENTRY
436RpcStringBindingParse (
437 IN unsigned char __RPC_FAR * StringBinding,
438 OUT unsigned char __RPC_FAR * __RPC_FAR * ObjUuid OPTIONAL,
439 OUT unsigned char __RPC_FAR * __RPC_FAR * Protseq OPTIONAL,
440 OUT unsigned char __RPC_FAR * __RPC_FAR * NetworkAddr OPTIONAL,
441 OUT unsigned char __RPC_FAR * __RPC_FAR * Endpoint OPTIONAL,
442 OUT unsigned char __RPC_FAR * __RPC_FAR * NetworkOptions OPTIONAL
443 );
444
445#endif /* RPC_UNICODE_SUPPORTED */
446
447/* client/server */
448
449#ifdef RPC_UNICODE_SUPPORTED
450
451RPCRTAPI
452RPC_STATUS
453RPC_ENTRY
454RpcStringFreeA (
455 IN OUT unsigned char __RPC_FAR * __RPC_FAR * String
456 );
457
458RPCRTAPI
459RPC_STATUS
460RPC_ENTRY
461RpcStringFreeW (
462 IN OUT unsigned short __RPC_FAR * __RPC_FAR * String
463 );
464
465#ifdef UNICODE
466#define RpcStringFree RpcStringFreeW
467#else /* UNICODE */
468#define RpcStringFree RpcStringFreeA
469#endif /* UNICODE */
470
471#else /* RPC_UNICODE_SUPPORTED */
472
473RPCRTAPI
474RPC_STATUS
475RPC_ENTRY
476RpcStringFree (
477 IN OUT unsigned char __RPC_FAR * __RPC_FAR * String
478 );
479
480#endif /* RPC_UNICODE_SUPPORTED */
481
482/* client/server */
483RPCRTAPI
484RPC_STATUS
485RPC_ENTRY
486RpcIfInqId (
487 IN RPC_IF_HANDLE RpcIfHandle,
488 OUT RPC_IF_ID __RPC_FAR * RpcIfId
489 );
490
491/* client/server */
492
493#ifdef RPC_UNICODE_SUPPORTED
494
495RPCRTAPI
496RPC_STATUS
497RPC_ENTRY
498RpcNetworkIsProtseqValidA (
499 IN unsigned char __RPC_FAR * Protseq
500 );
501
502RPCRTAPI
503RPC_STATUS
504RPC_ENTRY
505RpcNetworkIsProtseqValidW (
506 IN unsigned short __RPC_FAR * Protseq
507 );
508
509#ifdef UNICODE
510#define RpcNetworkIsProtseqValid RpcNetworkIsProtseqValidW
511#else /* UNICODE */
512#define RpcNetworkIsProtseqValid RpcNetworkIsProtseqValidA
513#endif /* UNICODE */
514
515#else /* RPC_UNICODE_SUPPORTED */
516
517RPCRTAPI
518RPC_STATUS
519RPC_ENTRY
520RpcNetworkIsProtseqValid (
521 IN unsigned char __RPC_FAR * Protseq
522 );
523
524#endif /* RPC_UNICODE_SUPPORTED */
525
526/* client */
527RPCRTAPI
528RPC_STATUS
529RPC_ENTRY
530RpcMgmtInqComTimeout (
531 IN RPC_BINDING_HANDLE Binding,
532 OUT unsigned int __RPC_FAR * Timeout
533 );
534
535/* client */
536RPCRTAPI
537RPC_STATUS
538RPC_ENTRY
539RpcMgmtSetComTimeout (
540 IN RPC_BINDING_HANDLE Binding,
541 IN unsigned int Timeout
542 );
543
544/* client */
545RPCRTAPI
546RPC_STATUS
547RPC_ENTRY
548RpcMgmtSetCancelTimeout(
549 long Timeout
550 );
551
552
553/* server */
554
555#ifdef RPC_UNICODE_SUPPORTED
556
557RPCRTAPI
558RPC_STATUS
559RPC_ENTRY
560RpcNetworkInqProtseqsA (
561 OUT RPC_PROTSEQ_VECTORA __RPC_FAR * __RPC_FAR * ProtseqVector
562 );
563
564RPCRTAPI
565RPC_STATUS
566RPC_ENTRY
567RpcNetworkInqProtseqsW (
568 OUT RPC_PROTSEQ_VECTORW __RPC_FAR * __RPC_FAR * ProtseqVector
569 );
570
571#ifdef UNICODE
572#define RpcNetworkInqProtseqs RpcNetworkInqProtseqsW
573#else /* UNICODE */
574#define RpcNetworkInqProtseqs RpcNetworkInqProtseqsA
575#endif /* UNICODE */
576
577#else /* RPC_UNICODE_SUPPORTED */
578
579RPCRTAPI
580RPC_STATUS
581RPC_ENTRY
582RpcNetworkInqProtseqs (
583 OUT RPC_PROTSEQ_VECTOR __RPC_FAR * __RPC_FAR * ProtseqVector
584 );
585
586#endif /* RPC_UNICODE_SUPPORTED */
587
588/* server */
589RPCRTAPI
590RPC_STATUS
591RPC_ENTRY
592RpcObjectInqType (
593 IN UUID __RPC_FAR * ObjUuid,
594 OUT UUID __RPC_FAR * TypeUuid OPTIONAL
595 );
596
597/* server */
598RPCRTAPI
599RPC_STATUS
600RPC_ENTRY
601RpcObjectSetInqFn (
602 IN RPC_OBJECT_INQ_FN __RPC_FAR * InquiryFn
603 );
604
605/* server */
606RPCRTAPI
607RPC_STATUS
608RPC_ENTRY
609RpcObjectSetType (
610 IN UUID __RPC_FAR * ObjUuid,
611 IN UUID __RPC_FAR * TypeUuid OPTIONAL
612 );
613
614/* server */
615
616#ifdef RPC_UNICODE_SUPPORTED
617
618RPCRTAPI
619RPC_STATUS
620RPC_ENTRY
621RpcProtseqVectorFreeA (
622 IN OUT RPC_PROTSEQ_VECTORA __RPC_FAR * __RPC_FAR * ProtseqVector
623 );
624
625RPCRTAPI
626RPC_STATUS
627RPC_ENTRY
628RpcProtseqVectorFreeW (
629 IN OUT RPC_PROTSEQ_VECTORW __RPC_FAR * __RPC_FAR * ProtseqVector
630 );
631
632#ifdef UNICODE
633#define RpcProtseqVectorFree RpcProtseqVectorFreeW
634#else /* UNICODE */
635#define RpcProtseqVectorFree RpcProtseqVectorFreeA
636#endif /* UNICODE */
637
638#else /* RPC_UNICODE_SUPPORTED */
639
640RPCRTAPI
641RPC_STATUS
642RPC_ENTRY
643RpcProtseqVectorFree (
644 IN OUT RPC_PROTSEQ_VECTOR __RPC_FAR * __RPC_FAR * ProtseqVector
645 );
646
647#endif /* RPC_UNICODE_SUPPORTED */
648
649/* server */
650RPCRTAPI
651RPC_STATUS
652RPC_ENTRY
653RpcServerInqBindings (
654 OUT RPC_BINDING_VECTOR __RPC_FAR * __RPC_FAR * BindingVector
655 );
656
657/* server */
658RPCRTAPI
659RPC_STATUS
660RPC_ENTRY
661RpcServerInqIf (
662 IN RPC_IF_HANDLE IfSpec,
663 IN UUID __RPC_FAR * MgrTypeUuid, OPTIONAL
664 OUT RPC_MGR_EPV __RPC_FAR * __RPC_FAR * MgrEpv
665 );
666
667/* server */
668RPCRTAPI
669RPC_STATUS
670RPC_ENTRY
671RpcServerListen (
672 IN unsigned int MinimumCallThreads,
673 IN unsigned int MaxCalls,
674 IN unsigned int DontWait
675 );
676
677/* server */
678RPCRTAPI
679RPC_STATUS
680RPC_ENTRY
681RpcServerRegisterIf (
682 IN RPC_IF_HANDLE IfSpec,
683 IN UUID __RPC_FAR * MgrTypeUuid OPTIONAL,
684 IN RPC_MGR_EPV __RPC_FAR * MgrEpv OPTIONAL
685 );
686
687/* server */
688RPCRTAPI
689RPC_STATUS
690RPC_ENTRY
691RpcServerRegisterIfEx (
692 IN RPC_IF_HANDLE IfSpec,
693 IN UUID __RPC_FAR * MgrTypeUuid,
694 IN RPC_MGR_EPV __RPC_FAR * MgrEpv,
695 IN unsigned int Flags,
696 IN unsigned int MaxCalls,
697 IN RPC_IF_CALLBACK_FN __RPC_FAR *IfCallback
698 );
699
700/* server */
701RPCRTAPI
702RPC_STATUS
703RPC_ENTRY
704RpcServerUnregisterIf (
705 IN RPC_IF_HANDLE IfSpec,
706 IN UUID __RPC_FAR * MgrTypeUuid, OPTIONAL
707 IN unsigned int WaitForCallsToComplete
708 );
709
710/* server */
711RPCRTAPI
712RPC_STATUS
713RPC_ENTRY
714RpcServerUseAllProtseqs (
715 IN unsigned int MaxCalls,
716 IN void __RPC_FAR * SecurityDescriptor OPTIONAL
717 );
718
719/* server */
720RPCRTAPI
721RPC_STATUS
722RPC_ENTRY
723RpcServerUseAllProtseqsEx (
724 IN unsigned int MaxCalls,
725 IN void __RPC_FAR * SecurityDescriptor,
726 IN PRPC_POLICY Policy
727 );
728
729/* server */
730RPCRTAPI
731RPC_STATUS
732RPC_ENTRY
733RpcServerUseAllProtseqsIf (
734 IN unsigned int MaxCalls,
735 IN RPC_IF_HANDLE IfSpec,
736 IN void __RPC_FAR * SecurityDescriptor OPTIONAL
737 );
738
739/* server */
740RPCRTAPI
741RPC_STATUS
742RPC_ENTRY
743RpcServerUseAllProtseqsIfEx (
744 IN unsigned int MaxCalls,
745 IN RPC_IF_HANDLE IfSpec,
746 IN void __RPC_FAR * SecurityDescriptor,
747 IN PRPC_POLICY Policy
748 );
749
750
751/* server */
752
753#ifdef RPC_UNICODE_SUPPORTED
754
755RPCRTAPI
756RPC_STATUS
757RPC_ENTRY
758RpcServerUseProtseqA (
759 IN unsigned char __RPC_FAR * Protseq,
760 IN unsigned int MaxCalls,
761 IN void __RPC_FAR * SecurityDescriptor OPTIONAL
762 );
763
764RPCRTAPI
765RPC_STATUS
766RPC_ENTRY
767RpcServerUseProtseqExA (
768 IN unsigned char __RPC_FAR * Protseq,
769 IN unsigned int MaxCalls,
770 IN void __RPC_FAR * SecurityDescriptor,
771 IN PRPC_POLICY Policy
772 );
773
774RPCRTAPI
775RPC_STATUS
776RPC_ENTRY
777RpcServerUseProtseqW (
778 IN unsigned short __RPC_FAR * Protseq,
779 IN unsigned int MaxCalls,
780 IN void __RPC_FAR * SecurityDescriptor OPTIONAL
781 );
782
783RPCRTAPI
784RPC_STATUS
785RPC_ENTRY
786RpcServerUseProtseqExW (
787 IN unsigned short __RPC_FAR * Protseq,
788 IN unsigned int MaxCalls,
789 IN void __RPC_FAR * SecurityDescriptor,
790 IN PRPC_POLICY Policy
791 );
792
793#ifdef UNICODE
794#define RpcServerUseProtseq RpcServerUseProtseqW
795#define RpcServerUseProtseqEx RpcServerUseProtseqExW
796#else /* UNICODE */
797#define RpcServerUseProtseq RpcServerUseProtseqA
798#define RpcServerUseProtseqEx RpcServerUseProtseqExA
799#endif /* UNICODE */
800
801#else /* RPC_UNICODE_SUPPORTED */
802
803RPCRTAPI
804RPC_STATUS
805RPC_ENTRY
806RpcServerUseProtseq (
807 IN unsigned char __RPC_FAR * Protseq,
808 IN unsigned int MaxCalls,
809 IN void __RPC_FAR * SecurityDescriptor OPTIONAL
810 );
811
812RPCRTAPI
813RPC_STATUS
814RPC_ENTRY
815RpcServerUseProtseqEx (
816 IN unsigned char __RPC_FAR * Protseq,
817 IN unsigned int MaxCalls,
818 IN void __RPC_FAR * SecurityDescriptor,
819 IN PRPC_POLICY Policy
820 );
821
822#endif /* RPC_UNICODE_SUPPORTED */
823
824/* server */
825
826#ifdef RPC_UNICODE_SUPPORTED
827
828RPCRTAPI
829RPC_STATUS
830RPC_ENTRY
831RpcServerUseProtseqEpA (
832 IN unsigned char __RPC_FAR * Protseq,
833 IN unsigned int MaxCalls,
834 IN unsigned char __RPC_FAR * Endpoint,
835 IN void __RPC_FAR * SecurityDescriptor OPTIONAL
836 );
837
838RPCRTAPI
839RPC_STATUS
840RPC_ENTRY
841RpcServerUseProtseqEpExA (
842 IN unsigned char __RPC_FAR * Protseq,
843 IN unsigned int MaxCalls,
844 IN unsigned char __RPC_FAR * Endpoint,
845 IN void __RPC_FAR * SecurityDescriptor,
846 IN PRPC_POLICY Policy
847 );
848
849RPCRTAPI
850RPC_STATUS
851RPC_ENTRY
852RpcServerUseProtseqEpW (
853 IN unsigned short __RPC_FAR * Protseq,
854 IN unsigned int MaxCalls,
855 IN unsigned short __RPC_FAR * Endpoint,
856 IN void __RPC_FAR * SecurityDescriptor OPTIONAL
857 );
858
859RPCRTAPI
860RPC_STATUS
861RPC_ENTRY
862RpcServerUseProtseqEpExW (
863 IN unsigned short __RPC_FAR * Protseq,
864 IN unsigned int MaxCalls,
865 IN unsigned short __RPC_FAR * Endpoint,
866 IN void __RPC_FAR * SecurityDescriptor,
867 IN PRPC_POLICY Policy
868 );
869
870#ifdef UNICODE
871#define RpcServerUseProtseqEp RpcServerUseProtseqEpW
872#define RpcServerUseProtseqEpEx RpcServerUseProtseqEpExW
873#else /* UNICODE */
874#define RpcServerUseProtseqEp RpcServerUseProtseqEpA
875#define RpcServerUseProtseqEpEx RpcServerUseProtseqEpExA
876#endif /* UNICODE */
877
878#else /* RPC_UNICODE_SUPPORTED */
879
880RPCRTAPI
881RPC_STATUS
882RPC_ENTRY
883RpcServerUseProtseqEp (
884 IN unsigned char __RPC_FAR * Protseq,
885 IN unsigned int MaxCalls,
886 IN unsigned char __RPC_FAR * Endpoint,
887 IN void __RPC_FAR * SecurityDescriptor OPTIONAL
888 );
889
890RPCRTAPI
891RPC_STATUS
892RPC_ENTRY
893RpcServerUseProtseqEpEx (
894 IN unsigned char __RPC_FAR * Protseq,
895 IN unsigned int MaxCalls,
896 IN unsigned char __RPC_FAR * Endpoint,
897 IN void __RPC_FAR * SecurityDescriptor,
898 IN PRPC_POLICY Policy
899 );
900
901#endif /* RPC_UNICODE_SUPPORTED */
902
903/* server */
904
905#ifdef RPC_UNICODE_SUPPORTED
906
907RPCRTAPI
908RPC_STATUS
909RPC_ENTRY
910RpcServerUseProtseqIfA (
911 IN unsigned char __RPC_FAR * Protseq,
912 IN unsigned int MaxCalls,
913 IN RPC_IF_HANDLE IfSpec,
914 IN void __RPC_FAR * SecurityDescriptor OPTIONAL
915 );
916
917RPCRTAPI
918RPC_STATUS
919RPC_ENTRY
920RpcServerUseProtseqIfExA (
921 IN unsigned char __RPC_FAR * Protseq,
922 IN unsigned int MaxCalls,
923 IN RPC_IF_HANDLE IfSpec,
924 IN void __RPC_FAR * SecurityDescriptor,
925 IN PRPC_POLICY Policy
926 );
927
928RPCRTAPI
929RPC_STATUS
930RPC_ENTRY
931RpcServerUseProtseqIfW (
932 IN unsigned short __RPC_FAR * Protseq,
933 IN unsigned int MaxCalls,
934 IN RPC_IF_HANDLE IfSpec,
935 IN void __RPC_FAR * SecurityDescriptor OPTIONAL
936 );
937
938RPCRTAPI
939RPC_STATUS
940RPC_ENTRY
941RpcServerUseProtseqIfExW (
942 IN unsigned short __RPC_FAR * Protseq,
943 IN unsigned int MaxCalls,
944 IN RPC_IF_HANDLE IfSpec,
945 IN void __RPC_FAR * SecurityDescriptor,
946 IN PRPC_POLICY Policy
947 );
948
949#ifdef UNICODE
950#define RpcServerUseProtseqIf RpcServerUseProtseqIfW
951#define RpcServerUseProtseqIfEx RpcServerUseProtseqIfExW
952#else /* UNICODE */
953#define RpcServerUseProtseqIf RpcServerUseProtseqIfA
954#define RpcServerUseProtseqIfEx RpcServerUseProtseqIfExA
955#endif /* UNICODE */
956
957#else /* RPC_UNICODE_SUPPORTED */
958
959RPCRTAPI
960RPC_STATUS
961RPC_ENTRY
962RpcServerUseProtseqIf (
963 IN unsigned char __RPC_FAR * Protseq,
964 IN unsigned int MaxCalls,
965 IN RPC_IF_HANDLE IfSpec,
966 IN void __RPC_FAR * SecurityDescriptor OPTIONAL
967 );
968
969RPCRTAPI
970RPC_STATUS
971RPC_ENTRY
972RpcServerUseProtseqIfEx (
973 IN unsigned char __RPC_FAR * Protseq,
974 IN unsigned int MaxCalls,
975 IN RPC_IF_HANDLE IfSpec,
976 IN void __RPC_FAR * SecurityDescriptor,
977 IN PRPC_POLICY Policy
978 );
979
980#endif /* RPC_UNICODE_SUPPORTED */
981
982/* server */
983RPCRTAPI
984RPC_STATUS
985RPC_ENTRY
986RpcMgmtStatsVectorFree (
987 IN RPC_STATS_VECTOR ** StatsVector
988 );
989
990/* server */
991RPCRTAPI
992RPC_STATUS
993RPC_ENTRY
994RpcMgmtInqStats (
995 IN RPC_BINDING_HANDLE Binding,
996 OUT RPC_STATS_VECTOR ** Statistics
997 );
998
999/* server */
1000RPCRTAPI
1001RPC_STATUS
1002RPC_ENTRY
1003RpcMgmtIsServerListening (
1004 IN RPC_BINDING_HANDLE Binding
1005 );
1006
1007/* server */
1008RPCRTAPI
1009RPC_STATUS
1010RPC_ENTRY
1011RpcMgmtStopServerListening (
1012 IN RPC_BINDING_HANDLE Binding
1013 );
1014
1015/* server */
1016RPCRTAPI
1017RPC_STATUS
1018RPC_ENTRY
1019RpcMgmtWaitServerListen (
1020 void
1021 );
1022
1023/* server */
1024RPCRTAPI
1025RPC_STATUS
1026RPC_ENTRY
1027RpcMgmtSetServerStackSize (
1028 IN unsigned long ThreadStackSize
1029 );
1030
1031/* server */
1032RPCRTAPI
1033void
1034RPC_ENTRY
1035RpcSsDontSerializeContext (
1036 void
1037 );
1038
1039/* client */
1040RPCRTAPI
1041RPC_STATUS
1042RPC_ENTRY
1043RpcMgmtEnableIdleCleanup (
1044 void
1045 );
1046
1047RPCRTAPI
1048RPC_STATUS
1049RPC_ENTRY
1050RpcMgmtInqIfIds (
1051 IN RPC_BINDING_HANDLE Binding,
1052 OUT RPC_IF_ID_VECTOR __RPC_FAR * __RPC_FAR * IfIdVector
1053 );
1054
1055RPCRTAPI
1056RPC_STATUS
1057RPC_ENTRY
1058RpcIfIdVectorFree (
1059 IN OUT RPC_IF_ID_VECTOR __RPC_FAR * __RPC_FAR * IfIdVector
1060 );
1061
1062#ifdef RPC_UNICODE_SUPPORTED
1063
1064RPCRTAPI
1065RPC_STATUS
1066RPC_ENTRY
1067RpcMgmtInqServerPrincNameA (
1068 IN RPC_BINDING_HANDLE Binding,
1069 IN unsigned long AuthnSvc,
1070 OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName
1071 );
1072
1073RPCRTAPI
1074RPC_STATUS
1075RPC_ENTRY
1076RpcMgmtInqServerPrincNameW (
1077 IN RPC_BINDING_HANDLE Binding,
1078 IN unsigned long AuthnSvc,
1079 OUT unsigned short __RPC_FAR * __RPC_FAR * ServerPrincName
1080 );
1081
1082#ifdef UNICODE
1083#define RpcMgmtInqServerPrincName RpcMgmtInqServerPrincNameW
1084#else /* UNICODE */
1085#define RpcMgmtInqServerPrincName RpcMgmtInqServerPrincNameA
1086#endif /* UNICODE */
1087
1088#else /* RPC_UNICODE_SUPPORTED */
1089
1090RPCRTAPI
1091RPC_STATUS
1092RPC_ENTRY
1093RpcMgmtInqServerPrincName (
1094 IN RPC_BINDING_HANDLE Binding,
1095 IN unsigned long AuthnSvc,
1096 OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName
1097 );
1098
1099#endif /* RPC_UNICODE_SUPPORTED */
1100
1101#ifdef RPC_UNICODE_SUPPORTED
1102
1103RPCRTAPI
1104RPC_STATUS
1105RPC_ENTRY
1106RpcServerInqDefaultPrincNameA (
1107 IN unsigned long AuthnSvc,
1108 OUT unsigned char __RPC_FAR * __RPC_FAR * PrincName
1109 );
1110
1111RPCRTAPI
1112RPC_STATUS
1113RPC_ENTRY
1114RpcServerInqDefaultPrincNameW (
1115 IN unsigned long AuthnSvc,
1116 OUT unsigned short __RPC_FAR * __RPC_FAR * PrincName
1117 );
1118
1119#ifdef UNICODE
1120#define RpcServerInqDefaultPrincName RpcServerInqDefaultPrincNameW
1121#else /* UNICODE */
1122#define RpcServerInqDefaultPrincName RpcServerInqDefaultPrincNameA
1123#endif /* UNICODE */
1124
1125#else /* RPC_UNICODE_SUPPORTED */
1126
1127RPCRTAPI
1128RPC_STATUS
1129RPC_ENTRY
1130RpcServerInqDefaultPrincName (
1131 IN unsigned long AuthnSvc,
1132 OUT unsigned char __RPC_FAR * __RPC_FAR * PrincName
1133 );
1134
1135#endif /* RPC_UNICODE_SUPPORTED */
1136
1137/* client */
1138RPCRTAPI
1139RPC_STATUS
1140RPC_ENTRY
1141RpcEpResolveBinding (
1142 IN RPC_BINDING_HANDLE Binding,
1143 IN RPC_IF_HANDLE IfSpec
1144 );
1145
1146/* client */
1147
1148#ifdef RPC_UNICODE_SUPPORTED
1149
1150RPCRTAPI
1151RPC_STATUS
1152RPC_ENTRY
1153RpcNsBindingInqEntryNameA (
1154 IN RPC_BINDING_HANDLE Binding,
1155 IN unsigned long EntryNameSyntax,
1156 OUT unsigned char __RPC_FAR * __RPC_FAR * EntryName
1157 );
1158
1159RPCRTAPI
1160RPC_STATUS
1161RPC_ENTRY
1162RpcNsBindingInqEntryNameW (
1163 IN RPC_BINDING_HANDLE Binding,
1164 IN unsigned long EntryNameSyntax,
1165 OUT unsigned short __RPC_FAR * __RPC_FAR * EntryName
1166 );
1167
1168#ifdef UNICODE
1169#define RpcNsBindingInqEntryName RpcNsBindingInqEntryNameW
1170#else /* UNICODE */
1171#define RpcNsBindingInqEntryName RpcNsBindingInqEntryNameA
1172#endif /* UNICODE */
1173
1174#else /* RPC_UNICODE_SUPPORTED */
1175
1176RPCRTAPI
1177RPC_STATUS
1178RPC_ENTRY
1179RpcNsBindingInqEntryName (
1180 IN RPC_BINDING_HANDLE Binding,
1181 IN unsigned long EntryNameSyntax,
1182 OUT unsigned char __RPC_FAR * __RPC_FAR * EntryName
1183 );
1184
1185#endif /* RPC_UNICODE_SUPPORTED */
1186
1187typedef void __RPC_FAR * RPC_AUTH_IDENTITY_HANDLE;
1188typedef void __RPC_FAR * RPC_AUTHZ_HANDLE;
1189
1190#define RPC_C_AUTHN_LEVEL_DEFAULT 0
1191#define RPC_C_AUTHN_LEVEL_NONE 1
1192#define RPC_C_AUTHN_LEVEL_CONNECT 2
1193#define RPC_C_AUTHN_LEVEL_CALL 3
1194#define RPC_C_AUTHN_LEVEL_PKT 4
1195#define RPC_C_AUTHN_LEVEL_PKT_INTEGRITY 5
1196#define RPC_C_AUTHN_LEVEL_PKT_PRIVACY 6
1197
1198#define RPC_C_IMP_LEVEL_ANONYMOUS 1
1199#define RPC_C_IMP_LEVEL_IDENTIFY 2
1200#define RPC_C_IMP_LEVEL_IMPERSONATE 3
1201#define RPC_C_IMP_LEVEL_DELEGATE 4
1202
1203#define RPC_C_QOS_IDENTITY_STATIC 0
1204#define RPC_C_QOS_IDENTITY_DYNAMIC 1
1205
1206#define RPC_C_QOS_CAPABILITIES_DEFAULT 0
1207#define RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH 1
1208
1209#define RPC_C_PROTECT_LEVEL_DEFAULT (RPC_C_AUTHN_LEVEL_DEFAULT)
1210#define RPC_C_PROTECT_LEVEL_NONE (RPC_C_AUTHN_LEVEL_NONE)
1211#define RPC_C_PROTECT_LEVEL_CONNECT (RPC_C_AUTHN_LEVEL_CONNECT)
1212#define RPC_C_PROTECT_LEVEL_CALL (RPC_C_AUTHN_LEVEL_CALL)
1213#define RPC_C_PROTECT_LEVEL_PKT (RPC_C_AUTHN_LEVEL_PKT)
1214#define RPC_C_PROTECT_LEVEL_PKT_INTEGRITY (RPC_C_AUTHN_LEVEL_PKT_INTEGRITY)
1215#define RPC_C_PROTECT_LEVEL_PKT_PRIVACY (RPC_C_AUTHN_LEVEL_PKT_PRIVACY)
1216
1217#define RPC_C_AUTHN_NONE 0
1218#define RPC_C_AUTHN_DCE_PRIVATE 1
1219#define RPC_C_AUTHN_DCE_PUBLIC 2
1220#define RPC_C_AUTHN_DEC_PUBLIC 4
1221#define RPC_C_AUTHN_WINNT 10
1222#define RPC_C_AUTHN_DPA 16
1223#define RPC_C_AUTHN_MSN 17
1224#define RPC_C_AUTHN_GSS_KERBEROS 18
1225#define RPC_C_AUTHN_MQ 100
1226#define RPC_C_AUTHN_DEFAULT 0xFFFFFFFFL
1227
1228#define RPC_C_SECURITY_QOS_VERSION 1L
1229
1230typedef struct _RPC_SECURITY_QOS {
1231 unsigned long Version;
1232 unsigned long Capabilities;
1233 unsigned long IdentityTracking;
1234 unsigned long ImpersonationType;
1235} RPC_SECURITY_QOS, *PRPC_SECURITY_QOS;
1236
1237#if defined(__RPC_DOS__) || defined(__RPC_WIN16__)
1238typedef struct _SEC_WINNT_AUTH_IDENTITY
1239{
1240 char __RPC_FAR *User;
1241 char __RPC_FAR *Domain;
1242 char __RPC_FAR *Password;
1243} SEC_WINNT_AUTH_IDENTITY;
1244#else
1245
1246
1247#define SEC_WINNT_AUTH_IDENTITY_ANSI 0x1
1248#define SEC_WINNT_AUTH_IDENTITY_UNICODE 0x2
1249
1250typedef struct _SEC_WINNT_AUTH_IDENTITY_W {
1251 unsigned short __RPC_FAR *User;
1252 unsigned long UserLength;
1253 unsigned short __RPC_FAR *Domain;
1254 unsigned long DomainLength;
1255 unsigned short __RPC_FAR *Password;
1256 unsigned long PasswordLength;
1257 unsigned long Flags;
1258} SEC_WINNT_AUTH_IDENTITY_W, *PSEC_WINNT_AUTH_IDENTITY_W;
1259
1260typedef struct _SEC_WINNT_AUTH_IDENTITY_A {
1261 unsigned char __RPC_FAR *User;
1262 unsigned long UserLength;
1263 unsigned char __RPC_FAR *Domain;
1264 unsigned long DomainLength;
1265 unsigned char __RPC_FAR *Password;
1266 unsigned long PasswordLength;
1267 unsigned long Flags;
1268} SEC_WINNT_AUTH_IDENTITY_A, *PSEC_WINNT_AUTH_IDENTITY_A;
1269
1270
1271#ifdef UNICODE
1272#define SEC_WINNT_AUTH_IDENTITY SEC_WINNT_AUTH_IDENTITY_W
1273#define PSEC_WINNT_AUTH_IDENTITY PSEC_WINNT_AUTH_IDENTITY_W
1274#define _SEC_WINNT_AUTH_IDENTITY _SEC_WINNT_AUTH_IDENTITY_W
1275#else // UNICODE
1276#define SEC_WINNT_AUTH_IDENTITY SEC_WINNT_AUTH_IDENTITY_A
1277#define PSEC_WINNT_AUTH_IDENTITY PSEC_WINNT_AUTH_IDENTITY_A
1278#define _SEC_WINNT_AUTH_IDENTITY _SEC_WINNT_AUTH_IDENTITY_A
1279#endif // UNICODE
1280#endif // defined(__RPC_DOS__) || defined(__RPC_WIN16__)
1281
1282#define RPC_C_AUTHZ_NONE 0
1283#define RPC_C_AUTHZ_NAME 1
1284#define RPC_C_AUTHZ_DCE 2
1285
1286#ifdef RPC_UNICODE_SUPPORTED
1287
1288RPCRTAPI
1289RPC_STATUS
1290RPC_ENTRY
1291RpcBindingInqAuthClientA (
1292 IN RPC_BINDING_HANDLE ClientBinding, OPTIONAL
1293 OUT RPC_AUTHZ_HANDLE __RPC_FAR * Privs,
1294 OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
1295 OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
1296 OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
1297 OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
1298 );
1299
1300RPCRTAPI
1301RPC_STATUS
1302RPC_ENTRY
1303RpcBindingInqAuthClientW (
1304 IN RPC_BINDING_HANDLE ClientBinding, OPTIONAL
1305 OUT RPC_AUTHZ_HANDLE __RPC_FAR * Privs,
1306 OUT unsigned short __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
1307 OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
1308 OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
1309 OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
1310 );
1311
1312RPCRTAPI
1313RPC_STATUS
1314RPC_ENTRY
1315RpcBindingInqAuthInfoA (
1316 IN RPC_BINDING_HANDLE Binding,
1317 OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
1318 OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
1319 OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
1320 OUT RPC_AUTH_IDENTITY_HANDLE __RPC_FAR * AuthIdentity, OPTIONAL
1321 OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
1322 );
1323
1324RPCRTAPI
1325RPC_STATUS
1326RPC_ENTRY
1327RpcBindingInqAuthInfoW (
1328 IN RPC_BINDING_HANDLE Binding,
1329 OUT unsigned short __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
1330 OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
1331 OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
1332 OUT RPC_AUTH_IDENTITY_HANDLE __RPC_FAR * AuthIdentity, OPTIONAL
1333 OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
1334 );
1335
1336RPCRTAPI
1337RPC_STATUS
1338RPC_ENTRY
1339RpcBindingSetAuthInfoA (
1340 IN RPC_BINDING_HANDLE Binding,
1341 IN unsigned char __RPC_FAR * ServerPrincName,
1342 IN unsigned long AuthnLevel,
1343 IN unsigned long AuthnSvc,
1344 IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
1345 IN unsigned long AuthzSvc
1346 );
1347
1348RPCRTAPI
1349RPC_STATUS
1350RPC_ENTRY
1351RpcBindingSetAuthInfoExA (
1352 IN RPC_BINDING_HANDLE Binding,
1353 IN unsigned char __RPC_FAR * ServerPrincName,
1354 IN unsigned long AuthnLevel,
1355 IN unsigned long AuthnSvc,
1356 IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
1357 IN unsigned long AuthzSvc,
1358 IN RPC_SECURITY_QOS *SecurityQos OPTIONAL
1359 );
1360
1361RPCRTAPI
1362RPC_STATUS
1363RPC_ENTRY
1364RpcBindingSetAuthInfoW (
1365 IN RPC_BINDING_HANDLE Binding,
1366 IN unsigned short __RPC_FAR * ServerPrincName,
1367 IN unsigned long AuthnLevel,
1368 IN unsigned long AuthnSvc,
1369 IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
1370 IN unsigned long AuthzSvc
1371 );
1372
1373RPCRTAPI
1374RPC_STATUS
1375RPC_ENTRY
1376RpcBindingSetAuthInfoExW (
1377 IN RPC_BINDING_HANDLE Binding,
1378 IN unsigned short __RPC_FAR * ServerPrincName,
1379 IN unsigned long AuthnLevel,
1380 IN unsigned long AuthnSvc,
1381 IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
1382 IN unsigned long AuthzSvc, OPTIONAL
1383 IN RPC_SECURITY_QOS *SecurityQOS
1384 );
1385
1386RPCRTAPI
1387RPC_STATUS
1388RPC_ENTRY
1389RpcBindingInqAuthInfoExA (
1390 IN RPC_BINDING_HANDLE Binding,
1391 OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
1392 OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
1393 OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
1394 OUT RPC_AUTH_IDENTITY_HANDLE __RPC_FAR * AuthIdentity, OPTIONAL
1395 OUT unsigned long __RPC_FAR * AuthzSvc, OPTIONAL
1396 IN unsigned long RpcQosVersion,
1397 OUT RPC_SECURITY_QOS *SecurityQOS
1398 );
1399
1400RPCRTAPI
1401RPC_STATUS
1402RPC_ENTRY
1403RpcBindingInqAuthInfoExW (
1404 IN RPC_BINDING_HANDLE Binding,
1405 OUT unsigned short __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
1406 OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
1407 OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
1408 OUT RPC_AUTH_IDENTITY_HANDLE __RPC_FAR * AuthIdentity, OPTIONAL
1409 OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL,
1410 IN unsigned long RpcQosVersion,
1411 OUT RPC_SECURITY_QOS *SecurityQOS
1412 );
1413
1414typedef void
1415(__RPC_USER * RPC_AUTH_KEY_RETRIEVAL_FN) (
1416 IN void __RPC_FAR * Arg,
1417 IN unsigned short __RPC_FAR * ServerPrincName,
1418 IN unsigned long KeyVer,
1419 OUT void __RPC_FAR * __RPC_FAR * Key,
1420 OUT RPC_STATUS __RPC_FAR * Status
1421 );
1422
1423RPCRTAPI
1424RPC_STATUS
1425RPC_ENTRY
1426RpcServerRegisterAuthInfoA (
1427 IN unsigned char __RPC_FAR * ServerPrincName,
1428 IN unsigned long AuthnSvc,
1429 IN RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn OPTIONAL,
1430 IN void __RPC_FAR * Arg OPTIONAL
1431 );
1432
1433RPCRTAPI
1434RPC_STATUS
1435RPC_ENTRY
1436RpcServerRegisterAuthInfoW (
1437 IN unsigned short __RPC_FAR * ServerPrincName,
1438 IN unsigned long AuthnSvc,
1439 IN RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn OPTIONAL,
1440 IN void __RPC_FAR * Arg OPTIONAL
1441 );
1442
1443#ifdef UNICODE
1444#define RpcBindingInqAuthClient RpcBindingInqAuthClientW
1445#define RpcBindingInqAuthInfo RpcBindingInqAuthInfoW
1446#define RpcBindingSetAuthInfo RpcBindingSetAuthInfoW
1447#define RpcServerRegisterAuthInfo RpcServerRegisterAuthInfoW
1448#define RpcBindingInqAuthInfoEx RpcBindingInqAuthInfoExW
1449#define RpcBindingSetAuthInfoEx RpcBindingSetAuthInfoExW
1450#else /* UNICODE */
1451#define RpcBindingInqAuthClient RpcBindingInqAuthClientA
1452#define RpcBindingInqAuthInfo RpcBindingInqAuthInfoA
1453#define RpcBindingSetAuthInfo RpcBindingSetAuthInfoA
1454#define RpcServerRegisterAuthInfo RpcServerRegisterAuthInfoA
1455#define RpcBindingInqAuthInfoEx RpcBindingInqAuthInfoExA
1456#define RpcBindingSetAuthInfoEx RpcBindingSetAuthInfoExA
1457#endif /* UNICODE */
1458
1459#else /* RPC_UNICODE_SUPPORTED */
1460
1461RPCRTAPI
1462RPC_STATUS
1463RPC_ENTRY
1464RpcBindingInqAuthClient (
1465 IN RPC_BINDING_HANDLE ClientBinding, OPTIONAL
1466 OUT RPC_AUTHZ_HANDLE __RPC_FAR * Privs,
1467 OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
1468 OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
1469 OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
1470 OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
1471 );
1472
1473RPCRTAPI
1474RPC_STATUS
1475RPC_ENTRY
1476RpcBindingInqAuthInfo (
1477 IN RPC_BINDING_HANDLE Binding,
1478 OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
1479 OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
1480 OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
1481 OUT RPC_AUTH_IDENTITY_HANDLE __RPC_FAR * AuthIdentity, OPTIONAL
1482 OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
1483 );
1484
1485RPCRTAPI
1486RPC_STATUS
1487RPC_ENTRY
1488RpcBindingSetAuthInfo (
1489 IN RPC_BINDING_HANDLE Binding,
1490 IN unsigned char __RPC_FAR * ServerPrincName,
1491 IN unsigned long AuthnLevel,
1492 IN unsigned long AuthnSvc,
1493 IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
1494 IN unsigned long AuthzSvc
1495 );
1496
1497typedef void
1498(__RPC_USER * RPC_AUTH_KEY_RETRIEVAL_FN) (
1499 IN void __RPC_FAR * Arg,
1500 IN unsigned char __RPC_FAR * ServerPrincName,
1501 IN unsigned long KeyVer,
1502 OUT void __RPC_FAR * __RPC_FAR * Key,
1503 OUT RPC_STATUS __RPC_FAR * Status
1504 );
1505
1506RPCRTAPI
1507RPC_STATUS
1508RPC_ENTRY
1509RpcServerRegisterAuthInfo (
1510 IN unsigned char __RPC_FAR * ServerPrincName,
1511 IN unsigned long AuthnSvc,
1512 IN RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn OPTIONAL,
1513 IN void __RPC_FAR * Arg OPTIONAL
1514 );
1515
1516#endif /* RPC_UNICODE_SUPPORTED */
1517
1518typedef struct {
1519 unsigned char __RPC_FAR * UserName;
1520 unsigned char __RPC_FAR * ComputerName;
1521 unsigned short Privilege;
1522 unsigned long AuthFlags;
1523} RPC_CLIENT_INFORMATION1, __RPC_FAR * PRPC_CLIENT_INFORMATION1;
1524
1525RPCRTAPI
1526RPC_STATUS
1527RPC_ENTRY
1528RpcBindingServerFromClient (
1529 IN RPC_BINDING_HANDLE ClientBinding,
1530 OUT RPC_BINDING_HANDLE __RPC_FAR * ServerBinding
1531 );
1532
1533RPCRTAPI
1534void
1535RPC_ENTRY
1536RpcRaiseException (
1537 IN RPC_STATUS exception
1538 );
1539
1540RPCRTAPI
1541RPC_STATUS
1542RPC_ENTRY
1543RpcTestCancel(
1544 );
1545
1546RPCRTAPI
1547RPC_STATUS
1548RPC_ENTRY
1549RpcServerTestCancel (
1550 IN RPC_BINDING_HANDLE BindingHandle OPTIONAL
1551 );
1552
1553RPCRTAPI
1554RPC_STATUS
1555RPC_ENTRY
1556RpcCancelThread(
1557 IN void * Thread
1558 );
1559
1560/* client/server */
1561RPCRTAPI
1562RPC_STATUS
1563RPC_ENTRY
1564UuidCreate (
1565 OUT UUID __RPC_FAR * Uuid
1566 );
1567
1568#ifdef RPC_UNICODE_SUPPORTED
1569
1570/* client/server */
1571RPCRTAPI
1572RPC_STATUS
1573RPC_ENTRY
1574UuidToStringA (
1575 IN UUID __RPC_FAR * Uuid,
1576 OUT unsigned char __RPC_FAR * __RPC_FAR * StringUuid
1577 );
1578
1579/* client/server */
1580RPCRTAPI
1581RPC_STATUS
1582RPC_ENTRY
1583UuidFromStringA (
1584 IN unsigned char __RPC_FAR * StringUuid,
1585 OUT UUID __RPC_FAR * Uuid
1586 );
1587
1588/* client/server */
1589RPCRTAPI
1590RPC_STATUS
1591RPC_ENTRY
1592UuidToStringW (
1593 IN UUID __RPC_FAR * Uuid,
1594 OUT unsigned short __RPC_FAR * __RPC_FAR * StringUuid
1595 );
1596
1597/* client/server */
1598RPCRTAPI
1599RPC_STATUS
1600RPC_ENTRY
1601UuidFromStringW (
1602 IN unsigned short __RPC_FAR * StringUuid,
1603 OUT UUID __RPC_FAR * Uuid
1604 );
1605
1606#ifdef UNICODE
1607#define UuidFromString UuidFromStringW
1608#define UuidToString UuidToStringW
1609#else /* UNICODE */
1610#define UuidFromString UuidFromStringA
1611#define UuidToString UuidToStringA
1612#endif /* UNICODE */
1613
1614#else /* RPC_UNICODE_SUPPORTED */
1615
1616/* client/server */
1617RPCRTAPI
1618RPC_STATUS
1619RPC_ENTRY
1620UuidToString (
1621 IN UUID __RPC_FAR * Uuid,
1622 OUT unsigned char __RPC_FAR * __RPC_FAR * StringUuid
1623 );
1624
1625/* client/server */
1626RPCRTAPI
1627RPC_STATUS
1628RPC_ENTRY
1629UuidFromString (
1630 IN unsigned char __RPC_FAR * StringUuid,
1631 OUT UUID __RPC_FAR * Uuid
1632 );
1633
1634#endif /* RPC_UNICODE_SUPPORTED */
1635
1636RPCRTAPI
1637signed int
1638RPC_ENTRY
1639UuidCompare (
1640 IN UUID __RPC_FAR * Uuid1,
1641 IN UUID __RPC_FAR * Uuid2,
1642 OUT RPC_STATUS __RPC_FAR * Status
1643 );
1644
1645RPCRTAPI
1646RPC_STATUS
1647RPC_ENTRY
1648UuidCreateNil (
1649 OUT UUID __RPC_FAR * NilUuid
1650 );
1651
1652RPCRTAPI
1653int
1654RPC_ENTRY
1655UuidEqual (
1656 IN UUID __RPC_FAR * Uuid1,
1657 IN UUID __RPC_FAR * Uuid2,
1658 OUT RPC_STATUS __RPC_FAR * Status
1659 );
1660
1661RPCRTAPI
1662unsigned short
1663RPC_ENTRY
1664UuidHash (
1665 IN UUID __RPC_FAR * Uuid,
1666 OUT RPC_STATUS __RPC_FAR * Status
1667 );
1668
1669RPCRTAPI
1670int
1671RPC_ENTRY
1672UuidIsNil (
1673 IN UUID __RPC_FAR * Uuid,
1674 OUT RPC_STATUS __RPC_FAR * Status
1675 );
1676
1677#ifdef RPC_UNICODE_SUPPORTED
1678
1679RPCRTAPI
1680RPC_STATUS
1681RPC_ENTRY
1682RpcEpRegisterNoReplaceA (
1683 IN RPC_IF_HANDLE IfSpec,
1684 IN RPC_BINDING_VECTOR * BindingVector,
1685 IN UUID_VECTOR * UuidVector OPTIONAL,
1686 IN unsigned char * Annotation
1687 );
1688
1689RPCRTAPI
1690RPC_STATUS
1691RPC_ENTRY
1692RpcEpRegisterNoReplaceW (
1693 IN RPC_IF_HANDLE IfSpec,
1694 IN RPC_BINDING_VECTOR * BindingVector,
1695 IN UUID_VECTOR * UuidVector OPTIONAL,
1696 IN unsigned short * Annotation
1697 );
1698
1699RPCRTAPI
1700RPC_STATUS
1701RPC_ENTRY
1702RpcEpRegisterA (
1703 IN RPC_IF_HANDLE IfSpec,
1704 IN RPC_BINDING_VECTOR * BindingVector,
1705 IN UUID_VECTOR * UuidVector OPTIONAL,
1706 IN unsigned char * Annotation
1707 );
1708
1709RPCRTAPI
1710RPC_STATUS
1711RPC_ENTRY
1712RpcEpRegisterW (
1713 IN RPC_IF_HANDLE IfSpec,
1714 IN RPC_BINDING_VECTOR * BindingVector,
1715 IN UUID_VECTOR * UuidVector OPTIONAL,
1716 IN unsigned short * Annotation
1717 );
1718
1719#ifdef UNICODE
1720#define RpcEpRegisterNoReplace RpcEpRegisterNoReplaceW
1721#define RpcEpRegister RpcEpRegisterW
1722#else /* UNICODE */
1723#define RpcEpRegisterNoReplace RpcEpRegisterNoReplaceA
1724#define RpcEpRegister RpcEpRegisterA
1725#endif /* UNICODE */
1726
1727#else /* RPC_UNICODE_SUPPORTED */
1728
1729RPCRTAPI
1730RPC_STATUS
1731RPC_ENTRY
1732RpcEpRegisterNoReplace (
1733 IN RPC_IF_HANDLE IfSpec,
1734 IN RPC_BINDING_VECTOR * BindingVector,
1735 IN UUID_VECTOR * UuidVector OPTIONAL,
1736 IN unsigned char * Annotation
1737 );
1738
1739RPCRTAPI
1740RPC_STATUS
1741RPC_ENTRY
1742RpcEpRegister (
1743 IN RPC_IF_HANDLE IfSpec,
1744 IN RPC_BINDING_VECTOR * BindingVector,
1745 IN UUID_VECTOR * UuidVector OPTIONAL,
1746 IN unsigned char * Annotation
1747 );
1748
1749#endif /* RPC_UNICODE_SUPPORTED */
1750
1751
1752RPCRTAPI
1753RPC_STATUS
1754RPC_ENTRY
1755RpcEpUnregister(
1756 IN RPC_IF_HANDLE IfSpec,
1757 IN RPC_BINDING_VECTOR * BindingVector,
1758 IN UUID_VECTOR * UuidVector
1759 );
1760
1761#ifdef RPC_UNICODE_SUPPORTED
1762
1763RPCRTAPI
1764RPC_STATUS
1765RPC_ENTRY
1766DceErrorInqTextA (
1767 IN RPC_STATUS RpcStatus,
1768 OUT unsigned char __RPC_FAR * ErrorText
1769 );
1770
1771RPCRTAPI
1772RPC_STATUS
1773RPC_ENTRY
1774DceErrorInqTextW (
1775 IN RPC_STATUS RpcStatus,
1776 OUT unsigned short __RPC_FAR * ErrorText
1777 );
1778
1779#ifdef UNICODE
1780#define DceErrorInqText DceErrorInqTextW
1781#else /* UNICODE */
1782#define DceErrorInqText DceErrorInqTextA
1783#endif /* UNICODE */
1784
1785#else /* RPC_UNICODE_SUPPORTED */
1786
1787RPCRTAPI
1788RPC_STATUS
1789RPC_ENTRY
1790DceErrorInqText (
1791 IN RPC_STATUS RpcStatus,
1792 OUT unsigned char __RPC_FAR * ErrorText
1793 );
1794
1795#endif /* RPC_UNICODE_SUPPORTED */
1796
1797#define DCE_C_ERROR_STRING_LEN 256
1798
1799typedef I_RPC_HANDLE * RPC_EP_INQ_HANDLE;
1800
1801#define RPC_C_EP_ALL_ELTS 0
1802#define RPC_C_EP_MATCH_BY_IF 1
1803#define RPC_C_EP_MATCH_BY_OBJ 2
1804#define RPC_C_EP_MATCH_BY_BOTH 3
1805
1806#define RPC_C_VERS_ALL 1
1807#define RPC_C_VERS_COMPATIBLE 2
1808#define RPC_C_VERS_EXACT 3
1809#define RPC_C_VERS_MAJOR_ONLY 4
1810#define RPC_C_VERS_UPTO 5
1811
1812RPCRTAPI
1813RPC_STATUS
1814RPC_ENTRY
1815RpcMgmtEpEltInqBegin (
1816 IN RPC_BINDING_HANDLE EpBinding OPTIONAL,
1817 IN unsigned long InquiryType,
1818 IN RPC_IF_ID __RPC_FAR * IfId OPTIONAL,
1819 IN unsigned long VersOption OPTIONAL,
1820 IN UUID __RPC_FAR * ObjectUuid OPTIONAL,
1821 OUT RPC_EP_INQ_HANDLE __RPC_FAR * InquiryContext
1822 );
1823
1824RPCRTAPI
1825RPC_STATUS
1826RPC_ENTRY
1827RpcMgmtEpEltInqDone (
1828 IN OUT RPC_EP_INQ_HANDLE __RPC_FAR * InquiryContext
1829 );
1830
1831#ifdef RPC_UNICODE_SUPPORTED
1832
1833RPCRTAPI
1834RPC_STATUS
1835RPC_ENTRY
1836RpcMgmtEpEltInqNextA (
1837 IN RPC_EP_INQ_HANDLE InquiryContext,
1838 OUT RPC_IF_ID __RPC_FAR * IfId,
1839 OUT RPC_BINDING_HANDLE __RPC_FAR * Binding OPTIONAL,
1840 OUT UUID __RPC_FAR * ObjectUuid OPTIONAL,
1841 OUT unsigned char __RPC_FAR * __RPC_FAR * Annotation OPTIONAL
1842 );
1843
1844RPCRTAPI
1845RPC_STATUS
1846RPC_ENTRY
1847RpcMgmtEpEltInqNextW (
1848 IN RPC_EP_INQ_HANDLE InquiryContext,
1849 OUT RPC_IF_ID __RPC_FAR * IfId,
1850 OUT RPC_BINDING_HANDLE __RPC_FAR * Binding OPTIONAL,
1851 OUT UUID __RPC_FAR * ObjectUuid OPTIONAL,
1852 OUT unsigned short __RPC_FAR * __RPC_FAR * Annotation OPTIONAL
1853 );
1854
1855#ifdef UNICODE
1856#define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextW
1857#else /* UNICODE */
1858#define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextA
1859#endif /* UNICODE */
1860
1861#else /* RPC_UNICODE_SUPPORTED */
1862
1863RPCRTAPI
1864RPC_STATUS
1865RPC_ENTRY
1866RpcMgmtEpEltInqNext (
1867 IN RPC_EP_INQ_HANDLE InquiryContext,
1868 OUT RPC_IF_ID __RPC_FAR * IfId,
1869 OUT RPC_BINDING_HANDLE __RPC_FAR * Binding OPTIONAL,
1870 OUT unsigned char __RPC_FAR * __RPC_FAR * Annotation OPTIONAL
1871 );
1872
1873#endif /* RPC_UNICODE_SUPPORTED */
1874
1875RPCRTAPI
1876RPC_STATUS
1877RPC_ENTRY
1878RpcMgmtEpUnregister (
1879 IN RPC_BINDING_HANDLE EpBinding OPTIONAL,
1880 IN RPC_IF_ID __RPC_FAR * IfId,
1881 IN RPC_BINDING_HANDLE Binding,
1882 IN UUID __RPC_FAR * ObjectUuid OPTIONAL
1883 );
1884
1885typedef int
1886(__RPC_API * RPC_MGMT_AUTHORIZATION_FN) (
1887 IN RPC_BINDING_HANDLE ClientBinding,
1888 IN unsigned long RequestedMgmtOperation,
1889 OUT RPC_STATUS __RPC_FAR * Status
1890 );
1891
1892#define RPC_C_MGMT_INQ_IF_IDS 0
1893#define RPC_C_MGMT_INQ_PRINC_NAME 1
1894#define RPC_C_MGMT_INQ_STATS 2
1895#define RPC_C_MGMT_IS_SERVER_LISTEN 3
1896#define RPC_C_MGMT_STOP_SERVER_LISTEN 4
1897
1898RPCRTAPI
1899RPC_STATUS
1900RPC_ENTRY
1901RpcMgmtSetAuthorizationFn (
1902 IN RPC_MGMT_AUTHORIZATION_FN AuthorizationFn
1903 );
1904
1905
1906#define RPC_C_PARM_MAX_PACKET_LENGTH 1
1907#define RPC_C_PARM_BUFFER_LENGTH 2
1908
1909RPCRTAPI
1910RPC_STATUS
1911RPC_ENTRY
1912RpcMgmtInqParameter (
1913 IN unsigned Parameter,
1914 IN unsigned long __RPC_FAR * Value
1915 );
1916
1917RPCRTAPI
1918RPC_STATUS
1919RPC_ENTRY
1920RpcMgmtSetParameter (
1921 IN unsigned Parameter,
1922 IN unsigned long Value
1923 );
1924
1925RPCRTAPI
1926RPC_STATUS
1927RPC_ENTRY
1928RpcMgmtBindingInqParameter (
1929 IN RPC_BINDING_HANDLE Handle,
1930 IN unsigned Parameter,
1931 IN unsigned long __RPC_FAR * Value
1932 );
1933
1934RPCRTAPI
1935RPC_STATUS
1936RPC_ENTRY
1937RpcMgmtBindingSetParameter (
1938 IN RPC_BINDING_HANDLE Handle,
1939 IN unsigned Parameter,
1940 IN unsigned long Value
1941 );
1942
1943#define RPC_IF_AUTOLISTEN 0x0001
1944#define RPC_IF_OLE 0x0002
1945
1946//#include <rpcdcep.h>
1947
1948#define RPC_S_OK ERROR_SUCCESS
1949#define RPC_S_INVALID_ARG ERROR_INVALID_PARAMETER
1950#define RPC_S_OUT_OF_MEMORY ERROR_OUTOFMEMORY
1951#define RPC_S_OUT_OF_THREADS ERROR_MAX_THRDS_REACHED
1952#define RPC_S_INVALID_LEVEL ERROR_INVALID_PARAMETER
1953#define RPC_S_BUFFER_TOO_SMALL ERROR_INSUFFICIENT_BUFFER
1954#define RPC_S_INVALID_SECURITY_DESC ERROR_INVALID_SECURITY_DESCR
1955#define RPC_S_ACCESS_DENIED ERROR_ACCESS_DENIED
1956#define RPC_S_SERVER_OUT_OF_MEMORY ERROR_NOT_ENOUGH_SERVER_MEMORY
1957#define RPC_S_ASYNC_CALL_PENDING ERROR_IO_PENDING
1958
1959#define RPC_X_NO_MEMORY RPC_S_OUT_OF_MEMORY
1960#define RPC_X_INVALID_BOUND RPC_S_INVALID_BOUND
1961#define RPC_X_INVALID_TAG RPC_S_INVALID_TAG
1962#define RPC_X_ENUM_VALUE_TOO_LARGE RPC_X_ENUM_VALUE_OUT_OF_RANGE
1963#define RPC_X_SS_CONTEXT_MISMATCH ERROR_INVALID_HANDLE
1964#define RPC_X_INVALID_BUFFER ERROR_INVALID_USER_BUFFER
1965#define RPC_X_PIPE_APP_MEMORY ERROR_OUTOFMEMORY
1966#define RPC_X_INVALID_PIPE_OPERATION RPC_X_WRONG_PIPE_ORDER
1967
1968#ifdef __cplusplus
1969}
1970#endif
1971
1972#endif /* __ODIN_RPCDCE_H__ */
Note: See TracBrowser for help on using the repository browser.