source: branches/swt/include/win/rpcdce.h@ 22078

Last change on this file since 22078 was 22078, checked in by rousseau, 11 years ago

Added definitions for 'in', 'out' and friends

In Windows PSDK these are in 'specstrings.h'.
In Wine these are in 'imagehlp.h' and 'dbghelp.h'.
While 'imagehlp.h' exists in Odin32, it is not included by default,
so we'll put these in 'windef.h' for now.

File size: 44.2 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///-------------------------------------------------------------------[swt-os2]
1970#include "rpcdcep.h"
1971///----------------------------------------------------------------------------
1972
1973#endif /* __ODIN_RPCDCE_H__ */
Note: See TracBrowser for help on using the repository browser.