summaryrefslogtreecommitdiffstats
path: root/public/sdk/inc/rpcdce.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--public/sdk/inc/rpcdce.h1618
1 files changed, 1618 insertions, 0 deletions
diff --git a/public/sdk/inc/rpcdce.h b/public/sdk/inc/rpcdce.h
new file mode 100644
index 000000000..099457ea4
--- /dev/null
+++ b/public/sdk/inc/rpcdce.h
@@ -0,0 +1,1618 @@
+/*++
+
+Copyright (c) 1991-1996 Microsoft Corporation
+
+Module Name:
+
+ rpcdce.h
+
+Abstract:
+
+ This module contains the DCE RPC runtime APIs.
+
+--*/
+
+#ifndef __RPCDCE_H__
+#define __RPCDCE_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define IN
+#define OUT
+#define OPTIONAL
+
+/*typedef char small;*/
+/*typedef unsigned char byte;*/
+/*typedef unsigned char boolean;*/
+
+typedef I_RPC_HANDLE RPC_BINDING_HANDLE;
+typedef RPC_BINDING_HANDLE handle_t;
+#define rpc_binding_handle_t RPC_BINDING_HANDLE
+
+#ifndef GUID_DEFINED
+#define GUID_DEFINED
+typedef struct _GUID
+{
+ unsigned long Data1;
+ unsigned short Data2;
+ unsigned short Data3;
+ unsigned char Data4[8];
+} GUID;
+#endif /* GUID_DEFINED */
+
+#ifndef UUID_DEFINED
+#define UUID_DEFINED
+typedef GUID UUID;
+#ifndef uuid_t
+#define uuid_t UUID
+#endif
+#endif
+
+typedef struct _RPC_BINDING_VECTOR
+{
+ unsigned long Count;
+ RPC_BINDING_HANDLE BindingH[1];
+} RPC_BINDING_VECTOR;
+#ifndef rpc_binding_vector_t
+#define rpc_binding_vector_t RPC_BINDING_VECTOR
+#endif
+
+typedef struct _UUID_VECTOR
+{
+ unsigned long Count;
+ UUID *Uuid[1];
+} UUID_VECTOR;
+#ifndef uuid_vector_t
+#define uuid_vector_t UUID_VECTOR
+#endif
+
+typedef void __RPC_FAR * RPC_IF_HANDLE;
+
+#ifndef IFID_DEFINED
+#define IFID_DEFINED
+typedef struct _RPC_IF_ID
+{
+ UUID Uuid;
+ unsigned short VersMajor;
+ unsigned short VersMinor;
+} RPC_IF_ID;
+#endif
+
+#define RPC_C_BINDING_INFINITE_TIMEOUT 10
+#define RPC_C_BINDING_MIN_TIMEOUT 0
+#define RPC_C_BINDING_DEFAULT_TIMEOUT 5
+#define RPC_C_BINDING_MAX_TIMEOUT 9
+
+#define RPC_C_CANCEL_INFINITE_TIMEOUT -1
+
+#define RPC_C_LISTEN_MAX_CALLS_DEFAULT 1234
+#define RPC_C_PROTSEQ_MAX_REQS_DEFAULT 10
+
+#define RPC_C_BIND_TO_ALL_NICS 1
+#define RPC_C_USE_INTERNET_PORT 1
+#define RPC_C_USE_INTRANET_PORT 2
+
+#ifdef RPC_UNICODE_SUPPORTED
+typedef struct _RPC_PROTSEQ_VECTORA
+{
+ unsigned int Count;
+ unsigned char __RPC_FAR * Protseq[1];
+} RPC_PROTSEQ_VECTORA;
+
+typedef struct _RPC_PROTSEQ_VECTORW
+{
+ unsigned int Count;
+ unsigned short __RPC_FAR * Protseq[1];
+} RPC_PROTSEQ_VECTORW;
+
+#ifdef UNICODE
+#define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORW
+#else /* UNICODE */
+#define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+typedef struct _RPC_PROTSEQ_VECTOR
+{
+ unsigned int Count;
+ unsigned char __RPC_FAR * Protseq[1];
+} RPC_PROTSEQ_VECTOR;
+
+#endif /* RPC_UNICODE_SUPPORTED */
+typedef struct _RPC_POLICY {
+ unsigned int Length ;
+ unsigned long EndpointFlags ;
+ unsigned long NICFlags ;
+ } RPC_POLICY, __RPC_FAR *PRPC_POLICY ;
+
+typedef void __RPC_USER
+RPC_OBJECT_INQ_FN (
+ IN UUID __RPC_FAR * ObjectUuid,
+ OUT UUID __RPC_FAR * TypeUuid,
+ OUT RPC_STATUS __RPC_FAR * Status
+ );
+
+typedef RPC_STATUS
+RPC_IF_CALLBACK_FN (
+ IN RPC_IF_HANDLE InterfaceUuid,
+ IN void *Context
+ ) ;
+
+#define RPC_MGR_EPV void
+
+typedef struct
+{
+ unsigned int Count;
+ unsigned long Stats[1];
+} RPC_STATS_VECTOR;
+
+#define RPC_C_STATS_CALLS_IN 0
+#define RPC_C_STATS_CALLS_OUT 1
+#define RPC_C_STATS_PKTS_IN 2
+#define RPC_C_STATS_PKTS_OUT 3
+
+typedef struct
+{
+ unsigned long Count;
+ RPC_IF_ID __RPC_FAR * IfId[1];
+} RPC_IF_ID_VECTOR;
+
+/* client */
+RPC_STATUS RPC_ENTRY
+RpcBindingCopy (
+ IN RPC_BINDING_HANDLE SourceBinding,
+ OUT RPC_BINDING_HANDLE __RPC_FAR * DestinationBinding
+ );
+
+/* client */
+RPC_STATUS RPC_ENTRY
+RpcBindingFree (
+ IN OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
+ );
+
+/* client */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcBindingFromStringBindingA (
+ IN unsigned char __RPC_FAR * StringBinding,
+ OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingFromStringBindingW (
+ IN unsigned short __RPC_FAR * StringBinding,
+ OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
+ );
+
+#ifdef UNICODE
+#define RpcBindingFromStringBinding RpcBindingFromStringBindingW
+#else /* UNICODE */
+#define RpcBindingFromStringBinding RpcBindingFromStringBindingA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcBindingFromStringBinding (
+ IN unsigned char __RPC_FAR * StringBinding,
+ OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+RpcBindingInqObject (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT UUID __RPC_FAR * ObjectUuid
+ );
+
+/* client */
+RPC_STATUS RPC_ENTRY
+RpcBindingReset (
+ IN RPC_BINDING_HANDLE Binding
+ );
+
+/* RpcBindingServerFromClient : UNSUPPORTED */
+/* RpcBindingSetAuthInfo */
+
+/* client */
+RPC_STATUS RPC_ENTRY
+RpcBindingSetObject (
+ IN RPC_BINDING_HANDLE Binding,
+ IN UUID __RPC_FAR * ObjectUuid
+ );
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+RpcMgmtInqDefaultProtectLevel(
+ IN unsigned long AuthnSvc,
+ OUT unsigned long __RPC_FAR *AuthnLevel
+ );
+
+/* client/server */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcBindingToStringBindingA (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * StringBinding
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingToStringBindingW (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * StringBinding
+ );
+
+#ifdef UNICODE
+#define RpcBindingToStringBinding RpcBindingToStringBindingW
+#else /* UNICODE */
+#define RpcBindingToStringBinding RpcBindingToStringBindingA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcBindingToStringBinding (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * StringBinding
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+RpcBindingVectorFree (
+ IN OUT RPC_BINDING_VECTOR __RPC_FAR * __RPC_FAR * BindingVector
+ );
+
+/* client/server */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcStringBindingComposeA (
+ IN unsigned char __RPC_FAR * ObjUuid OPTIONAL,
+ IN unsigned char __RPC_FAR * Protseq OPTIONAL,
+ IN unsigned char __RPC_FAR * NetworkAddr OPTIONAL,
+ IN unsigned char __RPC_FAR * Endpoint OPTIONAL,
+ IN unsigned char __RPC_FAR * Options OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * StringBinding OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcStringBindingComposeW (
+ IN unsigned short __RPC_FAR * ObjUuid OPTIONAL,
+ IN unsigned short __RPC_FAR * Protseq OPTIONAL,
+ IN unsigned short __RPC_FAR * NetworkAddr OPTIONAL,
+ IN unsigned short __RPC_FAR * Endpoint OPTIONAL,
+ IN unsigned short __RPC_FAR * Options OPTIONAL,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * StringBinding OPTIONAL
+ );
+
+#ifdef UNICODE
+#define RpcStringBindingCompose RpcStringBindingComposeW
+#else /* UNICODE */
+#define RpcStringBindingCompose RpcStringBindingComposeA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcStringBindingCompose (
+ IN unsigned char __RPC_FAR * ObjUuid OPTIONAL,
+ IN unsigned char __RPC_FAR * Protseq OPTIONAL,
+ IN unsigned char __RPC_FAR * NetworkAddr OPTIONAL,
+ IN unsigned char __RPC_FAR * Endpoint OPTIONAL,
+ IN unsigned char __RPC_FAR * Options OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * StringBinding OPTIONAL
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* client/server */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcStringBindingParseA (
+ IN unsigned char __RPC_FAR * StringBinding,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * ObjUuid OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * Protseq OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * NetworkAddr OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * Endpoint OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * NetworkOptions OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcStringBindingParseW (
+ IN unsigned short __RPC_FAR * StringBinding,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * ObjUuid OPTIONAL,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * Protseq OPTIONAL,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * NetworkAddr OPTIONAL,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * Endpoint OPTIONAL,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * NetworkOptions OPTIONAL
+ );
+
+#ifdef UNICODE
+#define RpcStringBindingParse RpcStringBindingParseW
+#else /* UNICODE */
+#define RpcStringBindingParse RpcStringBindingParseA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcStringBindingParse (
+ IN unsigned char __RPC_FAR * StringBinding,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * ObjUuid OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * Protseq OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * NetworkAddr OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * Endpoint OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * NetworkOptions OPTIONAL
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* client/server */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcStringFreeA (
+ IN OUT unsigned char __RPC_FAR * __RPC_FAR * String
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcStringFreeW (
+ IN OUT unsigned short __RPC_FAR * __RPC_FAR * String
+ );
+
+#ifdef UNICODE
+#define RpcStringFree RpcStringFreeW
+#else /* UNICODE */
+#define RpcStringFree RpcStringFreeA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcStringFree (
+ IN OUT unsigned char __RPC_FAR * __RPC_FAR * String
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+RpcIfInqId (
+ IN RPC_IF_HANDLE RpcIfHandle,
+ OUT RPC_IF_ID __RPC_FAR * RpcIfId
+ );
+
+/* client/server */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcNetworkIsProtseqValidA (
+ IN unsigned char __RPC_FAR * Protseq
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNetworkIsProtseqValidW (
+ IN unsigned short __RPC_FAR * Protseq
+ );
+
+#ifdef UNICODE
+#define RpcNetworkIsProtseqValid RpcNetworkIsProtseqValidW
+#else /* UNICODE */
+#define RpcNetworkIsProtseqValid RpcNetworkIsProtseqValidA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcNetworkIsProtseqValid (
+ IN unsigned char __RPC_FAR * Protseq
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* client */
+RPC_STATUS RPC_ENTRY
+RpcMgmtInqComTimeout (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT unsigned int __RPC_FAR * Timeout
+ );
+
+/* client */
+RPC_STATUS RPC_ENTRY
+RpcMgmtSetComTimeout (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned int Timeout
+ );
+
+/* client */
+RPC_STATUS RPC_ENTRY
+RpcMgmtSetCancelTimeout(
+ long Timeout
+ );
+
+
+/* server */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcNetworkInqProtseqsA (
+ OUT RPC_PROTSEQ_VECTORA __RPC_FAR * __RPC_FAR * ProtseqVector
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNetworkInqProtseqsW (
+ OUT RPC_PROTSEQ_VECTORW __RPC_FAR * __RPC_FAR * ProtseqVector
+ );
+
+#ifdef UNICODE
+#define RpcNetworkInqProtseqs RpcNetworkInqProtseqsW
+#else /* UNICODE */
+#define RpcNetworkInqProtseqs RpcNetworkInqProtseqsA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcNetworkInqProtseqs (
+ OUT RPC_PROTSEQ_VECTOR __RPC_FAR * __RPC_FAR * ProtseqVector
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcObjectInqType (
+ IN UUID __RPC_FAR * ObjUuid,
+ OUT UUID __RPC_FAR * TypeUuid OPTIONAL
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcObjectSetInqFn (
+ IN RPC_OBJECT_INQ_FN __RPC_FAR * InquiryFn
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcObjectSetType (
+ IN UUID __RPC_FAR * ObjUuid,
+ IN UUID __RPC_FAR * TypeUuid OPTIONAL
+ );
+
+/* server */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcProtseqVectorFreeA (
+ IN OUT RPC_PROTSEQ_VECTORA __RPC_FAR * __RPC_FAR * ProtseqVector
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcProtseqVectorFreeW (
+ IN OUT RPC_PROTSEQ_VECTORW __RPC_FAR * __RPC_FAR * ProtseqVector
+ );
+
+#ifdef UNICODE
+#define RpcProtseqVectorFree RpcProtseqVectorFreeW
+#else /* UNICODE */
+#define RpcProtseqVectorFree RpcProtseqVectorFreeA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcProtseqVectorFree (
+ IN OUT RPC_PROTSEQ_VECTOR __RPC_FAR * __RPC_FAR * ProtseqVector
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcServerInqBindings (
+ OUT RPC_BINDING_VECTOR __RPC_FAR * __RPC_FAR * BindingVector
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcServerInqIf (
+ IN RPC_IF_HANDLE IfSpec,
+ IN UUID __RPC_FAR * MgrTypeUuid, OPTIONAL
+ OUT RPC_MGR_EPV __RPC_FAR * __RPC_FAR * MgrEpv
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcServerListen (
+ IN unsigned int MinimumCallThreads,
+ IN unsigned int MaxCalls,
+ IN unsigned int DontWait
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcServerRegisterIf (
+ IN RPC_IF_HANDLE IfSpec,
+ IN UUID __RPC_FAR * MgrTypeUuid OPTIONAL,
+ IN RPC_MGR_EPV __RPC_FAR * MgrEpv OPTIONAL
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcServerRegisterIfEx (
+ IN RPC_IF_HANDLE IfSpec,
+ IN UUID __RPC_FAR * MgrTypeUuid,
+ IN RPC_MGR_EPV __RPC_FAR * MgrEpv,
+ IN unsigned int Flags,
+ IN unsigned int MaxCalls,
+ IN RPC_IF_CALLBACK_FN __RPC_FAR *IfCallback
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcServerUnregisterIf (
+ IN RPC_IF_HANDLE IfSpec,
+ IN UUID __RPC_FAR * MgrTypeUuid, OPTIONAL
+ IN unsigned int WaitForCallsToComplete
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcServerUseAllProtseqs (
+ IN unsigned int MaxCalls,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcServerUseAllProtseqsEx (
+ IN unsigned int MaxCalls,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcServerUseAllProtseqsIf (
+ IN unsigned int MaxCalls,
+ IN RPC_IF_HANDLE IfSpec,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcServerUseAllProtseqsIfEx (
+ IN unsigned int MaxCalls,
+ IN RPC_IF_HANDLE IfSpec,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+
+/* server */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqA (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqExA (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqW (
+ IN unsigned short __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqExW (
+ IN unsigned short __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+#ifdef UNICODE
+#define RpcServerUseProtseq RpcServerUseProtseqW
+#define RpcServerUseProtseqEx RpcServerUseProtseqExW
+#else /* UNICODE */
+#define RpcServerUseProtseq RpcServerUseProtseqA
+#define RpcServerUseProtseqEx RpcServerUseProtseqExA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseq (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqEx (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* server */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqEpA (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN unsigned char __RPC_FAR * Endpoint,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqEpExA (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN unsigned char __RPC_FAR * Endpoint,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqEpW (
+ IN unsigned short __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN unsigned short __RPC_FAR * Endpoint,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqEpExW (
+ IN unsigned short __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN unsigned short __RPC_FAR * Endpoint,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+#ifdef UNICODE
+#define RpcServerUseProtseqEp RpcServerUseProtseqEpW
+#define RpcServerUseProtseqEpEx RpcServerUseProtseqEpExW
+#else /* UNICODE */
+#define RpcServerUseProtseqEp RpcServerUseProtseqEpA
+#define RpcServerUseProtseqEpEx RpcServerUseProtseqEpExA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqEp (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN unsigned char __RPC_FAR * Endpoint,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqEpEx (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN unsigned char __RPC_FAR * Endpoint,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* server */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqIfA (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN RPC_IF_HANDLE IfSpec,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqIfExA (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN RPC_IF_HANDLE IfSpec,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqIfW (
+ IN unsigned short __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN RPC_IF_HANDLE IfSpec,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqIfExW (
+ IN unsigned short __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN RPC_IF_HANDLE IfSpec,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+#ifdef UNICODE
+#define RpcServerUseProtseqIf RpcServerUseProtseqIfW
+#define RpcServerUseProtseqIfEx RpcServerUseProtseqIfExW
+#else /* UNICODE */
+#define RpcServerUseProtseqIf RpcServerUseProtseqIfA
+#define RpcServerUseProtseqIfEx RpcServerUseProtseqIfExA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqIf (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN RPC_IF_HANDLE IfSpec,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqIfEx (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN RPC_IF_HANDLE IfSpec,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcMgmtStatsVectorFree (
+ IN RPC_STATS_VECTOR ** StatsVector
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcMgmtInqStats (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT RPC_STATS_VECTOR ** Statistics
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcMgmtIsServerListening (
+ IN RPC_BINDING_HANDLE Binding
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcMgmtStopServerListening (
+ IN RPC_BINDING_HANDLE Binding
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcMgmtWaitServerListen (
+ void
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcMgmtSetServerStackSize (
+ IN unsigned long ThreadStackSize
+ );
+
+/* server */
+void RPC_ENTRY
+RpcSsDontSerializeContext (
+ void
+ );
+
+/* client */
+RPC_STATUS RPC_ENTRY
+RpcMgmtEnableIdleCleanup (
+ void
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtInqIfIds (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT RPC_IF_ID_VECTOR __RPC_FAR * __RPC_FAR * IfIdVector
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcIfIdVectorFree (
+ IN OUT RPC_IF_ID_VECTOR __RPC_FAR * __RPC_FAR * IfIdVector
+ );
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtInqServerPrincNameA (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned long AuthnSvc,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtInqServerPrincNameW (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned long AuthnSvc,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * ServerPrincName
+ );
+
+#ifdef UNICODE
+#define RpcMgmtInqServerPrincName RpcMgmtInqServerPrincNameW
+#else /* UNICODE */
+#define RpcMgmtInqServerPrincName RpcMgmtInqServerPrincNameA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtInqServerPrincName (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned long AuthnSvc,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcServerInqDefaultPrincNameA (
+ IN unsigned long AuthnSvc,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * PrincName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerInqDefaultPrincNameW (
+ IN unsigned long AuthnSvc,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * PrincName
+ );
+
+#ifdef UNICODE
+#define RpcServerInqDefaultPrincName RpcServerInqDefaultPrincNameW
+#else /* UNICODE */
+#define RpcServerInqDefaultPrincName RpcServerInqDefaultPrincNameA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcServerInqDefaultPrincName (
+ IN unsigned long AuthnSvc,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * PrincName
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* client */
+RPC_STATUS RPC_ENTRY
+RpcEpResolveBinding (
+ IN RPC_BINDING_HANDLE Binding,
+ IN RPC_IF_HANDLE IfSpec
+ );
+
+/* client */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcNsBindingInqEntryNameA (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned long EntryNameSyntax,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * EntryName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsBindingInqEntryNameW (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned long EntryNameSyntax,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * EntryName
+ );
+
+#ifdef UNICODE
+#define RpcNsBindingInqEntryName RpcNsBindingInqEntryNameW
+#else /* UNICODE */
+#define RpcNsBindingInqEntryName RpcNsBindingInqEntryNameA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcNsBindingInqEntryName (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned long EntryNameSyntax,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * EntryName
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+typedef void __RPC_FAR * RPC_AUTH_IDENTITY_HANDLE;
+typedef void __RPC_FAR * RPC_AUTHZ_HANDLE;
+
+#define RPC_C_AUTHN_LEVEL_DEFAULT 0
+#define RPC_C_AUTHN_LEVEL_NONE 1
+#define RPC_C_AUTHN_LEVEL_CONNECT 2
+#define RPC_C_AUTHN_LEVEL_CALL 3
+#define RPC_C_AUTHN_LEVEL_PKT 4
+#define RPC_C_AUTHN_LEVEL_PKT_INTEGRITY 5
+#define RPC_C_AUTHN_LEVEL_PKT_PRIVACY 6
+
+#define RPC_C_IMP_LEVEL_ANONYMOUS 1
+#define RPC_C_IMP_LEVEL_IDENTIFY 2
+#define RPC_C_IMP_LEVEL_IMPERSONATE 3
+#define RPC_C_IMP_LEVEL_DELEGATE 4
+
+#define RPC_C_QOS_IDENTITY_STATIC 0
+#define RPC_C_QOS_IDENTITY_DYNAMIC 1
+
+#define RPC_C_QOS_CAPABILITIES_DEFAULT 0
+#define RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH 1
+
+#define RPC_C_PROTECT_LEVEL_DEFAULT (RPC_C_AUTHN_LEVEL_DEFAULT)
+#define RPC_C_PROTECT_LEVEL_NONE (RPC_C_AUTHN_LEVEL_NONE)
+#define RPC_C_PROTECT_LEVEL_CONNECT (RPC_C_AUTHN_LEVEL_CONNECT)
+#define RPC_C_PROTECT_LEVEL_CALL (RPC_C_AUTHN_LEVEL_CALL)
+#define RPC_C_PROTECT_LEVEL_PKT (RPC_C_AUTHN_LEVEL_PKT)
+#define RPC_C_PROTECT_LEVEL_PKT_INTEGRITY (RPC_C_AUTHN_LEVEL_PKT_INTEGRITY)
+#define RPC_C_PROTECT_LEVEL_PKT_PRIVACY (RPC_C_AUTHN_LEVEL_PKT_PRIVACY)
+
+#define RPC_C_AUTHN_NONE 0
+#define RPC_C_AUTHN_DCE_PRIVATE 1
+#define RPC_C_AUTHN_DCE_PUBLIC 2
+#define RPC_C_AUTHN_DEC_PUBLIC 4
+#define RPC_C_AUTHN_WINNT 10
+#define RPC_C_AUTHN_DEFAULT 0xFFFFFFFFL
+
+#define RPC_C_SECURITY_QOS_VERSION 1L
+
+typedef struct _RPC_SECURITY_QOS {
+ unsigned long Version;
+ unsigned long Capabilities;
+ unsigned long IdentityTracking;
+ unsigned long ImpersonationType;
+} RPC_SECURITY_QOS, *PRPC_SECURITY_QOS;
+
+#if defined(__RPC_DOS__) || defined(__RPC_WIN16__)
+typedef struct _SEC_WINNT_AUTH_IDENTITY
+{
+ char __RPC_FAR *User;
+ char __RPC_FAR *Domain;
+ char __RPC_FAR *Password;
+} SEC_WINNT_AUTH_IDENTITY;
+#else
+
+
+#define SEC_WINNT_AUTH_IDENTITY_ANSI 0x1
+#define SEC_WINNT_AUTH_IDENTITY_UNICODE 0x2
+
+typedef struct _SEC_WINNT_AUTH_IDENTITY_W {
+ unsigned short __RPC_FAR *User;
+ unsigned long UserLength;
+ unsigned short __RPC_FAR *Domain;
+ unsigned long DomainLength;
+ unsigned short __RPC_FAR *Password;
+ unsigned long PasswordLength;
+ unsigned long Flags;
+} SEC_WINNT_AUTH_IDENTITY_W, *PSEC_WINNT_AUTH_IDENTITY_W;
+
+typedef struct _SEC_WINNT_AUTH_IDENTITY_A {
+ unsigned char __RPC_FAR *User;
+ unsigned long UserLength;
+ unsigned char __RPC_FAR *Domain;
+ unsigned long DomainLength;
+ unsigned char __RPC_FAR *Password;
+ unsigned long PasswordLength;
+ unsigned long Flags;
+} SEC_WINNT_AUTH_IDENTITY_A, *PSEC_WINNT_AUTH_IDENTITY_A;
+
+
+#ifdef UNICODE
+#define SEC_WINNT_AUTH_IDENTITY SEC_WINNT_AUTH_IDENTITY_W
+#define PSEC_WINNT_AUTH_IDENTITY PSEC_WINNT_AUTH_IDENTITY_W
+#define _SEC_WINNT_AUTH_IDENTITY _SEC_WINNT_AUTH_IDENTITY_W
+#else // UNICODE
+#define SEC_WINNT_AUTH_IDENTITY SEC_WINNT_AUTH_IDENTITY_A
+#define PSEC_WINNT_AUTH_IDENTITY PSEC_WINNT_AUTH_IDENTITY_A
+#define _SEC_WINNT_AUTH_IDENTITY _SEC_WINNT_AUTH_IDENTITY_A
+#endif // UNICODE
+#endif // defined(__RPC_DOS__) || defined(__RPC_WIN16__)
+
+#define RPC_C_AUTHZ_NONE 0
+#define RPC_C_AUTHZ_NAME 1
+#define RPC_C_AUTHZ_DCE 2
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcBindingInqAuthClientA (
+ IN RPC_BINDING_HANDLE ClientBinding, OPTIONAL
+ OUT RPC_AUTHZ_HANDLE __RPC_FAR * Privs,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingInqAuthClientW (
+ IN RPC_BINDING_HANDLE ClientBinding, OPTIONAL
+ OUT RPC_AUTHZ_HANDLE __RPC_FAR * Privs,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingInqAuthInfoA (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
+ OUT RPC_AUTH_IDENTITY_HANDLE __RPC_FAR * AuthIdentity, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingInqAuthInfoW (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
+ OUT RPC_AUTH_IDENTITY_HANDLE __RPC_FAR * AuthIdentity, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingSetAuthInfoA (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned char __RPC_FAR * ServerPrincName,
+ IN unsigned long AuthnLevel,
+ IN unsigned long AuthnSvc,
+ IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
+ IN unsigned long AuthzSvc
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingSetAuthInfoExA (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned char __RPC_FAR * ServerPrincName,
+ IN unsigned long AuthnLevel,
+ IN unsigned long AuthnSvc,
+ IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
+ IN unsigned long AuthzSvc,
+ IN RPC_SECURITY_QOS *SecurityQos OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingSetAuthInfoW (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned short __RPC_FAR * ServerPrincName,
+ IN unsigned long AuthnLevel,
+ IN unsigned long AuthnSvc,
+ IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
+ IN unsigned long AuthzSvc
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingSetAuthInfoExW (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned short __RPC_FAR * ServerPrincName,
+ IN unsigned long AuthnLevel,
+ IN unsigned long AuthnSvc,
+ IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
+ IN unsigned long AuthzSvc, OPTIONAL
+ IN RPC_SECURITY_QOS *SecurityQOS
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingInqAuthInfoExA (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
+ OUT RPC_AUTH_IDENTITY_HANDLE __RPC_FAR * AuthIdentity, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthzSvc, OPTIONAL
+ IN unsigned long RpcQosVersion,
+ OUT RPC_SECURITY_QOS *SecurityQOS
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingInqAuthInfoExW (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
+ OUT RPC_AUTH_IDENTITY_HANDLE __RPC_FAR * AuthIdentity, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL,
+ IN unsigned long RpcQosVersion,
+ OUT RPC_SECURITY_QOS *SecurityQOS
+ );
+
+typedef void
+(__RPC_USER * RPC_AUTH_KEY_RETRIEVAL_FN) (
+ IN void __RPC_FAR * Arg,
+ IN unsigned short __RPC_FAR * ServerPrincName,
+ IN unsigned long KeyVer,
+ OUT void __RPC_FAR * __RPC_FAR * Key,
+ OUT RPC_STATUS __RPC_FAR * Status
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerRegisterAuthInfoA (
+ IN unsigned char __RPC_FAR * ServerPrincName,
+ IN unsigned long AuthnSvc,
+ IN RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn OPTIONAL,
+ IN void __RPC_FAR * Arg OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerRegisterAuthInfoW (
+ IN unsigned short __RPC_FAR * ServerPrincName,
+ IN unsigned long AuthnSvc,
+ IN RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn OPTIONAL,
+ IN void __RPC_FAR * Arg OPTIONAL
+ );
+
+#ifdef UNICODE
+#define RpcBindingInqAuthClient RpcBindingInqAuthClientW
+#define RpcBindingInqAuthInfo RpcBindingInqAuthInfoW
+#define RpcBindingSetAuthInfo RpcBindingSetAuthInfoW
+#define RpcServerRegisterAuthInfo RpcServerRegisterAuthInfoW
+#define RpcBindingInqAuthInfoEx RpcBindingInqAuthInfoExW
+#define RpcBindingSetAuthInfoEx RpcBindingSetAuthInfoExW
+#else /* UNICODE */
+#define RpcBindingInqAuthClient RpcBindingInqAuthClientA
+#define RpcBindingInqAuthInfo RpcBindingInqAuthInfoA
+#define RpcBindingSetAuthInfo RpcBindingSetAuthInfoA
+#define RpcServerRegisterAuthInfo RpcServerRegisterAuthInfoA
+#define RpcBindingInqAuthInfoEx RpcBindingInqAuthInfoExA
+#define RpcBindingSetAuthInfoEx RpcBindingSetAuthInfoExA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcBindingInqAuthClient (
+ IN RPC_BINDING_HANDLE ClientBinding, OPTIONAL
+ OUT RPC_AUTHZ_HANDLE __RPC_FAR * Privs,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingInqAuthInfo (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
+ OUT RPC_AUTH_IDENTITY_HANDLE __RPC_FAR * AuthIdentity, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingSetAuthInfo (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned char __RPC_FAR * ServerPrincName,
+ IN unsigned long AuthnLevel,
+ IN unsigned long AuthnSvc,
+ IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
+ IN unsigned long AuthzSvc
+ );
+
+typedef void
+(__RPC_USER * RPC_AUTH_KEY_RETRIEVAL_FN) (
+ IN void __RPC_FAR * Arg,
+ IN unsigned char __RPC_FAR * ServerPrincName,
+ IN unsigned long KeyVer,
+ OUT void __RPC_FAR * __RPC_FAR * Key,
+ OUT RPC_STATUS __RPC_FAR * Status
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerRegisterAuthInfo (
+ IN unsigned char __RPC_FAR * ServerPrincName,
+ IN unsigned long AuthnSvc,
+ IN RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn OPTIONAL,
+ IN void __RPC_FAR * Arg OPTIONAL
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+typedef struct {
+ unsigned char __RPC_FAR * UserName;
+ unsigned char __RPC_FAR * ComputerName;
+ unsigned short Privilege;
+ unsigned long AuthFlags;
+} RPC_CLIENT_INFORMATION1, __RPC_FAR * PRPC_CLIENT_INFORMATION1;
+
+RPC_STATUS RPC_ENTRY
+RpcBindingServerFromClient (
+ IN RPC_BINDING_HANDLE ClientBinding,
+ OUT RPC_BINDING_HANDLE __RPC_FAR * ServerBinding
+ );
+
+void RPC_ENTRY
+RpcRaiseException (
+ IN RPC_STATUS exception
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcTestCancel(
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcCancelThread(
+ IN void * Thread
+ );
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+UuidCreate (
+ OUT UUID __RPC_FAR * Uuid
+ );
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+UuidToStringA (
+ IN UUID __RPC_FAR * Uuid,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * StringUuid
+ );
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+UuidFromStringA (
+ IN unsigned char __RPC_FAR * StringUuid,
+ OUT UUID __RPC_FAR * Uuid
+ );
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+UuidToStringW (
+ IN UUID __RPC_FAR * Uuid,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * StringUuid
+ );
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+UuidFromStringW (
+ IN unsigned short __RPC_FAR * StringUuid,
+ OUT UUID __RPC_FAR * Uuid
+ );
+
+#ifdef UNICODE
+#define UuidFromString UuidFromStringW
+#define UuidToString UuidToStringW
+#else /* UNICODE */
+#define UuidFromString UuidFromStringA
+#define UuidToString UuidToStringA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+UuidToString (
+ IN UUID __RPC_FAR * Uuid,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * StringUuid
+ );
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+UuidFromString (
+ IN unsigned char __RPC_FAR * StringUuid,
+ OUT UUID __RPC_FAR * Uuid
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+signed int RPC_ENTRY
+UuidCompare (
+ IN UUID __RPC_FAR * Uuid1,
+ IN UUID __RPC_FAR * Uuid2,
+ OUT RPC_STATUS __RPC_FAR * Status
+ );
+
+RPC_STATUS RPC_ENTRY
+UuidCreateNil (
+ OUT UUID __RPC_FAR * NilUuid
+ );
+
+int RPC_ENTRY
+UuidEqual (
+ IN UUID __RPC_FAR * Uuid1,
+ IN UUID __RPC_FAR * Uuid2,
+ OUT RPC_STATUS __RPC_FAR * Status
+ );
+
+unsigned short RPC_ENTRY
+UuidHash (
+ IN UUID __RPC_FAR * Uuid,
+ OUT RPC_STATUS __RPC_FAR * Status
+ );
+
+int RPC_ENTRY
+UuidIsNil (
+ IN UUID __RPC_FAR * Uuid,
+ OUT RPC_STATUS __RPC_FAR * Status
+ );
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcEpRegisterNoReplaceA (
+ IN RPC_IF_HANDLE IfSpec,
+ IN RPC_BINDING_VECTOR * BindingVector,
+ IN UUID_VECTOR * UuidVector OPTIONAL,
+ IN unsigned char * Annotation
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcEpRegisterNoReplaceW (
+ IN RPC_IF_HANDLE IfSpec,
+ IN RPC_BINDING_VECTOR * BindingVector,
+ IN UUID_VECTOR * UuidVector OPTIONAL,
+ IN unsigned short * Annotation
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcEpRegisterA (
+ IN RPC_IF_HANDLE IfSpec,
+ IN RPC_BINDING_VECTOR * BindingVector,
+ IN UUID_VECTOR * UuidVector OPTIONAL,
+ IN unsigned char * Annotation
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcEpRegisterW (
+ IN RPC_IF_HANDLE IfSpec,
+ IN RPC_BINDING_VECTOR * BindingVector,
+ IN UUID_VECTOR * UuidVector OPTIONAL,
+ IN unsigned short * Annotation
+ );
+
+#ifdef UNICODE
+#define RpcEpRegisterNoReplace RpcEpRegisterNoReplaceW
+#define RpcEpRegister RpcEpRegisterW
+#else /* UNICODE */
+#define RpcEpRegisterNoReplace RpcEpRegisterNoReplaceA
+#define RpcEpRegister RpcEpRegisterA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcEpRegisterNoReplace (
+ IN RPC_IF_HANDLE IfSpec,
+ IN RPC_BINDING_VECTOR * BindingVector,
+ IN UUID_VECTOR * UuidVector OPTIONAL,
+ IN unsigned char * Annotation
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcEpRegister (
+ IN RPC_IF_HANDLE IfSpec,
+ IN RPC_BINDING_VECTOR * BindingVector,
+ IN UUID_VECTOR * UuidVector OPTIONAL,
+ IN unsigned char * Annotation
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+
+RPC_STATUS RPC_ENTRY
+RpcEpUnregister(
+ IN RPC_IF_HANDLE IfSpec,
+ IN RPC_BINDING_VECTOR * BindingVector,
+ IN UUID_VECTOR * UuidVector
+ );
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+DceErrorInqTextA (
+ IN RPC_STATUS RpcStatus,
+ OUT unsigned char __RPC_FAR * ErrorText
+ );
+
+RPC_STATUS RPC_ENTRY
+DceErrorInqTextW (
+ IN RPC_STATUS RpcStatus,
+ OUT unsigned short __RPC_FAR * ErrorText
+ );
+
+#ifdef UNICODE
+#define DceErrorInqText DceErrorInqTextW
+#else /* UNICODE */
+#define DceErrorInqText DceErrorInqTextA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+DceErrorInqText (
+ IN RPC_STATUS RpcStatus,
+ OUT unsigned char __RPC_FAR * ErrorText
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+#define DCE_C_ERROR_STRING_LEN 256
+
+typedef I_RPC_HANDLE * RPC_EP_INQ_HANDLE;
+
+#define RPC_C_EP_ALL_ELTS 0
+#define RPC_C_EP_MATCH_BY_IF 1
+#define RPC_C_EP_MATCH_BY_OBJ 2
+#define RPC_C_EP_MATCH_BY_BOTH 3
+
+#define RPC_C_VERS_ALL 1
+#define RPC_C_VERS_COMPATIBLE 2
+#define RPC_C_VERS_EXACT 3
+#define RPC_C_VERS_MAJOR_ONLY 4
+#define RPC_C_VERS_UPTO 5
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtEpEltInqBegin (
+ IN RPC_BINDING_HANDLE EpBinding OPTIONAL,
+ IN unsigned long InquiryType,
+ IN RPC_IF_ID __RPC_FAR * IfId OPTIONAL,
+ IN unsigned long VersOption OPTIONAL,
+ IN UUID __RPC_FAR * ObjectUuid OPTIONAL,
+ OUT RPC_EP_INQ_HANDLE __RPC_FAR * InquiryContext
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtEpEltInqDone (
+ IN OUT RPC_EP_INQ_HANDLE __RPC_FAR * InquiryContext
+ );
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtEpEltInqNextA (
+ IN RPC_EP_INQ_HANDLE InquiryContext,
+ OUT RPC_IF_ID __RPC_FAR * IfId,
+ OUT RPC_BINDING_HANDLE __RPC_FAR * Binding OPTIONAL,
+ OUT UUID __RPC_FAR * ObjectUuid OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * Annotation OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtEpEltInqNextW (
+ IN RPC_EP_INQ_HANDLE InquiryContext,
+ OUT RPC_IF_ID __RPC_FAR * IfId,
+ OUT RPC_BINDING_HANDLE __RPC_FAR * Binding OPTIONAL,
+ OUT UUID __RPC_FAR * ObjectUuid OPTIONAL,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * Annotation OPTIONAL
+ );
+
+#ifdef UNICODE
+#define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextW
+#else /* UNICODE */
+#define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtEpEltInqNext (
+ IN RPC_EP_INQ_HANDLE InquiryContext,
+ OUT RPC_IF_ID __RPC_FAR * IfId,
+ OUT RPC_BINDING_HANDLE __RPC_FAR * Binding OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * Annotation OPTIONAL
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtEpUnregister (
+ IN RPC_BINDING_HANDLE EpBinding OPTIONAL,
+ IN RPC_IF_ID __RPC_FAR * IfId,
+ IN RPC_BINDING_HANDLE Binding,
+ IN UUID __RPC_FAR * ObjectUuid OPTIONAL
+ );
+
+typedef int
+(__RPC_API * RPC_MGMT_AUTHORIZATION_FN) (
+ IN RPC_BINDING_HANDLE ClientBinding,
+ IN unsigned long RequestedMgmtOperation,
+ OUT RPC_STATUS __RPC_FAR * Status
+ );
+
+#define RPC_C_MGMT_INQ_IF_IDS 0
+#define RPC_C_MGMT_INQ_PRINC_NAME 1
+#define RPC_C_MGMT_INQ_STATS 2
+#define RPC_C_MGMT_IS_SERVER_LISTEN 3
+#define RPC_C_MGMT_STOP_SERVER_LISTEN 4
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtSetAuthorizationFn (
+ IN RPC_MGMT_AUTHORIZATION_FN AuthorizationFn
+ );
+
+
+#define RPC_C_PARM_MAX_PACKET_LENGTH 1
+#define RPC_C_PARM_BUFFER_LENGTH 2
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtInqParameter (
+ IN unsigned Parameter,
+ IN unsigned long __RPC_FAR * Value
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtSetParameter (
+ IN unsigned Parameter,
+ IN unsigned long Value
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtBindingInqParameter (
+ IN RPC_BINDING_HANDLE Handle,
+ IN unsigned Parameter,
+ IN unsigned long __RPC_FAR * Value
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtBindingSetParameter (
+ IN RPC_BINDING_HANDLE Handle,
+ IN unsigned Parameter,
+ IN unsigned long Value
+ );
+
+#define RPC_IF_AUTOLISTEN 0x0001
+#define RPC_IF_OLE 0x0002
+
+#include <rpcdcep.h>
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __RPCDCE_H__ */