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

Last change on this file since 10367 was 5598, checked in by sandervl, 24 years ago

header updates

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