Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenrpcdce.h
Go to the documentation of this file.
00001 /* 00002 * Copyright (C) 2000 Francois Gouget 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2.1 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Lesser General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Lesser General Public 00015 * License along with this library; if not, write to the Free Software 00016 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00017 */ 00018 00019 #ifndef __WINE_RPCDCE_H 00020 #define __WINE_RPCDCE_H 00021 00022 #ifdef __cplusplus 00023 extern "C" { 00024 #endif 00025 00026 #ifndef IN 00027 #define IN 00028 #endif 00029 #ifndef OUT 00030 #define OUT 00031 #endif 00032 #ifndef OPTIONAL 00033 #define OPTIONAL 00034 #endif 00035 00036 #ifndef GUID_DEFINED 00037 #include <guiddef.h> 00038 #endif 00039 00040 #ifndef UUID_DEFINED 00041 #define UUID_DEFINED 00042 typedef GUID UUID; 00043 #endif 00044 00045 typedef unsigned char* RPC_CSTR; 00046 typedef unsigned short* RPC_WSTR; 00047 typedef void* RPC_AUTH_IDENTITY_HANDLE; 00048 typedef void* RPC_AUTHZ_HANDLE; 00049 typedef void* RPC_IF_HANDLE; 00050 typedef I_RPC_HANDLE RPC_BINDING_HANDLE; 00051 typedef RPC_BINDING_HANDLE handle_t; 00052 #define rpc_binding_handle_t RPC_BINDING_HANDLE 00053 #define RPC_MGR_EPV void 00054 00055 typedef struct _RPC_BINDING_VECTOR 00056 { 00057 ULONG Count; 00058 RPC_BINDING_HANDLE BindingH[1]; 00059 } RPC_BINDING_VECTOR; 00060 #define rpc_binding_vector_t RPC_BINDING_VECTOR 00061 00062 typedef struct _UUID_VECTOR 00063 { 00064 ULONG Count; 00065 UUID *Uuid[1]; 00066 } UUID_VECTOR; 00067 #define uuid_vector_t UUID_VECTOR 00068 00069 typedef struct _RPC_IF_ID 00070 { 00071 UUID Uuid; 00072 unsigned short VersMajor; 00073 unsigned short VersMinor; 00074 } RPC_IF_ID; 00075 00076 typedef struct 00077 { 00078 ULONG Count; 00079 RPC_IF_ID *IfId[1]; 00080 } RPC_IF_ID_VECTOR; 00081 00082 typedef struct 00083 { 00084 unsigned int Count; 00085 ULONG Stats[1]; 00086 } RPC_STATS_VECTOR; 00087 00088 typedef I_RPC_HANDLE *RPC_EP_INQ_HANDLE; 00089 00090 #define RPC_C_EP_ALL_ELTS 0 00091 #define RPC_C_EP_MATCH_BY_IF 1 00092 #define RPC_C_EP_MATCH_BY_OBJ 2 00093 #define RPC_C_EP_MATCH_BY_BOTH 3 00094 00095 #define RPC_C_VERS_ALL 1 00096 #define RPC_C_VERS_COMPATIBLE 2 00097 #define RPC_C_VERS_EXACT 3 00098 #define RPC_C_VERS_MAJOR_ONLY 4 00099 #define RPC_C_VERS_UPTO 5 00100 00101 #define RPC_C_BINDING_INFINITE_TIMEOUT 10 00102 #define RPC_C_BINDING_MIN_TIMEOUT 0 00103 #define RPC_C_BINDING_DEFAULT_TIMEOUT 5 00104 #define RPC_C_BINDING_MAX_TIMEOUT 9 00105 00106 #define RPC_C_CANCEL_INFINITE_TIMEOUT -1 00107 00108 #define RPC_C_LISTEN_MAX_CALLS_DEFAULT 1234 00109 #define RPC_C_PROTSEQ_MAX_REQS_DEFAULT 10 00110 00111 #define RPC_PROTSEQ_TCP 0x1 00112 #define RPC_PROTSEQ_NMP 0x2 00113 #define RPC_PROTSEQ_LRPC 0x3 00114 #define RPC_PROTSEQ_HTTP 0x4 00115 00116 /* RPC_POLICY EndpointFlags */ 00117 #define RPC_C_BIND_TO_ALL_NICS 0x1 00118 #define RPC_C_USE_INTERNET_PORT 0x1 00119 #define RPC_C_USE_INTRANET_PORT 0x2 00120 #define RPC_C_DONT_FAIL 0x4 00121 00122 /* RPC_POLICY EndpointFlags specific to the Falcon/RPC transport */ 00123 #define RPC_C_MQ_TEMPORARY 0x0000 00124 #define RPC_C_MQ_PERMANENT 0x0001 00125 #define RPC_C_MQ_CLEAR_ON_OPEN 0x0002 00126 #define RPC_C_MQ_USE_EXISTING_SECURITY 0x0004 00127 #define RPC_C_MQ_AUTHN_LEVEL_NONE 0x0000 00128 #define RPC_C_MQ_AUTHN_LEVEL_PKT_INTEGRITY 0x0008 00129 #define RPC_C_MQ_AUTHN_LEVEL_PKT_PRIVACY 0x0010 00130 00131 #define RPC_C_AUTHN_LEVEL_DEFAULT 0 00132 #define RPC_C_AUTHN_LEVEL_NONE 1 00133 #define RPC_C_AUTHN_LEVEL_CONNECT 2 00134 #define RPC_C_AUTHN_LEVEL_CALL 3 00135 #define RPC_C_AUTHN_LEVEL_PKT 4 00136 #define RPC_C_AUTHN_LEVEL_PKT_INTEGRITY 5 00137 #define RPC_C_AUTHN_LEVEL_PKT_PRIVACY 6 00138 00139 #define RPC_C_AUTHN_NONE 0 00140 #define RPC_C_AUTHN_DCE_PRIVATE 1 00141 #define RPC_C_AUTHN_DCE_PUBLIC 2 00142 #define RPC_C_AUTHN_DEC_PUBLIC 4 00143 #define RPC_C_AUTHN_GSS_NEGOTIATE 9 00144 #define RPC_C_AUTHN_WINNT 10 00145 #define RPC_C_AUTHN_GSS_SCHANNEL 14 00146 #define RPC_C_AUTHN_GSS_KERBEROS 16 00147 #define RPC_C_AUTHN_DPA 17 00148 #define RPC_C_AUTHN_MSN 18 00149 #define RPC_C_AUTHN_DIGEST 21 00150 #define RPC_C_AUTHN_MQ 100 00151 #define RPC_C_AUTHN_DEFAULT 0xffffffff 00152 00153 #define RPC_C_AUTHZ_NONE 0 00154 #define RPC_C_AUTHZ_NAME 1 00155 #define RPC_C_AUTHZ_DCE 2 00156 #define RPC_C_AUTHZ_DEFAULT 0xffffffff 00157 00158 /* values for RPC_SECURITY_QOS*::ImpersonationType */ 00159 #define RPC_C_IMP_LEVEL_DEFAULT 0 00160 #define RPC_C_IMP_LEVEL_ANONYMOUS 1 00161 #define RPC_C_IMP_LEVEL_IDENTIFY 2 00162 #define RPC_C_IMP_LEVEL_IMPERSONATE 3 00163 #define RPC_C_IMP_LEVEL_DELEGATE 4 00164 00165 /* values for RPC_SECURITY_QOS*::IdentityTracking */ 00166 #define RPC_C_QOS_IDENTITY_STATIC 0 00167 #define RPC_C_QOS_IDENTITY_DYNAMIC 1 00168 00169 /* flags for RPC_SECURITY_QOS*::Capabilities */ 00170 #define RPC_C_QOS_CAPABILITIES_DEFAULT 0x0 00171 #define RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH 0x1 00172 #define RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC 0x2 00173 #define RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY 0x4 00174 00175 /* values for RPC_SECURITY_QOS*::Version */ 00176 #define RPC_C_SECURITY_QOS_VERSION 1 00177 #define RPC_C_SECURITY_QOS_VERSION_1 1 00178 #define RPC_C_SECURITY_QOS_VERSION_2 2 00179 00180 /* flags for RPC_SECURITY_QOS_V2::AdditionalSecurityInfoType */ 00181 #define RPC_C_AUTHN_INFO_TYPE_HTTP 1 00182 00183 /* flags for RPC_HTTP_TRANSPORT_CREDENTIALS::Flags */ 00184 #define RPC_C_HTTP_FLAG_USE_SSL 0x1 00185 #define RPC_C_HTTP_FLAG_USE_FIRST_AUTH_SCHEME 0x2 00186 00187 /* values for RPC_HTTP_TRANSPORT_CREDENTIALS::AuthenticationTarget */ 00188 #define RPC_C_HTTP_AUTHN_TARGET_SERVER 1 00189 #define RPC_C_HTTP_AUTHN_TARGET_PROXY 2 00190 00191 #define RPC_C_HTTP_AUTHN_SCHEME_BASIC 0x01 00192 #define RPC_C_HTTP_AUTHN_SCHEME_NTLM 0x02 00193 #define RPC_C_HTTP_AUTHN_SCHEME_PASSPORT 0x04 00194 #define RPC_C_HTTP_AUTHN_SCHEME_DIGEST 0x08 00195 #define RPC_C_HTTP_AUTHN_SCHEME_NEGOTIATE 0x10 00196 00197 typedef RPC_STATUS RPC_ENTRY RPC_IF_CALLBACK_FN( RPC_IF_HANDLE InterfaceUuid, void *Context ); 00198 typedef void (__RPC_USER *RPC_AUTH_KEY_RETRIEVAL_FN)(void *, RPC_WSTR, ULONG, void **, RPC_STATUS *); 00199 00200 typedef struct _RPC_POLICY 00201 { 00202 unsigned int Length; 00203 ULONG EndpointFlags; 00204 ULONG NICFlags; 00205 } RPC_POLICY, *PRPC_POLICY; 00206 00207 typedef struct _SEC_WINNT_AUTH_IDENTITY_W 00208 { 00209 unsigned short* User; 00210 ULONG UserLength; 00211 unsigned short* Domain; 00212 ULONG DomainLength; 00213 unsigned short* Password; 00214 ULONG PasswordLength; 00215 ULONG Flags; 00216 } SEC_WINNT_AUTH_IDENTITY_W, *PSEC_WINNT_AUTH_IDENTITY_W; 00217 00218 typedef struct _SEC_WINNT_AUTH_IDENTITY_A 00219 { 00220 unsigned char* User; 00221 ULONG UserLength; 00222 unsigned char* Domain; 00223 ULONG DomainLength; 00224 unsigned char* Password; 00225 ULONG PasswordLength; 00226 ULONG Flags; 00227 } SEC_WINNT_AUTH_IDENTITY_A, *PSEC_WINNT_AUTH_IDENTITY_A; 00228 00229 typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_W 00230 { 00231 SEC_WINNT_AUTH_IDENTITY_W *TransportCredentials; 00232 ULONG Flags; 00233 ULONG AuthenticationTarget; 00234 ULONG NumberOfAuthnSchemes; 00235 ULONG *AuthnSchemes; 00236 unsigned short *ServerCertificateSubject; 00237 } RPC_HTTP_TRANSPORT_CREDENTIALS_W, *PRPC_HTTP_TRANSPORT_CREDENTIALS_W; 00238 00239 typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_A 00240 { 00241 SEC_WINNT_AUTH_IDENTITY_A *TransportCredentials; 00242 ULONG Flags; 00243 ULONG AuthenticationTarget; 00244 ULONG NumberOfAuthnSchemes; 00245 ULONG *AuthnSchemes; 00246 unsigned char *ServerCertificateSubject; 00247 } RPC_HTTP_TRANSPORT_CREDENTIALS_A, *PRPC_HTTP_TRANSPORT_CREDENTIALS_A; 00248 00249 typedef struct _RPC_SECURITY_QOS { 00250 ULONG Version; 00251 ULONG Capabilities; 00252 ULONG IdentityTracking; 00253 ULONG ImpersonationType; 00254 } RPC_SECURITY_QOS, *PRPC_SECURITY_QOS; 00255 00256 typedef struct _RPC_SECURITY_QOS_V2_W 00257 { 00258 ULONG Version; 00259 ULONG Capabilities; 00260 ULONG IdentityTracking; 00261 ULONG ImpersonationType; 00262 ULONG AdditionalSecurityInfoType; 00263 union 00264 { 00265 RPC_HTTP_TRANSPORT_CREDENTIALS_W *HttpCredentials; 00266 } u; 00267 } RPC_SECURITY_QOS_V2_W, *PRPC_SECURITY_QOS_V2_W; 00268 00269 typedef struct _RPC_SECURITY_QOS_V2_A 00270 { 00271 ULONG Version; 00272 ULONG Capabilities; 00273 ULONG IdentityTracking; 00274 ULONG ImpersonationType; 00275 ULONG AdditionalSecurityInfoType; 00276 union 00277 { 00278 RPC_HTTP_TRANSPORT_CREDENTIALS_A *HttpCredentials; 00279 } u; 00280 } RPC_SECURITY_QOS_V2_A, *PRPC_SECURITY_QOS_V2_A; 00281 00282 typedef struct _RPC_PROTSEQ_VECTORA 00283 { 00284 unsigned int Count; 00285 unsigned char __RPC_FAR * Protseq[1]; 00286 } RPC_PROTSEQ_VECTORA; 00287 00288 typedef struct _RPC_PROTSEQ_VECTORW 00289 { 00290 unsigned int Count; 00291 unsigned short __RPC_FAR * Protseq[1]; 00292 } RPC_PROTSEQ_VECTORW; 00293 00294 #define _SEC_WINNT_AUTH_IDENTITY WINELIB_NAME_AW(_SEC_WINNT_AUTH_IDENTITY_) 00295 #define SEC_WINNT_AUTH_IDENTITY WINELIB_NAME_AW(SEC_WINNT_AUTH_IDENTITY_) 00296 #define PSEC_WINNT_AUTH_IDENTITY WINELIB_NAME_AW(PSEC_WINNT_AUTH_IDENTITY_) 00297 00298 #define RPC_HTTP_TRANSPORT_CREDENTIALS_ WINELIB_NAME_AW(RPC_HTTP_TRANSPORT_CREDENTIALS_) 00299 #define PRPC_HTTP_TRANSPORT_CREDENTIALS_ WINELIB_NAME_AW(PRPC_HTTP_TRANSPORT_CREDENTIALS_) 00300 #define _RPC_HTTP_TRANSPORT_CREDENTIALS_ WINELIB_NAME_AW(_RPC_HTTP_TRANSPORT_CREDENTIALS_) 00301 00302 #define RPC_SECURITY_QOS_V2 WINELIB_NAME_AW(RPC_SECURITY_QOS_V2_) 00303 #define PRPC_SECURITY_QOS_V2 WINELIB_NAME_AW(PRPC_SECURITY_QOS_V2_) 00304 #define _RPC_SECURITY_QOS_V2 WINELIB_NAME_AW(_RPC_SECURITY_QOS_V2_) 00305 00306 #define RPC_PROTSEQ_VECTOR WINELIB_NAME_AW(RPC_PROTSEQ_VECTOR) 00307 #define _RPC_PROTSEQ_VECTOR WINELIB_NAME_AW(_RPC_PROTSEQ_VECTOR) 00308 00309 typedef int 00310 (__RPC_API * RPC_MGMT_AUTHORIZATION_FN) ( 00311 IN RPC_BINDING_HANDLE ClientBinding, 00312 IN unsigned long RequestedMgmtOperation, 00313 OUT RPC_STATUS __RPC_FAR * Status 00314 ); 00315 00316 /* SEC_WINNT_AUTH Flags */ 00317 #define SEC_WINNT_AUTH_IDENTITY_ANSI 0x1 00318 #define SEC_WINNT_AUTH_IDENTITY_UNICODE 0x2 00319 00320 /* RpcServerRegisterIfEx Flags */ 00321 #define RPC_IF_AUTOLISTEN 0x01 00322 #define RPC_IF_OLE 0x02 00323 #define RPC_IF_ALLOW_UNKNOWN_AUTHORITY 0x04 00324 #define RPC_IF_ALLOW_SECURE_ONLY 0x08 00325 #define RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH 0x10 00326 #define RPC_IF_ALLOW_LOCAL_ONLY 0x20 00327 #define RPC_IF_SEC_NO_CACHE 0x40 00328 00329 RPC_STATUS RPC_ENTRY DceErrorInqTextA(RPC_STATUS e, RPC_CSTR buffer); 00330 RPC_STATUS RPC_ENTRY DceErrorInqTextW(RPC_STATUS e, RPC_WSTR buffer); 00331 #define DceErrorInqText WINELIB_NAME_AW(DceErrorInqText) 00332 00333 RPCRTAPI DECLSPEC_NORETURN void RPC_ENTRY 00334 RpcRaiseException( RPC_STATUS exception ); 00335 00336 RPCRTAPI RPC_STATUS RPC_ENTRY 00337 RpcBindingCopy( RPC_BINDING_HANDLE SourceBinding, RPC_BINDING_HANDLE* DestinationBinding ); 00338 00339 RPCRTAPI RPC_STATUS RPC_ENTRY 00340 RpcBindingFree( RPC_BINDING_HANDLE* Binding ); 00341 00342 RPCRTAPI RPC_STATUS RPC_ENTRY 00343 RpcBindingInqObject( RPC_BINDING_HANDLE Binding, UUID* ObjectUuid ); 00344 RPCRTAPI RPC_STATUS RPC_ENTRY 00345 RpcBindingInqOption( RPC_BINDING_HANDLE Binding, ULONG Option, ULONG_PTR *OptionValue ); 00346 RPCRTAPI RPC_STATUS RPC_ENTRY 00347 RpcBindingReset( RPC_BINDING_HANDLE Binding ); 00348 RPCRTAPI RPC_STATUS RPC_ENTRY 00349 RpcBindingSetObject( RPC_BINDING_HANDLE Binding, UUID* ObjectUuid ); 00350 RPCRTAPI RPC_STATUS RPC_ENTRY 00351 RpcBindingSetOption( RPC_BINDING_HANDLE Binding, ULONG Option, ULONG_PTR OptionValue ); 00352 RPCRTAPI RPC_STATUS RPC_ENTRY 00353 RpcObjectSetType( UUID* ObjUuid, UUID* TypeUuid ); 00354 00355 RPCRTAPI RPC_STATUS RPC_ENTRY 00356 RpcBindingFromStringBindingA( RPC_CSTR StringBinding, RPC_BINDING_HANDLE* Binding ); 00357 RPCRTAPI RPC_STATUS RPC_ENTRY 00358 RpcBindingFromStringBindingW( RPC_WSTR StringBinding, RPC_BINDING_HANDLE* Binding ); 00359 #define RpcBindingFromStringBinding WINELIB_NAME_AW(RpcBindingFromStringBinding) 00360 00361 RPCRTAPI RPC_STATUS RPC_ENTRY 00362 RpcBindingToStringBindingA( RPC_BINDING_HANDLE Binding, RPC_CSTR *StringBinding ); 00363 RPCRTAPI RPC_STATUS RPC_ENTRY 00364 RpcBindingToStringBindingW( RPC_BINDING_HANDLE Binding, RPC_WSTR *StringBinding ); 00365 #define RpcBindingToStringBinding WINELIB_NAME_AW(RpcBindingToStringBinding) 00366 00367 RPCRTAPI RPC_STATUS RPC_ENTRY 00368 RpcBindingVectorFree( RPC_BINDING_VECTOR** BindingVector ); 00369 00370 RPCRTAPI RPC_STATUS RPC_ENTRY 00371 RpcStringBindingComposeA( RPC_CSTR ObjUuid, RPC_CSTR Protseq, RPC_CSTR NetworkAddr, 00372 RPC_CSTR Endpoint, RPC_CSTR Options, RPC_CSTR *StringBinding ); 00373 RPCRTAPI RPC_STATUS RPC_ENTRY 00374 RpcStringBindingComposeW( RPC_WSTR ObjUuid, RPC_WSTR Protseq, RPC_WSTR NetworkAddr, 00375 RPC_WSTR Endpoint, RPC_WSTR Options, RPC_WSTR *StringBinding ); 00376 #define RpcStringBindingCompose WINELIB_NAME_AW(RpcStringBindingCompose) 00377 00378 RPCRTAPI RPC_STATUS RPC_ENTRY 00379 RpcStringBindingParseA( RPC_CSTR StringBinding, RPC_CSTR *ObjUuid, RPC_CSTR *Protseq, 00380 RPC_CSTR *NetworkAddr, RPC_CSTR *Endpoint, RPC_CSTR *NetworkOptions ); 00381 RPCRTAPI RPC_STATUS RPC_ENTRY 00382 RpcStringBindingParseW( RPC_WSTR StringBinding, RPC_WSTR *ObjUuid, RPC_WSTR *Protseq, 00383 RPC_WSTR *NetworkAddr, RPC_WSTR *Endpoint, RPC_WSTR *NetworkOptions ); 00384 #define RpcStringBindingParse WINELIB_NAME_AW(RpcStringBindingParse) 00385 00386 RPCRTAPI RPC_STATUS RPC_ENTRY 00387 RpcEpResolveBinding( RPC_BINDING_HANDLE Binding, RPC_IF_HANDLE IfSpec ); 00388 00389 RPCRTAPI RPC_STATUS RPC_ENTRY 00390 RpcEpRegisterA( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector, 00391 UUID_VECTOR* UuidVector, RPC_CSTR Annotation ); 00392 RPCRTAPI RPC_STATUS RPC_ENTRY 00393 RpcEpRegisterW( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector, 00394 UUID_VECTOR* UuidVector, RPC_WSTR Annotation ); 00395 #define RpcEpRegister WINELIB_NAME_AW(RpcEpRegister) 00396 00397 RPCRTAPI RPC_STATUS RPC_ENTRY 00398 RpcEpRegisterNoReplaceA( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector, 00399 UUID_VECTOR* UuidVector, RPC_CSTR Annotation ); 00400 RPCRTAPI RPC_STATUS RPC_ENTRY 00401 RpcEpRegisterNoReplaceW( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector, 00402 UUID_VECTOR* UuidVector, RPC_WSTR Annotation ); 00403 #define RpcEpRegisterNoReplace WINELIB_NAME_AW(RpcEpRegisterNoReplace) 00404 00405 RPCRTAPI RPC_STATUS RPC_ENTRY 00406 RpcEpUnregister( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector, 00407 UUID_VECTOR* UuidVector ); 00408 00409 RPCRTAPI RPC_STATUS RPC_ENTRY 00410 RpcServerInqBindings( RPC_BINDING_VECTOR** BindingVector ); 00411 00412 RPCRTAPI RPC_STATUS RPC_ENTRY 00413 RpcServerListen( unsigned int MinimumCallThreads, unsigned int MaxCalls, unsigned int DontWait ); 00414 00415 RPCRTAPI RPC_STATUS RPC_ENTRY 00416 RpcMgmtEnableIdleCleanup( void ); 00417 00418 RPCRTAPI RPC_STATUS RPC_ENTRY RpcMgmtSetCancelTimeout(LONG); 00419 00420 RPCRTAPI RPC_STATUS RPC_ENTRY 00421 RpcMgmtWaitServerListen( void ); 00422 00423 RPCRTAPI RPC_STATUS RPC_ENTRY 00424 RpcMgmtInqStats( RPC_BINDING_HANDLE Binding, RPC_STATS_VECTOR **Statistics ); 00425 00426 RPCRTAPI RPC_STATUS RPC_ENTRY 00427 RpcMgmtStopServerListening( RPC_BINDING_HANDLE Binding ); 00428 00429 RPCRTAPI RPC_STATUS RPC_ENTRY 00430 RpcMgmtIsServerListening(RPC_BINDING_HANDLE Binding); 00431 00432 RPCRTAPI RPC_STATUS RPC_ENTRY 00433 RpcMgmtInqIfIds( RPC_BINDING_HANDLE Binding, RPC_IF_ID_VECTOR** IfIdVector ); 00434 00435 RPCRTAPI RPC_STATUS RPC_ENTRY 00436 RpcMgmtEpEltInqBegin( RPC_BINDING_HANDLE EpBinding, ULONG InquiryType, RPC_IF_ID *IfId, 00437 ULONG VersOption, UUID *ObjectUuid, RPC_EP_INQ_HANDLE *InquiryContext); 00438 00439 RPCRTAPI RPC_STATUS RPC_ENTRY 00440 RpcMgmtSetComTimeout( RPC_BINDING_HANDLE Binding, unsigned int Timeout ); 00441 00442 RPCRTAPI RPC_STATUS RPC_ENTRY 00443 RpcMgmtSetServerStackSize( ULONG ThreadStackSize ); 00444 00445 RPCRTAPI RPC_STATUS RPC_ENTRY 00446 RpcMgmtStatsVectorFree( RPC_STATS_VECTOR **StatsVector ); 00447 00448 RPCRTAPI RPC_STATUS RPC_ENTRY 00449 RpcServerRegisterIf( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv ); 00450 00451 RPCRTAPI RPC_STATUS RPC_ENTRY 00452 RpcServerRegisterIfEx( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv, 00453 unsigned int Flags, unsigned int MaxCalls, RPC_IF_CALLBACK_FN* IfCallbackFn ); 00454 00455 RPCRTAPI RPC_STATUS RPC_ENTRY 00456 RpcServerRegisterIf2( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv, 00457 unsigned int Flags, unsigned int MaxCalls, unsigned int MaxRpcSize, RPC_IF_CALLBACK_FN* IfCallbackFn ); 00458 00459 RPCRTAPI RPC_STATUS RPC_ENTRY 00460 RpcServerUnregisterIf( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, unsigned int WaitForCallsToComplete ); 00461 00462 RPCRTAPI RPC_STATUS RPC_ENTRY 00463 RpcServerUnregisterIfEx( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, int RundownContextHandles ); 00464 00465 00466 RPCRTAPI RPC_STATUS RPC_ENTRY 00467 RpcServerUseProtseqA(RPC_CSTR Protseq, unsigned int MaxCalls, void *SecurityDescriptor); 00468 RPCRTAPI RPC_STATUS RPC_ENTRY 00469 RpcServerUseProtseqW(RPC_WSTR Protseq, unsigned int MaxCalls, void *SecurityDescriptor); 00470 #define RpcServerUseProtseq WINELIB_NAME_AW(RpcServerUseProtseq) 00471 00472 RPCRTAPI RPC_STATUS RPC_ENTRY 00473 RpcServerUseProtseqEpA( RPC_CSTR Protseq, unsigned int MaxCalls, RPC_CSTR Endpoint, void *SecurityDescriptor ); 00474 RPCRTAPI RPC_STATUS RPC_ENTRY 00475 RpcServerUseProtseqEpW( RPC_WSTR Protseq, unsigned int MaxCalls, RPC_WSTR Endpoint, void *SecurityDescriptor ); 00476 #define RpcServerUseProtseqEp WINELIB_NAME_AW(RpcServerUseProtseqEp) 00477 00478 RPCRTAPI RPC_STATUS RPC_ENTRY 00479 RpcServerUseProtseqEpExA( RPC_CSTR Protseq, unsigned int MaxCalls, RPC_CSTR Endpoint, void *SecurityDescriptor, 00480 PRPC_POLICY Policy ); 00481 RPCRTAPI RPC_STATUS RPC_ENTRY 00482 RpcServerUseProtseqEpExW( RPC_WSTR Protseq, unsigned int MaxCalls, RPC_WSTR Endpoint, void *SecurityDescriptor, 00483 PRPC_POLICY Policy ); 00484 #define RpcServerUseProtseqEpEx WINELIB_NAME_AW(RpcServerUseProtseqEpEx) 00485 00486 RPCRTAPI RPC_STATUS RPC_ENTRY 00487 RpcServerRegisterAuthInfoA( RPC_CSTR ServerPrincName, ULONG AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn, 00488 void *Arg ); 00489 RPCRTAPI RPC_STATUS RPC_ENTRY 00490 RpcServerRegisterAuthInfoW( RPC_WSTR ServerPrincName, ULONG AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn, 00491 void *Arg ); 00492 #define RpcServerRegisterAuthInfo WINELIB_NAME_AW(RpcServerRegisterAuthInfo) 00493 00494 RPCRTAPI RPC_STATUS RPC_ENTRY 00495 RpcBindingSetAuthInfoExA( RPC_BINDING_HANDLE Binding, RPC_CSTR ServerPrincName, ULONG AuthnLevel, 00496 ULONG AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, ULONG AuthzSvr, 00497 RPC_SECURITY_QOS *SecurityQos ); 00498 00499 RPCRTAPI RPC_STATUS RPC_ENTRY 00500 RpcBindingSetAuthInfoExW( RPC_BINDING_HANDLE Binding, RPC_WSTR ServerPrincName, ULONG AuthnLevel, 00501 ULONG AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, ULONG AuthzSvr, 00502 RPC_SECURITY_QOS *SecurityQos ); 00503 #define RpcBindingSetAuthInfoEx WINELIB_NAME_AW(RpcBindingSetAuthInfoEx) 00504 00505 RPCRTAPI RPC_STATUS RPC_ENTRY 00506 RpcBindingSetAuthInfoA( RPC_BINDING_HANDLE Binding, RPC_CSTR ServerPrincName, ULONG AuthnLevel, 00507 ULONG AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, ULONG AuthzSvr ); 00508 00509 RPCRTAPI RPC_STATUS RPC_ENTRY 00510 RpcBindingSetAuthInfoW( RPC_BINDING_HANDLE Binding, RPC_WSTR ServerPrincName, ULONG AuthnLevel, 00511 ULONG AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, ULONG AuthzSvr ); 00512 #define RpcBindingSetAuthInfo WINELIB_NAME_AW(RpcBindingSetAuthInfo) 00513 00514 RPCRTAPI RPC_STATUS RPC_ENTRY 00515 RpcBindingInqAuthInfoExA( RPC_BINDING_HANDLE Binding, RPC_CSTR * ServerPrincName, ULONG *AuthnLevel, 00516 ULONG *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, ULONG *AuthzSvc, 00517 ULONG RpcQosVersion, RPC_SECURITY_QOS *SecurityQOS ); 00518 00519 RPCRTAPI RPC_STATUS RPC_ENTRY 00520 RpcBindingInqAuthInfoExW( RPC_BINDING_HANDLE Binding, RPC_WSTR *ServerPrincName, ULONG *AuthnLevel, 00521 ULONG *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, ULONG *AuthzSvc, 00522 ULONG RpcQosVersion, RPC_SECURITY_QOS *SecurityQOS ); 00523 #define RpcBindingInqAuthInfoEx WINELIB_NAME_AW(RpcBindingInqAuthInfoEx) 00524 00525 RPCRTAPI RPC_STATUS RPC_ENTRY 00526 RpcBindingInqAuthInfoA( RPC_BINDING_HANDLE Binding, RPC_CSTR * ServerPrincName, ULONG *AuthnLevel, 00527 ULONG *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, ULONG *AuthzSvc ); 00528 00529 RPCRTAPI RPC_STATUS RPC_ENTRY 00530 RpcBindingInqAuthInfoW( RPC_BINDING_HANDLE Binding, RPC_WSTR *ServerPrincName, ULONG *AuthnLevel, 00531 ULONG *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, ULONG *AuthzSvc ); 00532 #define RpcBindingInqAuthInfo WINELIB_NAME_AW(RpcBindingInqAuthInfo) 00533 00534 RPCRTAPI RPC_STATUS RPC_ENTRY 00535 RpcBindingInqAuthClientA( RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE *Privs, 00536 RPC_CSTR *ServerPrincName, ULONG *AuthnLevel, ULONG *AuthnSvc, 00537 ULONG *AuthzSvc ); 00538 00539 RPCRTAPI RPC_STATUS RPC_ENTRY 00540 RpcBindingInqAuthClientW( RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE *Privs, 00541 RPC_WSTR *ServerPrincName, ULONG *AuthnLevel, ULONG *AuthnSvc, 00542 ULONG *AuthzSvc ); 00543 #define RpcBindingInqAuthClient WINELIB_NAME_AW(RpcBindingInqAuthClient) 00544 00545 RPCRTAPI RPC_STATUS RPC_ENTRY 00546 RpcBindingInqAuthClientExA( RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE *Privs, 00547 RPC_CSTR *ServerPrincName, ULONG *AuthnLevel, ULONG *AuthnSvc, 00548 ULONG *AuthzSvc, ULONG Flags ); 00549 00550 RPCRTAPI RPC_STATUS RPC_ENTRY 00551 RpcBindingInqAuthClientExW( RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE *Privs, 00552 RPC_WSTR *ServerPrincName, ULONG *AuthnLevel, ULONG *AuthnSvc, 00553 ULONG *AuthzSvc, ULONG Flags ); 00554 #define RpcBindingInqAuthClientEx WINELIB_NAME_AW(RpcBindingInqAuthClientEx) 00555 00556 RPCRTAPI RPC_STATUS RPC_ENTRY RpcCancelThread(void*); 00557 RPCRTAPI RPC_STATUS RPC_ENTRY RpcCancelThreadEx(void*,LONG); 00558 00559 RPCRTAPI RPC_STATUS RPC_ENTRY 00560 RpcImpersonateClient( RPC_BINDING_HANDLE Binding ); 00561 00562 RPCRTAPI RPC_STATUS RPC_ENTRY 00563 RpcNetworkIsProtseqValidA( RPC_CSTR protseq ); 00564 RPCRTAPI RPC_STATUS RPC_ENTRY 00565 RpcNetworkIsProtseqValidW( RPC_WSTR protseq ); 00566 #define RpcNetworkIsProtseqValid WINELIB_NAME_AW(RpcNetworkIsProtseqValid) 00567 00568 RPCRTAPI RPC_STATUS RPC_ENTRY 00569 RpcRevertToSelf( void ); 00570 RPCRTAPI RPC_STATUS RPC_ENTRY 00571 RpcRevertToSelfEx( RPC_BINDING_HANDLE Binding ); 00572 00573 RPCRTAPI RPC_STATUS RPC_ENTRY 00574 RpcStringFreeA(RPC_CSTR* String); 00575 RPCRTAPI RPC_STATUS RPC_ENTRY 00576 RpcStringFreeW(RPC_WSTR* String); 00577 #define RpcStringFree WINELIB_NAME_AW(RpcStringFree) 00578 00579 RPCRTAPI RPC_STATUS RPC_ENTRY 00580 UuidToStringA( UUID* Uuid, RPC_CSTR* StringUuid ); 00581 RPCRTAPI RPC_STATUS RPC_ENTRY 00582 UuidToStringW( UUID* Uuid, RPC_WSTR* StringUuid ); 00583 #define UuidToString WINELIB_NAME_AW(UuidToString) 00584 00585 RPCRTAPI RPC_STATUS RPC_ENTRY 00586 UuidFromStringA( RPC_CSTR StringUuid, UUID* Uuid ); 00587 RPCRTAPI RPC_STATUS RPC_ENTRY 00588 UuidFromStringW( RPC_WSTR StringUuid, UUID* Uuid ); 00589 #define UuidFromString WINELIB_NAME_AW(UuidFromString) 00590 00591 RPCRTAPI RPC_STATUS RPC_ENTRY 00592 UuidCreate( UUID* Uuid ); 00593 RPCRTAPI RPC_STATUS RPC_ENTRY 00594 UuidCreateSequential( UUID* Uuid ); 00595 RPCRTAPI RPC_STATUS RPC_ENTRY 00596 UuidCreateNil( UUID* Uuid ); 00597 RPCRTAPI signed int RPC_ENTRY 00598 UuidCompare( UUID* Uuid1, UUID* Uuid2, RPC_STATUS* Status_ ); 00599 RPCRTAPI int RPC_ENTRY 00600 UuidEqual( UUID* Uuid1, UUID* Uuid2, RPC_STATUS* Status_ ); 00601 RPCRTAPI unsigned short RPC_ENTRY 00602 UuidHash(UUID* Uuid, RPC_STATUS* Status_ ); 00603 RPCRTAPI int RPC_ENTRY 00604 UuidIsNil( UUID* Uuid, RPC_STATUS* Status_ ); 00605 00606 #ifdef __cplusplus 00607 } 00608 #endif 00609 00610 #include <rpcdcep.h> 00611 00612 #endif /*__WINE_RPCDCE_H */ Generated on Mon May 28 2012 04:32:04 for ReactOS by
1.7.6.1
|