20#include <winpr/config.h>
24#include <winpr/crypto.h>
26#if !defined(_WIN32) || defined(_UWP)
29#define TAG WINPR_TAG("rpc")
31RPC_STATUS RpcBindingCopy(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE SourceBinding,
32 WINPR_ATTR_UNUSED RPC_BINDING_HANDLE* DestinationBinding)
34 WLog_ERR(TAG,
"Not implemented");
38RPC_STATUS RpcBindingFree(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE* Binding)
40 WLog_ERR(TAG,
"Not implemented");
44RPC_STATUS RpcBindingSetOption(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE hBinding,
45 WINPR_ATTR_UNUSED
unsigned long option,
46 WINPR_ATTR_UNUSED ULONG_PTR optionValue)
48 WLog_ERR(TAG,
"Not implemented");
52RPC_STATUS RpcBindingInqOption(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE hBinding,
53 WINPR_ATTR_UNUSED
unsigned long option,
54 WINPR_ATTR_UNUSED ULONG_PTR* pOptionValue)
56 WLog_ERR(TAG,
"Not implemented");
60RPC_STATUS RpcBindingFromStringBindingA(WINPR_ATTR_UNUSED RPC_CSTR StringBinding,
61 WINPR_ATTR_UNUSED RPC_BINDING_HANDLE* Binding)
63 WLog_ERR(TAG,
"Not implemented");
67RPC_STATUS RpcBindingFromStringBindingW(WINPR_ATTR_UNUSED RPC_WSTR StringBinding,
68 WINPR_ATTR_UNUSED RPC_BINDING_HANDLE* Binding)
70 WLog_ERR(TAG,
"Not implemented");
74RPC_STATUS RpcSsGetContextBinding(WINPR_ATTR_UNUSED
void* ContextHandle,
75 WINPR_ATTR_UNUSED RPC_BINDING_HANDLE* Binding)
77 WLog_ERR(TAG,
"Not implemented");
81RPC_STATUS RpcBindingInqObject(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
82 WINPR_ATTR_UNUSED
UUID* ObjectUuid)
84 WLog_ERR(TAG,
"Not implemented");
88RPC_STATUS RpcBindingReset(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding)
90 WLog_ERR(TAG,
"Not implemented");
94RPC_STATUS RpcBindingSetObject(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
95 WINPR_ATTR_UNUSED
UUID* ObjectUuid)
97 WLog_ERR(TAG,
"Not implemented");
101RPC_STATUS RpcMgmtInqDefaultProtectLevel(WINPR_ATTR_UNUSED
unsigned long AuthnSvc,
102 WINPR_ATTR_UNUSED
unsigned long* AuthnLevel)
104 WLog_ERR(TAG,
"Not implemented");
108RPC_STATUS RpcBindingToStringBindingA(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
109 WINPR_ATTR_UNUSED RPC_CSTR* StringBinding)
111 WLog_ERR(TAG,
"Not implemented");
115RPC_STATUS RpcBindingToStringBindingW(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
116 WINPR_ATTR_UNUSED RPC_WSTR* StringBinding)
118 WLog_ERR(TAG,
"Not implemented");
124 WLog_ERR(TAG,
"Not implemented");
128RPC_STATUS RpcStringBindingComposeA(WINPR_ATTR_UNUSED RPC_CSTR ObjUuid,
129 WINPR_ATTR_UNUSED RPC_CSTR Protseq,
130 WINPR_ATTR_UNUSED RPC_CSTR NetworkAddr,
131 WINPR_ATTR_UNUSED RPC_CSTR Endpoint,
132 WINPR_ATTR_UNUSED RPC_CSTR Options,
133 WINPR_ATTR_UNUSED RPC_CSTR* StringBinding)
135 WLog_ERR(TAG,
"Not implemented");
139RPC_STATUS RpcStringBindingComposeW(WINPR_ATTR_UNUSED RPC_WSTR ObjUuid,
140 WINPR_ATTR_UNUSED RPC_WSTR Protseq,
141 WINPR_ATTR_UNUSED RPC_WSTR NetworkAddr,
142 WINPR_ATTR_UNUSED RPC_WSTR Endpoint,
143 WINPR_ATTR_UNUSED RPC_WSTR Options,
144 WINPR_ATTR_UNUSED RPC_WSTR* StringBinding)
146 WLog_ERR(TAG,
"Not implemented");
150RPC_STATUS RpcStringBindingParseA(WINPR_ATTR_UNUSED RPC_CSTR StringBinding,
151 WINPR_ATTR_UNUSED RPC_CSTR* ObjUuid,
152 WINPR_ATTR_UNUSED RPC_CSTR* Protseq,
153 WINPR_ATTR_UNUSED RPC_CSTR* NetworkAddr,
154 WINPR_ATTR_UNUSED RPC_CSTR* Endpoint,
155 WINPR_ATTR_UNUSED RPC_CSTR* NetworkOptions)
157 WLog_ERR(TAG,
"Not implemented");
161RPC_STATUS RpcStringBindingParseW(WINPR_ATTR_UNUSED RPC_WSTR StringBinding,
162 WINPR_ATTR_UNUSED RPC_WSTR* ObjUuid,
163 WINPR_ATTR_UNUSED RPC_WSTR* Protseq,
164 WINPR_ATTR_UNUSED RPC_WSTR* NetworkAddr,
165 WINPR_ATTR_UNUSED RPC_WSTR* Endpoint,
166 WINPR_ATTR_UNUSED RPC_WSTR* NetworkOptions)
168 WLog_ERR(TAG,
"Not implemented");
172RPC_STATUS RpcStringFreeA(RPC_CSTR* String)
180RPC_STATUS RpcStringFreeW(RPC_WSTR* String)
188RPC_STATUS RpcIfInqId(WINPR_ATTR_UNUSED RPC_IF_HANDLE RpcIfHandle,
191 WLog_ERR(TAG,
"Not implemented");
195RPC_STATUS RpcNetworkIsProtseqValidA(WINPR_ATTR_UNUSED RPC_CSTR Protseq)
197 WLog_ERR(TAG,
"Not implemented");
201RPC_STATUS RpcNetworkIsProtseqValidW(WINPR_ATTR_UNUSED RPC_WSTR Protseq)
203 WLog_ERR(TAG,
"Not implemented");
207RPC_STATUS RpcMgmtInqComTimeout(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
208 WINPR_ATTR_UNUSED
unsigned int* Timeout)
210 WLog_ERR(TAG,
"Not implemented");
214RPC_STATUS RpcMgmtSetComTimeout(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
215 WINPR_ATTR_UNUSED
unsigned int Timeout)
217 WLog_ERR(TAG,
"Not implemented");
221RPC_STATUS RpcMgmtSetCancelTimeout(WINPR_ATTR_UNUSED
long Timeout)
223 WLog_ERR(TAG,
"Not implemented");
229 WLog_ERR(TAG,
"Not implemented");
235 WLog_ERR(TAG,
"Not implemented");
239RPC_STATUS RpcObjectInqType(WINPR_ATTR_UNUSED
UUID* ObjUuid, WINPR_ATTR_UNUSED
UUID* TypeUuid)
241 WLog_ERR(TAG,
"Not implemented");
245RPC_STATUS RpcObjectSetInqFn(WINPR_ATTR_UNUSED RPC_OBJECT_INQ_FN* InquiryFn)
247 WLog_ERR(TAG,
"Not implemented");
251RPC_STATUS RpcObjectSetType(WINPR_ATTR_UNUSED
UUID* ObjUuid, WINPR_ATTR_UNUSED
UUID* TypeUuid)
253 WLog_ERR(TAG,
"Not implemented");
259 WLog_ERR(TAG,
"Not implemented");
265 WLog_ERR(TAG,
"Not implemented");
271 WLog_ERR(TAG,
"Not implemented");
275RPC_STATUS RpcServerInqIf(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
276 WINPR_ATTR_UNUSED
UUID* MgrTypeUuid,
277 WINPR_ATTR_UNUSED RPC_MGR_EPV** MgrEpv)
279 WLog_ERR(TAG,
"Not implemented");
283RPC_STATUS RpcServerListen(WINPR_ATTR_UNUSED
unsigned int MinimumCallThreads,
284 WINPR_ATTR_UNUSED
unsigned int MaxCalls,
285 WINPR_ATTR_UNUSED
unsigned int DontWait)
287 WLog_ERR(TAG,
"Not implemented");
291RPC_STATUS RpcServerRegisterIf(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
292 WINPR_ATTR_UNUSED
UUID* MgrTypeUuid,
293 WINPR_ATTR_UNUSED RPC_MGR_EPV* MgrEpv)
295 WLog_ERR(TAG,
"Not implemented");
299RPC_STATUS RpcServerRegisterIfEx(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
300 WINPR_ATTR_UNUSED
UUID* MgrTypeUuid,
301 WINPR_ATTR_UNUSED RPC_MGR_EPV* MgrEpv,
302 WINPR_ATTR_UNUSED
unsigned int Flags,
303 WINPR_ATTR_UNUSED
unsigned int MaxCalls,
304 WINPR_ATTR_UNUSED RPC_IF_CALLBACK_FN* IfCallback)
306 WLog_ERR(TAG,
"Not implemented");
310RPC_STATUS RpcServerRegisterIf2(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
311 WINPR_ATTR_UNUSED
UUID* MgrTypeUuid,
312 WINPR_ATTR_UNUSED RPC_MGR_EPV* MgrEpv,
313 WINPR_ATTR_UNUSED
unsigned int Flags,
314 WINPR_ATTR_UNUSED
unsigned int MaxCalls,
315 WINPR_ATTR_UNUSED
unsigned int MaxRpcSize,
316 WINPR_ATTR_UNUSED RPC_IF_CALLBACK_FN* IfCallbackFn)
318 WLog_ERR(TAG,
"Not implemented");
322RPC_STATUS RpcServerUnregisterIf(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
323 WINPR_ATTR_UNUSED
UUID* MgrTypeUuid,
324 WINPR_ATTR_UNUSED
unsigned int WaitForCallsToComplete)
326 WLog_ERR(TAG,
"Not implemented");
330RPC_STATUS RpcServerUnregisterIfEx(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
331 WINPR_ATTR_UNUSED
UUID* MgrTypeUuid,
332 WINPR_ATTR_UNUSED
int RundownContextHandles)
334 WLog_ERR(TAG,
"Not implemented");
338RPC_STATUS RpcServerUseAllProtseqs(WINPR_ATTR_UNUSED
unsigned int MaxCalls,
339 WINPR_ATTR_UNUSED
void* SecurityDescriptor)
341 WLog_ERR(TAG,
"Not implemented");
345RPC_STATUS RpcServerUseAllProtseqsEx(WINPR_ATTR_UNUSED
unsigned int MaxCalls,
346 WINPR_ATTR_UNUSED
void* SecurityDescriptor,
349 WLog_ERR(TAG,
"Not implemented");
353RPC_STATUS RpcServerUseAllProtseqsIf(WINPR_ATTR_UNUSED
unsigned int MaxCalls,
354 WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
355 WINPR_ATTR_UNUSED
void* SecurityDescriptor)
357 WLog_ERR(TAG,
"Not implemented");
361RPC_STATUS RpcServerUseAllProtseqsIfEx(WINPR_ATTR_UNUSED
unsigned int MaxCalls,
362 WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
363 WINPR_ATTR_UNUSED
void* SecurityDescriptor,
366 WLog_ERR(TAG,
"Not implemented");
370RPC_STATUS RpcServerUseProtseqA(WINPR_ATTR_UNUSED RPC_CSTR Protseq,
371 WINPR_ATTR_UNUSED
unsigned int MaxCalls,
372 WINPR_ATTR_UNUSED
void* SecurityDescriptor)
374 WLog_ERR(TAG,
"Not implemented");
378RPC_STATUS RpcServerUseProtseqExA(WINPR_ATTR_UNUSED RPC_CSTR Protseq,
379 WINPR_ATTR_UNUSED
unsigned int MaxCalls,
380 WINPR_ATTR_UNUSED
void* SecurityDescriptor,
383 WLog_ERR(TAG,
"Not implemented");
387RPC_STATUS RpcServerUseProtseqW(WINPR_ATTR_UNUSED RPC_WSTR Protseq,
388 WINPR_ATTR_UNUSED
unsigned int MaxCalls,
389 WINPR_ATTR_UNUSED
void* SecurityDescriptor)
391 WLog_ERR(TAG,
"Not implemented");
395RPC_STATUS RpcServerUseProtseqExW(WINPR_ATTR_UNUSED RPC_WSTR Protseq,
396 WINPR_ATTR_UNUSED
unsigned int MaxCalls,
397 WINPR_ATTR_UNUSED
void* SecurityDescriptor,
400 WLog_ERR(TAG,
"Not implemented");
404RPC_STATUS RpcServerUseProtseqEpA(WINPR_ATTR_UNUSED RPC_CSTR Protseq,
405 WINPR_ATTR_UNUSED
unsigned int MaxCalls,
406 WINPR_ATTR_UNUSED RPC_CSTR Endpoint,
407 WINPR_ATTR_UNUSED
void* SecurityDescriptor)
409 WLog_ERR(TAG,
"Not implemented");
413RPC_STATUS RpcServerUseProtseqEpExA(WINPR_ATTR_UNUSED RPC_CSTR Protseq,
414 WINPR_ATTR_UNUSED
unsigned int MaxCalls,
415 WINPR_ATTR_UNUSED RPC_CSTR Endpoint,
416 WINPR_ATTR_UNUSED
void* SecurityDescriptor,
419 WLog_ERR(TAG,
"Not implemented");
423RPC_STATUS RpcServerUseProtseqEpW(WINPR_ATTR_UNUSED RPC_WSTR Protseq,
424 WINPR_ATTR_UNUSED
unsigned int MaxCalls,
425 WINPR_ATTR_UNUSED RPC_WSTR Endpoint,
426 WINPR_ATTR_UNUSED
void* SecurityDescriptor)
428 WLog_ERR(TAG,
"Not implemented");
432RPC_STATUS RpcServerUseProtseqEpExW(WINPR_ATTR_UNUSED RPC_WSTR Protseq,
433 WINPR_ATTR_UNUSED
unsigned int MaxCalls,
434 WINPR_ATTR_UNUSED RPC_WSTR Endpoint,
435 WINPR_ATTR_UNUSED
void* SecurityDescriptor,
438 WLog_ERR(TAG,
"Not implemented");
442RPC_STATUS RpcServerUseProtseqIfA(WINPR_ATTR_UNUSED RPC_CSTR Protseq,
443 WINPR_ATTR_UNUSED
unsigned int MaxCalls,
444 WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
445 WINPR_ATTR_UNUSED
void* SecurityDescriptor)
447 WLog_ERR(TAG,
"Not implemented");
451RPC_STATUS RpcServerUseProtseqIfExA(WINPR_ATTR_UNUSED RPC_CSTR Protseq,
452 WINPR_ATTR_UNUSED
unsigned int MaxCalls,
453 WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
454 WINPR_ATTR_UNUSED
void* SecurityDescriptor,
457 WLog_ERR(TAG,
"Not implemented");
461RPC_STATUS RpcServerUseProtseqIfW(WINPR_ATTR_UNUSED RPC_WSTR Protseq,
462 WINPR_ATTR_UNUSED
unsigned int MaxCalls,
463 WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
464 WINPR_ATTR_UNUSED
void* SecurityDescriptor)
466 WLog_ERR(TAG,
"Not implemented");
470RPC_STATUS RpcServerUseProtseqIfExW(WINPR_ATTR_UNUSED RPC_WSTR Protseq,
471 WINPR_ATTR_UNUSED
unsigned int MaxCalls,
472 WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
473 WINPR_ATTR_UNUSED
void* SecurityDescriptor,
476 WLog_ERR(TAG,
"Not implemented");
480void RpcServerYield(
void)
482 WLog_ERR(TAG,
"Not implemented");
485RPC_STATUS RpcMgmtStatsVectorFree(WINPR_ATTR_UNUSED
RPC_STATS_VECTOR** StatsVector)
487 WLog_ERR(TAG,
"Not implemented");
491RPC_STATUS RpcMgmtInqStats(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
494 WLog_ERR(TAG,
"Not implemented");
498RPC_STATUS RpcMgmtIsServerListening(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding)
500 WLog_ERR(TAG,
"Not implemented");
504RPC_STATUS RpcMgmtStopServerListening(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding)
506 WLog_ERR(TAG,
"Not implemented");
510RPC_STATUS RpcMgmtWaitServerListen(
void)
512 WLog_ERR(TAG,
"Not implemented");
516RPC_STATUS RpcMgmtSetServerStackSize(WINPR_ATTR_UNUSED
unsigned long ThreadStackSize)
518 WLog_ERR(TAG,
"Not implemented");
522void RpcSsDontSerializeContext(
void)
524 WLog_ERR(TAG,
"Not implemented");
527RPC_STATUS RpcMgmtEnableIdleCleanup(
void)
529 WLog_ERR(TAG,
"Not implemented");
533RPC_STATUS RpcMgmtInqIfIds(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
536 WLog_ERR(TAG,
"Not implemented");
540RPC_STATUS RpcIfIdVectorFree(WINPR_ATTR_UNUSED
RPC_IF_ID_VECTOR** IfIdVector)
542 WLog_ERR(TAG,
"Not implemented");
546RPC_STATUS RpcMgmtInqServerPrincNameA(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
547 WINPR_ATTR_UNUSED
unsigned long AuthnSvc,
548 WINPR_ATTR_UNUSED RPC_CSTR* ServerPrincName)
550 WLog_ERR(TAG,
"Not implemented");
554RPC_STATUS RpcMgmtInqServerPrincNameW(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
555 WINPR_ATTR_UNUSED
unsigned long AuthnSvc,
556 WINPR_ATTR_UNUSED RPC_WSTR* ServerPrincName)
558 WLog_ERR(TAG,
"Not implemented");
562RPC_STATUS RpcServerInqDefaultPrincNameA(WINPR_ATTR_UNUSED
unsigned long AuthnSvc,
563 WINPR_ATTR_UNUSED RPC_CSTR* PrincName)
565 WLog_ERR(TAG,
"Not implemented");
569RPC_STATUS RpcServerInqDefaultPrincNameW(WINPR_ATTR_UNUSED
unsigned long AuthnSvc,
570 WINPR_ATTR_UNUSED RPC_WSTR* PrincName)
572 WLog_ERR(TAG,
"Not implemented");
576RPC_STATUS RpcEpResolveBinding(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
577 WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec)
579 WLog_ERR(TAG,
"Not implemented");
583RPC_STATUS RpcNsBindingInqEntryNameA(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
584 WINPR_ATTR_UNUSED
unsigned long EntryNameSyntax,
585 WINPR_ATTR_UNUSED RPC_CSTR* EntryName)
587 WLog_ERR(TAG,
"Not implemented");
591RPC_STATUS RpcNsBindingInqEntryNameW(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
592 WINPR_ATTR_UNUSED
unsigned long EntryNameSyntax,
593 WINPR_ATTR_UNUSED RPC_WSTR* EntryName)
595 WLog_ERR(TAG,
"Not implemented");
599RPC_STATUS RpcImpersonateClient(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE BindingHandle)
601 WLog_ERR(TAG,
"Not implemented");
605RPC_STATUS RpcRevertToSelfEx(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE BindingHandle)
607 WLog_ERR(TAG,
"Not implemented");
611RPC_STATUS RpcRevertToSelf(
void)
613 WLog_ERR(TAG,
"Not implemented");
617RPC_STATUS RpcBindingInqAuthClientA(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE ClientBinding,
618 WINPR_ATTR_UNUSED RPC_AUTHZ_HANDLE* Privs,
619 WINPR_ATTR_UNUSED RPC_CSTR* ServerPrincName,
620 WINPR_ATTR_UNUSED
unsigned long* AuthnLevel,
621 WINPR_ATTR_UNUSED
unsigned long* AuthnSvc,
622 WINPR_ATTR_UNUSED
unsigned long* AuthzSvc)
624 WLog_ERR(TAG,
"Not implemented");
628RPC_STATUS RpcBindingInqAuthClientW(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE ClientBinding,
629 WINPR_ATTR_UNUSED RPC_AUTHZ_HANDLE* Privs,
630 WINPR_ATTR_UNUSED RPC_WSTR* ServerPrincName,
631 WINPR_ATTR_UNUSED
unsigned long* AuthnLevel,
632 WINPR_ATTR_UNUSED
unsigned long* AuthnSvc,
633 WINPR_ATTR_UNUSED
unsigned long* AuthzSvc)
635 WLog_ERR(TAG,
"Not implemented");
639RPC_STATUS RpcBindingInqAuthClientExA(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE ClientBinding,
640 WINPR_ATTR_UNUSED RPC_AUTHZ_HANDLE* Privs,
641 WINPR_ATTR_UNUSED RPC_CSTR* ServerPrincName,
642 WINPR_ATTR_UNUSED
unsigned long* AuthnLevel,
643 WINPR_ATTR_UNUSED
unsigned long* AuthnSvc,
644 WINPR_ATTR_UNUSED
unsigned long* AuthzSvc,
645 WINPR_ATTR_UNUSED
unsigned long Flags)
647 WLog_ERR(TAG,
"Not implemented");
651RPC_STATUS RpcBindingInqAuthClientExW(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE ClientBinding,
652 WINPR_ATTR_UNUSED RPC_AUTHZ_HANDLE* Privs,
653 WINPR_ATTR_UNUSED RPC_WSTR* ServerPrincName,
654 WINPR_ATTR_UNUSED
unsigned long* AuthnLevel,
655 WINPR_ATTR_UNUSED
unsigned long* AuthnSvc,
656 WINPR_ATTR_UNUSED
unsigned long* AuthzSvc,
657 WINPR_ATTR_UNUSED
unsigned long Flags)
659 WLog_ERR(TAG,
"Not implemented");
663RPC_STATUS RpcBindingInqAuthInfoA(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
664 WINPR_ATTR_UNUSED RPC_CSTR* ServerPrincName,
665 WINPR_ATTR_UNUSED
unsigned long* AuthnLevel,
666 WINPR_ATTR_UNUSED
unsigned long* AuthnSvc,
667 WINPR_ATTR_UNUSED RPC_AUTH_IDENTITY_HANDLE* AuthIdentity,
668 WINPR_ATTR_UNUSED
unsigned long* AuthzSvc)
670 WLog_ERR(TAG,
"Not implemented");
674RPC_STATUS RpcBindingInqAuthInfoW(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
675 WINPR_ATTR_UNUSED RPC_WSTR* ServerPrincName,
676 WINPR_ATTR_UNUSED
unsigned long* AuthnLevel,
677 WINPR_ATTR_UNUSED
unsigned long* AuthnSvc,
678 WINPR_ATTR_UNUSED RPC_AUTH_IDENTITY_HANDLE* AuthIdentity,
679 WINPR_ATTR_UNUSED
unsigned long* AuthzSvc)
681 WLog_ERR(TAG,
"Not implemented");
685RPC_STATUS RpcBindingSetAuthInfoA(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
686 WINPR_ATTR_UNUSED RPC_CSTR ServerPrincName,
687 WINPR_ATTR_UNUSED
unsigned long AuthnLevel,
688 WINPR_ATTR_UNUSED
unsigned long AuthnSvc,
689 WINPR_ATTR_UNUSED RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
690 WINPR_ATTR_UNUSED
unsigned long AuthzSvc)
692 WLog_ERR(TAG,
"Not implemented");
696RPC_STATUS RpcBindingSetAuthInfoExA(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
697 WINPR_ATTR_UNUSED RPC_CSTR ServerPrincName,
698 WINPR_ATTR_UNUSED
unsigned long AuthnLevel,
699 WINPR_ATTR_UNUSED
unsigned long AuthnSvc,
700 WINPR_ATTR_UNUSED RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
701 WINPR_ATTR_UNUSED
unsigned long AuthzSvc,
704 WLog_ERR(TAG,
"Not implemented");
708RPC_STATUS RpcBindingSetAuthInfoW(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
709 WINPR_ATTR_UNUSED RPC_WSTR ServerPrincName,
710 WINPR_ATTR_UNUSED
unsigned long AuthnLevel,
711 WINPR_ATTR_UNUSED
unsigned long AuthnSvc,
712 WINPR_ATTR_UNUSED RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
713 WINPR_ATTR_UNUSED
unsigned long AuthzSvc)
715 WLog_ERR(TAG,
"Not implemented");
719RPC_STATUS RpcBindingSetAuthInfoExW(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
720 WINPR_ATTR_UNUSED RPC_WSTR ServerPrincName,
721 WINPR_ATTR_UNUSED
unsigned long AuthnLevel,
722 WINPR_ATTR_UNUSED
unsigned long AuthnSvc,
723 WINPR_ATTR_UNUSED RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
724 WINPR_ATTR_UNUSED
unsigned long AuthzSvc,
727 WLog_ERR(TAG,
"Not implemented");
731RPC_STATUS RpcBindingInqAuthInfoExA(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
732 WINPR_ATTR_UNUSED RPC_CSTR* ServerPrincName,
733 WINPR_ATTR_UNUSED
unsigned long* AuthnLevel,
734 WINPR_ATTR_UNUSED
unsigned long* AuthnSvc,
735 WINPR_ATTR_UNUSED RPC_AUTH_IDENTITY_HANDLE* AuthIdentity,
736 WINPR_ATTR_UNUSED
unsigned long* AuthzSvc,
737 WINPR_ATTR_UNUSED
unsigned long RpcQosVersion,
740 WLog_ERR(TAG,
"Not implemented");
744RPC_STATUS RpcBindingInqAuthInfoExW(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
745 WINPR_ATTR_UNUSED RPC_WSTR* ServerPrincName,
746 WINPR_ATTR_UNUSED
unsigned long* AuthnLevel,
747 WINPR_ATTR_UNUSED
unsigned long* AuthnSvc,
748 WINPR_ATTR_UNUSED RPC_AUTH_IDENTITY_HANDLE* AuthIdentity,
749 WINPR_ATTR_UNUSED
unsigned long* AuthzSvc,
750 WINPR_ATTR_UNUSED
unsigned long RpcQosVersion,
753 WLog_ERR(TAG,
"Not implemented");
757RPC_STATUS RpcServerRegisterAuthInfoA(WINPR_ATTR_UNUSED RPC_CSTR ServerPrincName,
758 WINPR_ATTR_UNUSED
unsigned long AuthnSvc,
759 WINPR_ATTR_UNUSED RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
760 WINPR_ATTR_UNUSED
void* Arg)
762 WLog_ERR(TAG,
"Not implemented");
766RPC_STATUS RpcServerRegisterAuthInfoW(WINPR_ATTR_UNUSED RPC_WSTR ServerPrincName,
767 WINPR_ATTR_UNUSED
unsigned long AuthnSvc,
768 WINPR_ATTR_UNUSED RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
769 WINPR_ATTR_UNUSED
void* Arg)
771 WLog_ERR(TAG,
"Not implemented");
775RPC_STATUS RpcBindingServerFromClient(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE ClientBinding,
776 WINPR_ATTR_UNUSED RPC_BINDING_HANDLE* ServerBinding)
778 WLog_ERR(TAG,
"Not implemented");
782void RpcRaiseException(RPC_STATUS exception)
784 WLog_ERR(TAG,
"RpcRaiseException: 0x%08lx", WINPR_CXX_COMPAT_CAST(
unsigned long, exception));
786 exit((
int)exception);
789RPC_STATUS RpcTestCancel(
void)
791 WLog_ERR(TAG,
"Not implemented");
795RPC_STATUS RpcServerTestCancel(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE BindingHandle)
797 WLog_ERR(TAG,
"Not implemented");
801RPC_STATUS RpcCancelThread(WINPR_ATTR_UNUSED
void* Thread)
803 WLog_ERR(TAG,
"Not implemented");
807RPC_STATUS RpcCancelThreadEx(WINPR_ATTR_UNUSED
void* Thread, WINPR_ATTR_UNUSED
long Timeout)
809 WLog_ERR(TAG,
"Not implemented");
817static UUID UUID_NIL = {
818 0x00000000, 0x0000, 0x0000, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
821RPC_STATUS UuidCreate(
UUID* Uuid)
823 if (winpr_RAND_pseudo(Uuid, 16) < 0)
824 return RPC_S_OUT_OF_MEMORY;
828RPC_STATUS UuidCreateSequential(
UUID* Uuid)
830 if (winpr_RAND_pseudo(Uuid, 16) < 0)
831 return RPC_S_OUT_OF_MEMORY;
835RPC_STATUS UuidToStringA(
const UUID* Uuid, RPC_CSTR* StringUuid)
837 *StringUuid = (RPC_CSTR)malloc(36 + 1);
840 return RPC_S_OUT_OF_MEMORY;
849 (void)sprintf_s((
char*)*StringUuid, 36 + 1,
"%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
850 Uuid->Data1, Uuid->Data2, Uuid->Data3, Uuid->Data4[0], Uuid->Data4[1],
851 Uuid->Data4[2], Uuid->Data4[3], Uuid->Data4[4], Uuid->Data4[5], Uuid->Data4[6],
856RPC_STATUS UuidToStringW(WINPR_ATTR_UNUSED
const UUID* Uuid, WINPR_ATTR_UNUSED RPC_WSTR* StringUuid)
858 WLog_ERR(TAG,
"Not implemented");
862RPC_STATUS UuidFromStringA(RPC_CSTR StringUuid,
UUID* Uuid)
864 BYTE bin[36] = WINPR_C_ARRAY_INIT;
867 return UuidCreateNil(Uuid);
869 const size_t slen = 2 *
sizeof(
UUID) + 4;
870 if (strnlen(StringUuid, slen) != slen)
871 return RPC_S_INVALID_STRING_UUID;
873 if ((StringUuid[8] !=
'-') || (StringUuid[13] !=
'-') || (StringUuid[18] !=
'-') ||
874 (StringUuid[23] !=
'-'))
876 return RPC_S_INVALID_STRING_UUID;
879 for (
size_t index = 0; index < 36; index++)
881 if ((index == 8) || (index == 13) || (index == 18) || (index == 23))
884 if ((StringUuid[index] >=
'0') && (StringUuid[index] <=
'9'))
885 bin[index] = (StringUuid[index] -
'0') & 0xFF;
886 else if ((StringUuid[index] >=
'a') && (StringUuid[index] <=
'f'))
887 bin[index] = (StringUuid[index] -
'a' + 10) & 0xFF;
888 else if ((StringUuid[index] >=
'A') && (StringUuid[index] <=
'F'))
889 bin[index] = (StringUuid[index] -
'A' + 10) & 0xFF;
891 return RPC_S_INVALID_STRING_UUID;
894 Uuid->Data1 = (UINT32)((bin[0] << 28) | (bin[1] << 24) | (bin[2] << 20) | (bin[3] << 16) |
895 (bin[4] << 12) | (bin[5] << 8) | (bin[6] << 4) | bin[7]);
896 Uuid->Data2 = (UINT16)((bin[9] << 12) | (bin[10] << 8) | (bin[11] << 4) | bin[12]);
897 Uuid->Data3 = (UINT16)((bin[14] << 12) | (bin[15] << 8) | (bin[16] << 4) | bin[17]);
898 Uuid->Data4[0] = (UINT8)((bin[19] << 4) | bin[20]);
899 Uuid->Data4[1] = (UINT8)((bin[21] << 4) | bin[22]);
900 Uuid->Data4[2] = (UINT8)((bin[24] << 4) | bin[25]);
901 Uuid->Data4[3] = (UINT8)((bin[26] << 4) | bin[27]);
902 Uuid->Data4[4] = (UINT8)((bin[28] << 4) | bin[29]);
903 Uuid->Data4[5] = (UINT8)((bin[30] << 4) | bin[31]);
904 Uuid->Data4[6] = (UINT8)((bin[32] << 4) | bin[33]);
905 Uuid->Data4[7] = (UINT8)((bin[34] << 4) | bin[35]);
909RPC_STATUS UuidFromStringW(WINPR_ATTR_UNUSED RPC_WSTR StringUuid, WINPR_ATTR_UNUSED
UUID* Uuid)
911 WLog_ERR(TAG,
"Not implemented");
915signed int UuidCompare(
const UUID* Uuid1,
const UUID* Uuid2, RPC_STATUS* Status)
925 if (Uuid1->Data1 != Uuid2->Data1)
926 return (Uuid1->Data1 < Uuid2->Data1) ? -1 : 1;
928 if (Uuid1->Data2 != Uuid2->Data2)
929 return (Uuid1->Data2 < Uuid2->Data2) ? -1 : 1;
931 if (Uuid1->Data3 != Uuid2->Data3)
932 return (Uuid1->Data3 < Uuid2->Data3) ? -1 : 1;
934 for (
int index = 0; index < 8; index++)
936 if (Uuid1->Data4[index] != Uuid2->Data4[index])
937 return (Uuid1->Data4[index] < Uuid2->Data4[index]) ? -1 : 1;
943RPC_STATUS UuidCreateNil(
UUID* NilUuid)
945 CopyMemory((
void*)NilUuid, (
void*)&UUID_NIL, 16);
949int UuidEqual(
const UUID* Uuid1,
const UUID* Uuid2, RPC_STATUS* Status)
951 return UuidCompare(Uuid1, Uuid2, Status) == 0;
954unsigned short UuidHash(WINPR_ATTR_UNUSED
const UUID* Uuid, WINPR_ATTR_UNUSED RPC_STATUS* Status)
956 WLog_ERR(TAG,
"Not implemented");
960int UuidIsNil(
const UUID* Uuid, RPC_STATUS* Status)
962 return UuidEqual(Uuid, &UUID_NIL, Status);
965RPC_STATUS RpcEpRegisterNoReplaceA(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
968 WINPR_ATTR_UNUSED RPC_CSTR Annotation)
970 WLog_ERR(TAG,
"Not implemented");
974RPC_STATUS RpcEpRegisterNoReplaceW(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
977 WINPR_ATTR_UNUSED RPC_WSTR Annotation)
979 WLog_ERR(TAG,
"Not implemented");
983RPC_STATUS RpcEpRegisterA(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
986 WINPR_ATTR_UNUSED RPC_CSTR Annotation)
988 WLog_ERR(TAG,
"Not implemented");
992RPC_STATUS RpcEpRegisterW(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
995 WINPR_ATTR_UNUSED RPC_WSTR Annotation)
997 WLog_ERR(TAG,
"Not implemented");
1001RPC_STATUS RpcEpUnregister(WINPR_ATTR_UNUSED RPC_IF_HANDLE IfSpec,
1005 WLog_ERR(TAG,
"Not implemented");
1009RPC_STATUS DceErrorInqTextA(WINPR_ATTR_UNUSED RPC_STATUS RpcStatus,
1010 WINPR_ATTR_UNUSED RPC_CSTR ErrorText)
1012 WLog_ERR(TAG,
"Not implemented");
1016RPC_STATUS DceErrorInqTextW(WINPR_ATTR_UNUSED RPC_STATUS RpcStatus,
1017 WINPR_ATTR_UNUSED RPC_WSTR ErrorText)
1019 WLog_ERR(TAG,
"Not implemented");
1023RPC_STATUS RpcMgmtEpEltInqBegin(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE EpBinding,
1024 WINPR_ATTR_UNUSED
unsigned long InquiryType,
1026 WINPR_ATTR_UNUSED
unsigned long VersOption,
1027 WINPR_ATTR_UNUSED
UUID* ObjectUuid,
1028 WINPR_ATTR_UNUSED RPC_EP_INQ_HANDLE* InquiryContext)
1030 WLog_ERR(TAG,
"Not implemented");
1034RPC_STATUS RpcMgmtEpEltInqDone(WINPR_ATTR_UNUSED RPC_EP_INQ_HANDLE* InquiryContext)
1036 WLog_ERR(TAG,
"Not implemented");
1040RPC_STATUS RpcMgmtEpEltInqNextA(WINPR_ATTR_UNUSED RPC_EP_INQ_HANDLE InquiryContext,
1042 WINPR_ATTR_UNUSED RPC_BINDING_HANDLE* Binding,
1043 WINPR_ATTR_UNUSED
UUID* ObjectUuid,
1044 WINPR_ATTR_UNUSED RPC_CSTR* Annotation)
1046 WLog_ERR(TAG,
"Not implemented");
1050RPC_STATUS RpcMgmtEpEltInqNextW(WINPR_ATTR_UNUSED RPC_EP_INQ_HANDLE InquiryContext,
1052 WINPR_ATTR_UNUSED RPC_BINDING_HANDLE* Binding,
1053 WINPR_ATTR_UNUSED
UUID* ObjectUuid,
1054 WINPR_ATTR_UNUSED RPC_WSTR* Annotation)
1056 WLog_ERR(TAG,
"Not implemented");
1060RPC_STATUS RpcMgmtEpUnregister(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE EpBinding,
1062 WINPR_ATTR_UNUSED RPC_BINDING_HANDLE Binding,
1063 WINPR_ATTR_UNUSED
UUID* ObjectUuid)
1065 WLog_ERR(TAG,
"Not implemented");
1069RPC_STATUS RpcMgmtSetAuthorizationFn(WINPR_ATTR_UNUSED RPC_MGMT_AUTHORIZATION_FN AuthorizationFn)
1071 WLog_ERR(TAG,
"Not implemented");
1075RPC_STATUS RpcServerInqBindingHandle(WINPR_ATTR_UNUSED RPC_BINDING_HANDLE* Binding)
1077 WLog_ERR(TAG,
"Not implemented");