File Annotation

Not logged in
4e2933c620 2015-04-21        kinaba: /***********************************************************************\
4e2933c620 2015-04-21        kinaba: *                                rpcdce.d                               *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Windows API header module                       *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                 Translated from MinGW Windows headers                 *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Placed into public domain                       *
4e2933c620 2015-04-21        kinaba: \***********************************************************************/
4e2933c620 2015-04-21        kinaba: module win32.rpcdce;
9b639cf2d6 2015-05-05        kinaba: pragma(lib, "Rpcrt4");
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // TODO: I think MinGW got this wrong. RPC_UNICODE_SUPPORTED should be
4e2933c620 2015-04-21        kinaba: // replaced aliases for version(Unicode)
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: public import win32.rpcdcep;
4e2933c620 2015-04-21        kinaba: private import win32.basetyps, win32.w32api, win32.windef;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // FIXME: clean up Windows version support
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias UUID uuid_t;
4e2933c620 2015-04-21        kinaba: alias UUID_VECTOR uuid_vector_t;
4e2933c620 2015-04-21        kinaba: alias void RPC_MGR_EPV;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // for RpcMgmtSetComTimeout()
4e2933c620 2015-04-21        kinaba: enum : uint {
4e2933c620 2015-04-21        kinaba: 	RPC_C_BINDING_MIN_TIMEOUT      = 0,
4e2933c620 2015-04-21        kinaba: 	RPC_C_BINDING_DEFAULT_TIMEOUT  = 5,
4e2933c620 2015-04-21        kinaba: 	RPC_C_BINDING_MAX_TIMEOUT      = 9,
4e2933c620 2015-04-21        kinaba: 	RPC_C_BINDING_INFINITE_TIMEOUT = 10
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const RPC_C_CANCEL_INFINITE_TIMEOUT= -1;
4e2933c620 2015-04-21        kinaba: const RPC_C_LISTEN_MAX_CALLS_DEFAULT=1234;
4e2933c620 2015-04-21        kinaba: const RPC_C_PROTSEQ_MAX_REQS_DEFAULT=10;
4e2933c620 2015-04-21        kinaba: const RPC_C_BIND_TO_ALL_NICS=1;
4e2933c620 2015-04-21        kinaba: const RPC_C_USE_INTERNET_PORT=1;
4e2933c620 2015-04-21        kinaba: const RPC_C_USE_INTRANET_PORT=2;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // for RPC_STATS_VECTOR, used by RpcMgmyInqStats
4e2933c620 2015-04-21        kinaba: enum : uint {
4e2933c620 2015-04-21        kinaba: 	RPC_C_STATS_CALLS_IN  = 0,
4e2933c620 2015-04-21        kinaba: 	RPC_C_STATS_CALLS_OUT,
4e2933c620 2015-04-21        kinaba: 	RPC_C_STATS_PKTS_IN,
4e2933c620 2015-04-21        kinaba: 	RPC_C_STATS_PKTS_OUT
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const RPC_IF_AUTOLISTEN=0x0001;
4e2933c620 2015-04-21        kinaba: const RPC_IF_OLE=2;
4e2933c620 2015-04-21        kinaba: const RPC_C_MGMT_INQ_IF_IDS=0;
4e2933c620 2015-04-21        kinaba: const RPC_C_MGMT_INQ_PRINC_NAME=1;
4e2933c620 2015-04-21        kinaba: const RPC_C_MGMT_INQ_STATS=2;
4e2933c620 2015-04-21        kinaba: const RPC_C_MGMT_IS_SERVER_LISTEN=3;
4e2933c620 2015-04-21        kinaba: const RPC_C_MGMT_STOP_SERVER_LISTEN=4;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // Inquiry Type for RpcMgmtEpEltInqBegin()
4e2933c620 2015-04-21        kinaba: enum : uint {
4e2933c620 2015-04-21        kinaba: 	RPC_C_EP_ALL_ELTS = 0,
4e2933c620 2015-04-21        kinaba: 	RPC_C_EP_MATCH_BY_IF,
4e2933c620 2015-04-21        kinaba: 	RPC_C_EP_MATCH_BY_OBJ,
4e2933c620 2015-04-21        kinaba: 	RPC_C_EP_MATCH_BY_BOTH
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // for RpcMgmtEpEltInqNext()
4e2933c620 2015-04-21        kinaba: enum : uint {
4e2933c620 2015-04-21        kinaba: 	RPC_C_VERS_ALL = 1,
4e2933c620 2015-04-21        kinaba: 	RPC_C_VERS_COMPATIBLE,
4e2933c620 2015-04-21        kinaba: 	RPC_C_VERS_EXACT,
4e2933c620 2015-04-21        kinaba: 	RPC_C_VERS_MAJOR_ONLY,
4e2933c620 2015-04-21        kinaba: 	RPC_C_VERS_UPTO
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const DCE_C_ERROR_STRING_LEN=256;
4e2933c620 2015-04-21        kinaba: const RPC_C_PARM_MAX_PACKET_LENGTH=1;
4e2933c620 2015-04-21        kinaba: const RPC_C_PARM_BUFFER_LENGTH=2;
4e2933c620 2015-04-21        kinaba: const RPC_C_AUTHN_LEVEL_DEFAULT=0;
4e2933c620 2015-04-21        kinaba: const RPC_C_AUTHN_LEVEL_NONE=1;
4e2933c620 2015-04-21        kinaba: const RPC_C_AUTHN_LEVEL_CONNECT=2;
4e2933c620 2015-04-21        kinaba: const RPC_C_AUTHN_LEVEL_CALL=3;
4e2933c620 2015-04-21        kinaba: const RPC_C_AUTHN_LEVEL_PKT=4;
4e2933c620 2015-04-21        kinaba: const RPC_C_AUTHN_LEVEL_PKT_INTEGRITY=5;
4e2933c620 2015-04-21        kinaba: const RPC_C_AUTHN_LEVEL_PKT_PRIVACY=6;
4e2933c620 2015-04-21        kinaba: const RPC_C_IMP_LEVEL_ANONYMOUS=1;
4e2933c620 2015-04-21        kinaba: const RPC_C_IMP_LEVEL_IDENTIFY=2;
4e2933c620 2015-04-21        kinaba: const RPC_C_IMP_LEVEL_IMPERSONATE=3;
4e2933c620 2015-04-21        kinaba: const RPC_C_IMP_LEVEL_DELEGATE=4;
4e2933c620 2015-04-21        kinaba: const RPC_C_QOS_IDENTITY_STATIC=0;
4e2933c620 2015-04-21        kinaba: const RPC_C_QOS_IDENTITY_DYNAMIC=1;
4e2933c620 2015-04-21        kinaba: const RPC_C_QOS_CAPABILITIES_DEFAULT=0;
4e2933c620 2015-04-21        kinaba: const RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH=1;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // These enums were buggy in MinGW !
4e2933c620 2015-04-21        kinaba: const RPC_C_PROTECT_LEVEL_DEFAULT = RPC_C_AUTHN_LEVEL_DEFAULT;
4e2933c620 2015-04-21        kinaba: const RPC_C_PROTECT_LEVEL_NONE = RPC_C_AUTHN_LEVEL_NONE;
4e2933c620 2015-04-21        kinaba: const RPC_C_PROTECT_LEVEL_CONNECT = RPC_C_AUTHN_LEVEL_CONNECT;
4e2933c620 2015-04-21        kinaba: const RPC_C_PROTECT_LEVEL_CALL = RPC_C_AUTHN_LEVEL_CALL;
4e2933c620 2015-04-21        kinaba: const RPC_C_PROTECT_LEVEL_PKT = RPC_C_AUTHN_LEVEL_PKT;
4e2933c620 2015-04-21        kinaba: const RPC_C_PROTECT_LEVEL_PKT_INTEGRITY = RPC_C_AUTHN_LEVEL_PKT_INTEGRITY;
4e2933c620 2015-04-21        kinaba: const RPC_C_PROTECT_LEVEL_PKT_PRIVACY = RPC_C_AUTHN_LEVEL_PKT_PRIVACY;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const RPC_C_AUTHN_NONE=0;
4e2933c620 2015-04-21        kinaba: const RPC_C_AUTHN_DCE_PRIVATE=1;
4e2933c620 2015-04-21        kinaba: const RPC_C_AUTHN_DCE_PUBLIC=2;
4e2933c620 2015-04-21        kinaba: const RPC_C_AUTHN_DEC_PUBLIC=4;
4e2933c620 2015-04-21        kinaba: const RPC_C_AUTHN_WINNT=10;
4e2933c620 2015-04-21        kinaba: const RPC_C_AUTHN_DEFAULT=0xFFFFFFFF;
4e2933c620 2015-04-21        kinaba: //const RPC_C_SECURITY_QOS_VERSION=L; // FIXME(MinGW): This is nonsense!
4e2933c620 2015-04-21        kinaba: const SEC_WINNT_AUTH_IDENTITY_ANSI=0x1;
4e2933c620 2015-04-21        kinaba: const SEC_WINNT_AUTH_IDENTITY_UNICODE=0x2;
4e2933c620 2015-04-21        kinaba: const RPC_C_AUTHZ_NONE=0;
4e2933c620 2015-04-21        kinaba: const RPC_C_AUTHZ_NAME=1;
4e2933c620 2015-04-21        kinaba: const RPC_C_AUTHZ_DCE=2;
4e2933c620 2015-04-21        kinaba: const RPC_C_AUTHZ_DEFAULT=0xFFFFFFFF;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias I_RPC_HANDLE RPC_BINDING_HANDLE;
4e2933c620 2015-04-21        kinaba: alias RPC_BINDING_HANDLE handle_t;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct RPC_BINDING_VECTOR {
4e2933c620 2015-04-21        kinaba: 	uint Count;
9b639cf2d6 2015-05-05        kinaba: 	RPC_BINDING_HANDLE[1] BindingH;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias RPC_BINDING_HANDLE rpc_binding_handle_t;
4e2933c620 2015-04-21        kinaba: alias RPC_BINDING_VECTOR rpc_binding_vector_t;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct UUID_VECTOR {
4e2933c620 2015-04-21        kinaba: 	uint Count;
9b639cf2d6 2015-05-05        kinaba: 	UUID*[1] Uuid;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias void* RPC_IF_HANDLE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct RPC_IF_ID {
4e2933c620 2015-04-21        kinaba: 	UUID Uuid;
4e2933c620 2015-04-21        kinaba: 	ushort VersMajor;
4e2933c620 2015-04-21        kinaba: 	ushort VersMinor;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct RPC_POLICY {
4e2933c620 2015-04-21        kinaba: 	uint Length;
4e2933c620 2015-04-21        kinaba: 	uint EndpointFlags;
4e2933c620 2015-04-21        kinaba: 	uint NICFlags;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias RPC_POLICY* PRPC_POLICY;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: extern (Windows) {
4e2933c620 2015-04-21        kinaba: 	alias void function(UUID*, UUID*, RPC_STATUS*) RPC_OBJECT_INQ_FN;
4e2933c620 2015-04-21        kinaba: 	alias RPC_STATUS function(RPC_IF_HANDLE, void*) RPC_IF_CALLBACK_FN;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct RPC_STATS_VECTOR {
4e2933c620 2015-04-21        kinaba: 	uint    Count;
4e2933c620 2015-04-21        kinaba: 	uint[1] Stats;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct RPC_IF_ID_VECTOR {
4e2933c620 2015-04-21        kinaba: 	uint          Count;
4e2933c620 2015-04-21        kinaba: 	RPC_IF_ID*[1] IfId;
4e2933c620 2015-04-21        kinaba: }
9b639cf2d6 2015-05-05        kinaba: mixin DECLARE_HANDLE!("RPC_AUTH_IDENTITY_HANDLE");
9b639cf2d6 2015-05-05        kinaba: mixin DECLARE_HANDLE!("RPC_AUTHZ_HANDLE");
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct RPC_SECURITY_QOS {
4e2933c620 2015-04-21        kinaba: 	uint Version;
4e2933c620 2015-04-21        kinaba: 	uint Capabilities;
4e2933c620 2015-04-21        kinaba: 	uint IdentityTracking;
4e2933c620 2015-04-21        kinaba: 	uint ImpersonationType;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias RPC_SECURITY_QOS* PRPC_SECURITY_QOS;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct SEC_WINNT_AUTH_IDENTITY_W {
4e2933c620 2015-04-21        kinaba: 	ushort* User;
4e2933c620 2015-04-21        kinaba: 	uint UserLength;
4e2933c620 2015-04-21        kinaba: 	ushort* Domain;
4e2933c620 2015-04-21        kinaba: 	uint DomainLength;
4e2933c620 2015-04-21        kinaba: 	ushort* Password;
4e2933c620 2015-04-21        kinaba: 	uint PasswordLength;
4e2933c620 2015-04-21        kinaba: 	uint Flags;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias SEC_WINNT_AUTH_IDENTITY_W* PSEC_WINNT_AUTH_IDENTITY_W;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct SEC_WINNT_AUTH_IDENTITY_A {
4e2933c620 2015-04-21        kinaba: 	ubyte* User;
4e2933c620 2015-04-21        kinaba: 	uint UserLength;
4e2933c620 2015-04-21        kinaba: 	ubyte* Domain;
4e2933c620 2015-04-21        kinaba: 	uint DomainLength;
4e2933c620 2015-04-21        kinaba: 	ubyte* Password;
4e2933c620 2015-04-21        kinaba: 	uint PasswordLength;
4e2933c620 2015-04-21        kinaba: 	uint Flags;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias SEC_WINNT_AUTH_IDENTITY_A* PSEC_WINNT_AUTH_IDENTITY_A;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct RPC_CLIENT_INFORMATION1 {
4e2933c620 2015-04-21        kinaba: 	ubyte* UserName;
4e2933c620 2015-04-21        kinaba: 	ubyte* ComputerName;
4e2933c620 2015-04-21        kinaba: 	ushort Privilege;
4e2933c620 2015-04-21        kinaba: 	uint AuthFlags;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias RPC_CLIENT_INFORMATION1* PRPC_CLIENT_INFORMATION1;
4e2933c620 2015-04-21        kinaba: alias I_RPC_HANDLE* RPC_EP_INQ_HANDLE;
4e2933c620 2015-04-21        kinaba: extern (Windows) {
4e2933c620 2015-04-21        kinaba: 	alias int function(RPC_BINDING_HANDLE, uint, RPC_STATUS*) RPC_MGMT_AUTHORIZATION_FN;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: struct RPC_PROTSEQ_VECTORA {
9b639cf2d6 2015-05-05        kinaba: 	uint Count;
9b639cf2d6 2015-05-05        kinaba: 	ubyte*[1] Protseq;
9b639cf2d6 2015-05-05        kinaba: }
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: struct RPC_PROTSEQ_VECTORW {
9b639cf2d6 2015-05-05        kinaba: 	uint Count;
9b639cf2d6 2015-05-05        kinaba: 	ushort*[1] Protseq;
9b639cf2d6 2015-05-05        kinaba: }
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: extern (Windows) {
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcBindingFromStringBindingA(char*, RPC_BINDING_HANDLE*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcBindingFromStringBindingW(wchar*, RPC_BINDING_HANDLE*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcBindingToStringBindingA(RPC_BINDING_HANDLE, char**);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcBindingToStringBindingW(RPC_BINDING_HANDLE, wchar**);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcStringBindingComposeA(char*, char*, char*, char*, char*, char**);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcStringBindingComposeW(wchar*, wchar*, wchar*, wchar*, wchar*, wchar**);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcStringBindingParseA(char*, char**, char**, char**, char**, char**);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcStringBindingParseW(wchar*, wchar**, wchar**, wchar**, wchar**, wchar**);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcStringFreeA(char**);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcStringFreeW(wchar**);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcNetworkIsProtseqValidA(char*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcNetworkIsProtseqValidW(wchar*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcNetworkInqProtseqsA(RPC_PROTSEQ_VECTORA**);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcNetworkInqProtseqsW(RPC_PROTSEQ_VECTORW**);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcProtseqVectorFreeA(RPC_PROTSEQ_VECTORA**);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcProtseqVectorFreeW(RPC_PROTSEQ_VECTORW**);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcServerUseProtseqA(char*, uint, void*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcServerUseProtseqW(wchar*, uint, void*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcServerUseProtseqExA(char*, uint MaxCalls, void*, PRPC_POLICY);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcServerUseProtseqExW(wchar*, uint, void*, PRPC_POLICY);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcServerUseProtseqEpA(char*, uint, char*, void*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcServerUseProtseqEpExA(char*, uint, char*, void*, PRPC_POLICY);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcServerUseProtseqEpW(wchar*, uint, wchar*, void*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcServerUseProtseqEpExW(wchar*, uint, wchar*, void*, PRPC_POLICY);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcServerUseProtseqIfA(char*, uint, RPC_IF_HANDLE, void*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcServerUseProtseqIfExA(char*, uint, RPC_IF_HANDLE, void*, PRPC_POLICY);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcServerUseProtseqIfW(wchar*, uint, RPC_IF_HANDLE, void*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcServerUseProtseqIfExW(wchar*, uint, RPC_IF_HANDLE, void*, PRPC_POLICY);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcMgmtInqServerPrincNameA(RPC_BINDING_HANDLE, uint, char**);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcMgmtInqServerPrincNameW(RPC_BINDING_HANDLE, uint, wchar**);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcServerInqDefaultPrincNameA(uint, char**);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcServerInqDefaultPrincNameW(uint, wchar**);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcNsBindingInqEntryNameA(RPC_BINDING_HANDLE, uint, char**);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcNsBindingInqEntryNameW(RPC_BINDING_HANDLE, uint, wchar**);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcBindingInqAuthClientA(RPC_BINDING_HANDLE, RPC_AUTHZ_HANDLE*, char**, uint*, uint*, uint*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcBindingInqAuthClientW(RPC_BINDING_HANDLE, RPC_AUTHZ_HANDLE*, wchar**, uint*, uint*, uint*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcBindingInqAuthInfoA(RPC_BINDING_HANDLE, char**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcBindingInqAuthInfoW(RPC_BINDING_HANDLE, wchar**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcBindingSetAuthInfoA(RPC_BINDING_HANDLE, char*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcBindingSetAuthInfoExA(RPC_BINDING_HANDLE, char*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint, RPC_SECURITY_QOS*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcBindingSetAuthInfoW(RPC_BINDING_HANDLE, wchar*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcBindingSetAuthInfoExW(RPC_BINDING_HANDLE, wchar*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint, RPC_SECURITY_QOS*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcBindingInqAuthInfoExA(RPC_BINDING_HANDLE, char**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*, uint, RPC_SECURITY_QOS*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcBindingInqAuthInfoExW(RPC_BINDING_HANDLE, wchar**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*, uint, RPC_SECURITY_QOS*);
9b639cf2d6 2015-05-05        kinaba: 	alias void function(void*, wchar*, uint, void**, RPC_STATUS*) RPC_AUTH_KEY_RETRIEVAL_FN;
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcServerRegisterAuthInfoA(char*, uint, RPC_AUTH_KEY_RETRIEVAL_FN, void*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcServerRegisterAuthInfoW(wchar*, uint, RPC_AUTH_KEY_RETRIEVAL_FN, void*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS UuidToStringA(UUID*, char**);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS UuidFromStringA(char*, UUID*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS UuidToStringW(UUID*, wchar**);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS UuidFromStringW(wchar*, UUID*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcEpRegisterNoReplaceA(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, char*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcEpRegisterNoReplaceW(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, wchar*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcEpRegisterA(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, char*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcEpRegisterW(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, wchar*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS DceErrorInqTextA(RPC_STATUS, char*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS DceErrorInqTextW(RPC_STATUS, wchar*);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDLE*, UUID*, char**);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDLE*, UUID*, wchar**);
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	// MinGW erroneously had these in rpc.h
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcImpersonateClient(RPC_BINDING_HANDLE);
9b639cf2d6 2015-05-05        kinaba: 	RPC_STATUS RpcRevertToSelf();
9b639cf2d6 2015-05-05        kinaba: }
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: version (Unicode) {
9b639cf2d6 2015-05-05        kinaba: 	alias RPC_PROTSEQ_VECTORW RPC_PROTSEQ_VECTOR;
9b639cf2d6 2015-05-05        kinaba: 	alias SEC_WINNT_AUTH_IDENTITY_W SEC_WINNT_AUTH_IDENTITY;
9b639cf2d6 2015-05-05        kinaba: 	alias PSEC_WINNT_AUTH_IDENTITY_W PSEC_WINNT_AUTH_IDENTITY;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcMgmtEpEltInqNextW RpcMgmtEpEltInqNext;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcBindingFromStringBindingW RpcBindingFromStringBinding;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcBindingToStringBindingW RpcBindingToStringBinding;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcStringBindingComposeW RpcStringBindingCompose;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcStringBindingParseW RpcStringBindingParse;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcStringFreeW RpcStringFree;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcNetworkIsProtseqValidW RpcNetworkIsProtseqValid;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcNetworkInqProtseqsW RpcNetworkInqProtseqs;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcProtseqVectorFreeW RpcProtseqVectorFree;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcServerUseProtseqW RpcServerUseProtseq;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcServerUseProtseqExW RpcServerUseProtseqEx;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcServerUseProtseqEpW RpcServerUseProtseqEp;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcServerUseProtseqEpExW RpcServerUseProtseqEpEx;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcServerUseProtseqIfW RpcServerUseProtseqIf;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcServerUseProtseqIfExW RpcServerUseProtseqIfEx;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcMgmtInqServerPrincNameW RpcMgmtInqServerPrincName;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcServerInqDefaultPrincNameW RpcServerInqDefaultPrincName;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcNsBindingInqEntryNameW RpcNsBindingInqEntryName;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcBindingInqAuthClientW RpcBindingInqAuthClient;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcBindingInqAuthInfoW RpcBindingInqAuthInfo;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcBindingSetAuthInfoW RpcBindingSetAuthInfo;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcServerRegisterAuthInfoW RpcServerRegisterAuthInfo;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcBindingInqAuthInfoExW RpcBindingInqAuthInfoEx;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcBindingSetAuthInfoExW RpcBindingSetAuthInfoEx;
9b639cf2d6 2015-05-05        kinaba: 	alias UuidFromStringW UuidFromString;
9b639cf2d6 2015-05-05        kinaba: 	alias UuidToStringW UuidToString;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcEpRegisterNoReplaceW RpcEpRegisterNoReplace;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcEpRegisterW RpcEpRegister;
9b639cf2d6 2015-05-05        kinaba: 	alias DceErrorInqTextW DceErrorInqText;
9b639cf2d6 2015-05-05        kinaba: } else { // Ansi
9b639cf2d6 2015-05-05        kinaba: 	alias RPC_PROTSEQ_VECTORA RPC_PROTSEQ_VECTOR;
9b639cf2d6 2015-05-05        kinaba: 	alias SEC_WINNT_AUTH_IDENTITY_A SEC_WINNT_AUTH_IDENTITY;
9b639cf2d6 2015-05-05        kinaba: 	alias PSEC_WINNT_AUTH_IDENTITY_A PSEC_WINNT_AUTH_IDENTITY;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcMgmtEpEltInqNextA RpcMgmtEpEltInqNext;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcBindingFromStringBindingA RpcBindingFromStringBinding;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcBindingToStringBindingA RpcBindingToStringBinding;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcStringBindingComposeA RpcStringBindingCompose;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcStringBindingParseA RpcStringBindingParse;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcStringFreeA RpcStringFree;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcNetworkIsProtseqValidA RpcNetworkIsProtseqValid;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcNetworkInqProtseqsA RpcNetworkInqProtseqs;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcProtseqVectorFreeA RpcProtseqVectorFree;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcServerUseProtseqA RpcServerUseProtseq;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcServerUseProtseqExA RpcServerUseProtseqEx;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcServerUseProtseqEpA RpcServerUseProtseqEp;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcServerUseProtseqEpExA RpcServerUseProtseqEpEx;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcServerUseProtseqIfA RpcServerUseProtseqIf;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcServerUseProtseqIfExA RpcServerUseProtseqIfEx;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcMgmtInqServerPrincNameA RpcMgmtInqServerPrincName;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcServerInqDefaultPrincNameA RpcServerInqDefaultPrincName;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcNsBindingInqEntryNameA RpcNsBindingInqEntryName;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcBindingInqAuthClientA RpcBindingInqAuthClient;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcBindingInqAuthInfoA RpcBindingInqAuthInfo;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcBindingSetAuthInfoA RpcBindingSetAuthInfo;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcServerRegisterAuthInfoA RpcServerRegisterAuthInfo;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcBindingInqAuthInfoExA RpcBindingInqAuthInfoEx;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcBindingSetAuthInfoExA RpcBindingSetAuthInfoEx;
9b639cf2d6 2015-05-05        kinaba: 	alias UuidFromStringA UuidFromString;
9b639cf2d6 2015-05-05        kinaba: 	alias UuidToStringA UuidToString;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcEpRegisterNoReplaceA RpcEpRegisterNoReplace;
9b639cf2d6 2015-05-05        kinaba: 	alias RpcEpRegisterA RpcEpRegister;
9b639cf2d6 2015-05-05        kinaba: 	alias DceErrorInqTextA DceErrorInqText;
9b639cf2d6 2015-05-05        kinaba: } //#endif // UNICODE
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcBindingCopy(RPC_BINDING_HANDLE, RPC_BINDING_HANDLE*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcBindingFree(RPC_BINDING_HANDLE*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcBindingInqObject(RPC_BINDING_HANDLE, UUID*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcBindingReset(RPC_BINDING_HANDLE);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcBindingSetObject(RPC_BINDING_HANDLE, UUID*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcMgmtInqDefaultProtectLevel(uint, uint*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcBindingVectorFree(RPC_BINDING_VECTOR**);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcIfInqId(RPC_IF_HANDLE, RPC_IF_ID*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcMgmtInqComTimeout(RPC_BINDING_HANDLE, uint*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcMgmtSetComTimeout(RPC_BINDING_HANDLE, uint);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcMgmtSetCancelTimeout(int Timeout);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcObjectInqType(UUID*, UUID*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcObjectSetInqFn(RPC_OBJECT_INQ_FN*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcObjectSetType(UUID*, UUID*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcProtseqVectorFree(RPC_PROTSEQ_VECTOR**);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcServerInqIf(RPC_IF_HANDLE, UUID*, RPC_MGR_EPV**);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcServerListen(uint, uint, uint);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcServerRegisterIf(RPC_IF_HANDLE, UUID*, RPC_MGR_EPV*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcServerRegisterIfEx(RPC_IF_HANDLE, UUID*, RPC_MGR_EPV*, uint, uint, RPC_IF_CALLBACK_FN*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcServerRegisterIf2(RPC_IF_HANDLE, UUID*, RPC_MGR_EPV*, uint, uint, uint, RPC_IF_CALLBACK_FN*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcServerUnregisterIf(RPC_IF_HANDLE, UUID*, uint);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcServerUseAllProtseqs(uint, void*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcServerUseAllProtseqsEx(uint, void*, PRPC_POLICY);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcServerUseAllProtseqsIf(uint, RPC_IF_HANDLE, void*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcServerUseAllProtseqsIfEx(uint, RPC_IF_HANDLE, void*, PRPC_POLICY);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcMgmtStatsVectorFree(RPC_STATS_VECTOR**);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcMgmtInqStats(RPC_BINDING_HANDLE, RPC_STATS_VECTOR**);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcMgmtIsServerListening(RPC_BINDING_HANDLE);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcMgmtStopServerListening(RPC_BINDING_HANDLE);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcMgmtWaitServerListen();
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcMgmtSetServerStackSize(uint);
4e2933c620 2015-04-21        kinaba: void RpcSsDontSerializeContext();
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcMgmtEnableIdleCleanup();
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcMgmtInqIfIds(RPC_BINDING_HANDLE, RPC_IF_ID_VECTOR**);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcIfIdVectorFree(RPC_IF_ID_VECTOR**);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcEpResolveBinding(RPC_BINDING_HANDLE, RPC_IF_HANDLE);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcBindingServerFromClient(RPC_BINDING_HANDLE, RPC_BINDING_HANDLE*);
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // never returns
4e2933c620 2015-04-21        kinaba: void RpcRaiseException(RPC_STATUS);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcTestCancel();
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcCancelThread(void*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS UuidCreate(UUID*);
4e2933c620 2015-04-21        kinaba: int UuidCompare(UUID*, UUID*, RPC_STATUS*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS UuidCreateNil(UUID*);
4e2933c620 2015-04-21        kinaba: int UuidEqual(UUID*, UUID*, RPC_STATUS*);
4e2933c620 2015-04-21        kinaba: ushort UuidHash(UUID*, RPC_STATUS*);
4e2933c620 2015-04-21        kinaba: int UuidIsNil(UUID*, RPC_STATUS*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcEpUnregister(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcMgmtEpEltInqBegin(RPC_BINDING_HANDLE, uint, RPC_IF_ID*, uint, UUID*, RPC_EP_INQ_HANDLE*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcMgmtEpEltInqDone(RPC_EP_INQ_HANDLE*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcMgmtEpUnregister(RPC_BINDING_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDLE, UUID*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcMgmtSetAuthorizationFn(RPC_MGMT_AUTHORIZATION_FN);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcMgmtInqParameter(uint, uint*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcMgmtSetParameter(uint, uint);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcMgmtBindingInqParameter(RPC_BINDING_HANDLE, uint, uint*);
4e2933c620 2015-04-21        kinaba: RPC_STATUS RpcMgmtBindingSetParameter(RPC_BINDING_HANDLE, uint, uint);
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: static if (_WIN32_WINNT >= 0x500) {
4e2933c620 2015-04-21        kinaba: 	RPC_STATUS UuidCreateSequential(UUID*);
4e2933c620 2015-04-21        kinaba: }