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

Last change on this file since 21504 was 21493, checked in by dmik, 15 years ago

Fixed broken build after r21492 by sorting out a huuuuge wagon of duplicates, wrong include order and other dirty mess.

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