Blame winpr/libwinpr/rpc/rpc.c

Packit 1fb8d4
/**
Packit 1fb8d4
 * WinPR: Windows Portable Runtime
Packit 1fb8d4
 * Microsoft Remote Procedure Call (MSRPC)
Packit 1fb8d4
 *
Packit 1fb8d4
 * Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
Packit 1fb8d4
 *
Packit 1fb8d4
 * Licensed under the Apache License, Version 2.0 (the "License");
Packit 1fb8d4
 * you may not use this file except in compliance with the License.
Packit 1fb8d4
 * You may obtain a copy of the License at
Packit 1fb8d4
 *
Packit 1fb8d4
 *     http://www.apache.org/licenses/LICENSE-2.0
Packit 1fb8d4
 *
Packit 1fb8d4
 * Unless required by applicable law or agreed to in writing, software
Packit 1fb8d4
 * distributed under the License is distributed on an "AS IS" BASIS,
Packit 1fb8d4
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Packit 1fb8d4
 * See the License for the specific language governing permissions and
Packit 1fb8d4
 * limitations under the License.
Packit 1fb8d4
 */
Packit 1fb8d4
Packit 1fb8d4
#ifdef HAVE_CONFIG_H
Packit 1fb8d4
#include "config.h"
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
#include <winpr/crt.h>
Packit 1fb8d4
#include <winpr/rpc.h>
Packit 1fb8d4
#include <winpr/crypto.h>
Packit 1fb8d4
Packit 1fb8d4
#if !defined(_WIN32) || defined(_UWP)
Packit 1fb8d4
Packit 1fb8d4
#include "../log.h"
Packit 1fb8d4
#define TAG WINPR_TAG("rpc")
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcBindingCopy(RPC_BINDING_HANDLE SourceBinding, RPC_BINDING_HANDLE* DestinationBinding)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcBindingFree(RPC_BINDING_HANDLE* Binding)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcBindingSetOption(RPC_BINDING_HANDLE hBinding, unsigned long option,
Packit Service 5a9772
                               ULONG_PTR optionValue)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcBindingInqOption(RPC_BINDING_HANDLE hBinding, unsigned long option,
Packit Service 5a9772
                               ULONG_PTR* pOptionValue)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcBindingFromStringBindingA(RPC_CSTR StringBinding, RPC_BINDING_HANDLE* Binding)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcBindingFromStringBindingW(RPC_WSTR StringBinding, RPC_BINDING_HANDLE* Binding)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcSsGetContextBinding(void* ContextHandle, RPC_BINDING_HANDLE* Binding)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcBindingInqObject(RPC_BINDING_HANDLE Binding, UUID* ObjectUuid)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcBindingReset(RPC_BINDING_HANDLE Binding)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcBindingSetObject(RPC_BINDING_HANDLE Binding, UUID* ObjectUuid)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcMgmtInqDefaultProtectLevel(unsigned long AuthnSvc, unsigned long* AuthnLevel)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcBindingToStringBindingA(RPC_BINDING_HANDLE Binding, RPC_CSTR* StringBinding)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcBindingToStringBindingW(RPC_BINDING_HANDLE Binding, RPC_WSTR* StringBinding)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcBindingVectorFree(RPC_BINDING_VECTOR** BindingVector)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcStringBindingComposeA(RPC_CSTR ObjUuid, RPC_CSTR Protseq, RPC_CSTR NetworkAddr,
Packit 1fb8d4
                                    RPC_CSTR Endpoint, RPC_CSTR Options, RPC_CSTR* StringBinding)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcStringBindingComposeW(RPC_WSTR ObjUuid, RPC_WSTR Protseq, RPC_WSTR NetworkAddr,
Packit 1fb8d4
                                    RPC_WSTR Endpoint, RPC_WSTR Options, RPC_WSTR* StringBinding)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcStringBindingParseA(RPC_CSTR StringBinding, RPC_CSTR* ObjUuid, RPC_CSTR* Protseq,
Packit Service 5a9772
                                  RPC_CSTR* NetworkAddr, RPC_CSTR* Endpoint,
Packit Service 5a9772
                                  RPC_CSTR* NetworkOptions)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcStringBindingParseW(RPC_WSTR StringBinding, RPC_WSTR* ObjUuid, RPC_WSTR* Protseq,
Packit Service 5a9772
                                  RPC_WSTR* NetworkAddr, RPC_WSTR* Endpoint,
Packit Service 5a9772
                                  RPC_WSTR* NetworkOptions)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcStringFreeA(RPC_CSTR* String)
Packit 1fb8d4
{
Packit 1fb8d4
	if (String)
Packit 1fb8d4
		free(*String);
Packit 1fb8d4
Packit 1fb8d4
	return RPC_S_OK;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcStringFreeW(RPC_WSTR* String)
Packit 1fb8d4
{
Packit 1fb8d4
	if (String)
Packit 1fb8d4
		free(*String);
Packit 1fb8d4
Packit 1fb8d4
	return RPC_S_OK;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcIfInqId(RPC_IF_HANDLE RpcIfHandle, RPC_IF_ID* RpcIfId)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcNetworkIsProtseqValidA(RPC_CSTR Protseq)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcNetworkIsProtseqValidW(RPC_WSTR Protseq)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcMgmtInqComTimeout(RPC_BINDING_HANDLE Binding, unsigned int* Timeout)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcMgmtSetComTimeout(RPC_BINDING_HANDLE Binding, unsigned int Timeout)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcMgmtSetCancelTimeout(long Timeout)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcNetworkInqProtseqsA(RPC_PROTSEQ_VECTORA** ProtseqVector)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcNetworkInqProtseqsW(RPC_PROTSEQ_VECTORW** ProtseqVector)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcObjectInqType(UUID* ObjUuid, UUID* TypeUuid)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcObjectSetInqFn(RPC_OBJECT_INQ_FN* InquiryFn)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcObjectSetType(UUID* ObjUuid, UUID* TypeUuid)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcProtseqVectorFreeA(RPC_PROTSEQ_VECTORA** ProtseqVector)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcProtseqVectorFreeW(RPC_PROTSEQ_VECTORW** ProtseqVector)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcServerInqBindings(RPC_BINDING_VECTOR** BindingVector)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerInqIf(RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV** MgrEpv)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerListen(unsigned int MinimumCallThreads, unsigned int MaxCalls,
Packit Service 5a9772
                           unsigned int DontWait)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerRegisterIf(RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerRegisterIfEx(RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv,
Packit Service 5a9772
                                 unsigned int Flags, unsigned int MaxCalls,
Packit Service 5a9772
                                 RPC_IF_CALLBACK_FN* IfCallback)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerRegisterIf2(RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv,
Packit 1fb8d4
                                unsigned int Flags, unsigned int MaxCalls, unsigned int MaxRpcSize,
Packit 1fb8d4
                                RPC_IF_CALLBACK_FN* IfCallbackFn)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcServerUnregisterIf(RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid,
Packit 1fb8d4
                                 unsigned int WaitForCallsToComplete)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcServerUnregisterIfEx(RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid,
Packit 1fb8d4
                                   int RundownContextHandles)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerUseAllProtseqs(unsigned int MaxCalls, void* SecurityDescriptor)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerUseAllProtseqsEx(unsigned int MaxCalls, void* SecurityDescriptor,
Packit Service 5a9772
                                     PRPC_POLICY Policy)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerUseAllProtseqsIf(unsigned int MaxCalls, RPC_IF_HANDLE IfSpec,
Packit Service 5a9772
                                     void* SecurityDescriptor)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerUseAllProtseqsIfEx(unsigned int MaxCalls, RPC_IF_HANDLE IfSpec,
Packit Service 5a9772
                                       void* SecurityDescriptor, PRPC_POLICY Policy)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerUseProtseqA(RPC_CSTR Protseq, unsigned int MaxCalls, void* SecurityDescriptor)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerUseProtseqExA(RPC_CSTR Protseq, unsigned int MaxCalls, void* SecurityDescriptor,
Packit Service 5a9772
                                  PRPC_POLICY Policy)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerUseProtseqW(RPC_WSTR Protseq, unsigned int MaxCalls, void* SecurityDescriptor)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerUseProtseqExW(RPC_WSTR Protseq, unsigned int MaxCalls, void* SecurityDescriptor,
Packit Service 5a9772
                                  PRPC_POLICY Policy)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerUseProtseqEpA(RPC_CSTR Protseq, unsigned int MaxCalls, RPC_CSTR Endpoint,
Packit Service 5a9772
                                  void* SecurityDescriptor)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerUseProtseqEpExA(RPC_CSTR Protseq, unsigned int MaxCalls, RPC_CSTR Endpoint,
Packit Service 5a9772
                                    void* SecurityDescriptor, PRPC_POLICY Policy)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerUseProtseqEpW(RPC_WSTR Protseq, unsigned int MaxCalls, RPC_WSTR Endpoint,
Packit Service 5a9772
                                  void* SecurityDescriptor)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerUseProtseqEpExW(RPC_WSTR Protseq, unsigned int MaxCalls, RPC_WSTR Endpoint,
Packit Service 5a9772
                                    void* SecurityDescriptor, PRPC_POLICY Policy)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerUseProtseqIfA(RPC_CSTR Protseq, unsigned int MaxCalls, RPC_IF_HANDLE IfSpec,
Packit Service 5a9772
                                  void* SecurityDescriptor)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerUseProtseqIfExA(RPC_CSTR Protseq, unsigned int MaxCalls, RPC_IF_HANDLE IfSpec,
Packit Service 5a9772
                                    void* SecurityDescriptor, PRPC_POLICY Policy)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerUseProtseqIfW(RPC_WSTR Protseq, unsigned int MaxCalls, RPC_IF_HANDLE IfSpec,
Packit Service 5a9772
                                  void* SecurityDescriptor)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerUseProtseqIfExW(RPC_WSTR Protseq, unsigned int MaxCalls, RPC_IF_HANDLE IfSpec,
Packit Service 5a9772
                                    void* SecurityDescriptor, PRPC_POLICY Policy)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
void RpcServerYield()
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcMgmtStatsVectorFree(RPC_STATS_VECTOR** StatsVector)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcMgmtInqStats(RPC_BINDING_HANDLE Binding, RPC_STATS_VECTOR** Statistics)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcMgmtIsServerListening(RPC_BINDING_HANDLE Binding)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcMgmtStopServerListening(RPC_BINDING_HANDLE Binding)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcMgmtWaitServerListen(void)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcMgmtSetServerStackSize(unsigned long ThreadStackSize)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
void RpcSsDontSerializeContext(void)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcMgmtEnableIdleCleanup(void)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcMgmtInqIfIds(RPC_BINDING_HANDLE Binding, RPC_IF_ID_VECTOR** IfIdVector)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcIfIdVectorFree(RPC_IF_ID_VECTOR** IfIdVector)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcMgmtInqServerPrincNameA(RPC_BINDING_HANDLE Binding, unsigned long AuthnSvc,
Packit Service 5a9772
                                      RPC_CSTR* ServerPrincName)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcMgmtInqServerPrincNameW(RPC_BINDING_HANDLE Binding, unsigned long AuthnSvc,
Packit Service 5a9772
                                      RPC_WSTR* ServerPrincName)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerInqDefaultPrincNameA(unsigned long AuthnSvc, RPC_CSTR* PrincName)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerInqDefaultPrincNameW(unsigned long AuthnSvc, RPC_WSTR* PrincName)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcEpResolveBinding(RPC_BINDING_HANDLE Binding, RPC_IF_HANDLE IfSpec)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcNsBindingInqEntryNameA(RPC_BINDING_HANDLE Binding, unsigned long EntryNameSyntax,
Packit Service 5a9772
                                     RPC_CSTR* EntryName)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcNsBindingInqEntryNameW(RPC_BINDING_HANDLE Binding, unsigned long EntryNameSyntax,
Packit Service 5a9772
                                     RPC_WSTR* EntryName)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcImpersonateClient(RPC_BINDING_HANDLE BindingHandle)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcRevertToSelfEx(RPC_BINDING_HANDLE BindingHandle)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcRevertToSelf()
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcBindingInqAuthClientA(RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE* Privs,
Packit Service 5a9772
                                    RPC_CSTR* ServerPrincName, unsigned long* AuthnLevel,
Packit Service 5a9772
                                    unsigned long* AuthnSvc, unsigned long* AuthzSvc)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcBindingInqAuthClientW(RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE* Privs,
Packit Service 5a9772
                                    RPC_WSTR* ServerPrincName, unsigned long* AuthnLevel,
Packit Service 5a9772
                                    unsigned long* AuthnSvc, unsigned long* AuthzSvc)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcBindingInqAuthClientExA(RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE* Privs,
Packit Service 5a9772
                                      RPC_CSTR* ServerPrincName, unsigned long* AuthnLevel,
Packit Service 5a9772
                                      unsigned long* AuthnSvc, unsigned long* AuthzSvc,
Packit Service 5a9772
                                      unsigned long Flags)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcBindingInqAuthClientExW(RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE* Privs,
Packit Service 5a9772
                                      RPC_WSTR* ServerPrincName, unsigned long* AuthnLevel,
Packit Service 5a9772
                                      unsigned long* AuthnSvc, unsigned long* AuthzSvc,
Packit Service 5a9772
                                      unsigned long Flags)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcBindingInqAuthInfoA(RPC_BINDING_HANDLE Binding, RPC_CSTR* ServerPrincName,
Packit Service 5a9772
                                  unsigned long* AuthnLevel, unsigned long* AuthnSvc,
Packit Service 5a9772
                                  RPC_AUTH_IDENTITY_HANDLE* AuthIdentity, unsigned long* AuthzSvc)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcBindingInqAuthInfoW(RPC_BINDING_HANDLE Binding, RPC_WSTR* ServerPrincName,
Packit Service 5a9772
                                  unsigned long* AuthnLevel, unsigned long* AuthnSvc,
Packit Service 5a9772
                                  RPC_AUTH_IDENTITY_HANDLE* AuthIdentity, unsigned long* AuthzSvc)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcBindingSetAuthInfoA(RPC_BINDING_HANDLE Binding, RPC_CSTR ServerPrincName,
Packit Service 5a9772
                                  unsigned long AuthnLevel, unsigned long AuthnSvc,
Packit Service 5a9772
                                  RPC_AUTH_IDENTITY_HANDLE AuthIdentity, unsigned long AuthzSvc)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcBindingSetAuthInfoExA(RPC_BINDING_HANDLE Binding, RPC_CSTR ServerPrincName,
Packit Service 5a9772
                                    unsigned long AuthnLevel, unsigned long AuthnSvc,
Packit Service 5a9772
                                    RPC_AUTH_IDENTITY_HANDLE AuthIdentity, unsigned long AuthzSvc,
Packit Service 5a9772
                                    RPC_SECURITY_QOS* SecurityQos)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcBindingSetAuthInfoW(RPC_BINDING_HANDLE Binding, RPC_WSTR ServerPrincName,
Packit Service 5a9772
                                  unsigned long AuthnLevel, unsigned long AuthnSvc,
Packit Service 5a9772
                                  RPC_AUTH_IDENTITY_HANDLE AuthIdentity, unsigned long AuthzSvc)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcBindingSetAuthInfoExW(RPC_BINDING_HANDLE Binding, RPC_WSTR ServerPrincName,
Packit Service 5a9772
                                    unsigned long AuthnLevel, unsigned long AuthnSvc,
Packit Service 5a9772
                                    RPC_AUTH_IDENTITY_HANDLE AuthIdentity, unsigned long AuthzSvc,
Packit Service 5a9772
                                    RPC_SECURITY_QOS* SecurityQOS)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcBindingInqAuthInfoExA(RPC_BINDING_HANDLE Binding, RPC_CSTR* ServerPrincName,
Packit Service 5a9772
                                    unsigned long* AuthnLevel, unsigned long* AuthnSvc,
Packit Service 5a9772
                                    RPC_AUTH_IDENTITY_HANDLE* AuthIdentity, unsigned long* AuthzSvc,
Packit 1fb8d4
                                    unsigned long RpcQosVersion, RPC_SECURITY_QOS* SecurityQOS)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcBindingInqAuthInfoExW(RPC_BINDING_HANDLE Binding, RPC_WSTR* ServerPrincName,
Packit Service 5a9772
                                    unsigned long* AuthnLevel, unsigned long* AuthnSvc,
Packit Service 5a9772
                                    RPC_AUTH_IDENTITY_HANDLE* AuthIdentity, unsigned long* AuthzSvc,
Packit 1fb8d4
                                    unsigned long RpcQosVersion, RPC_SECURITY_QOS* SecurityQOS)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerRegisterAuthInfoA(RPC_CSTR ServerPrincName, unsigned long AuthnSvc,
Packit Service 5a9772
                                      RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn, void* Arg)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcServerRegisterAuthInfoW(RPC_WSTR ServerPrincName, unsigned long AuthnSvc,
Packit Service 5a9772
                                      RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn, void* Arg)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcBindingServerFromClient(RPC_BINDING_HANDLE ClientBinding,
Packit 1fb8d4
                                      RPC_BINDING_HANDLE* ServerBinding)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
void RpcRaiseException(RPC_STATUS exception)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "RpcRaiseException: 0x%08luX", exception);
Packit Service 5a9772
	exit((int)exception);
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcTestCancel()
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcServerTestCancel(RPC_BINDING_HANDLE BindingHandle)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcCancelThread(void* Thread)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcCancelThreadEx(void* Thread, long Timeout)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
/**
Packit 1fb8d4
 * UUID Functions
Packit 1fb8d4
 */
Packit 1fb8d4
Packit Service 5a9772
static UUID UUID_NIL = {
Packit Service 5a9772
	0x00000000, 0x0000, 0x0000, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
Packit 1fb8d4
};
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS UuidCreate(UUID* Uuid)
Packit 1fb8d4
{
Packit Service 5a9772
	winpr_RAND_pseudo((BYTE*)Uuid, 16);
Packit 1fb8d4
	return RPC_S_OK;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS UuidCreateSequential(UUID* Uuid)
Packit 1fb8d4
{
Packit Service 5a9772
	winpr_RAND_pseudo((BYTE*)Uuid, 16);
Packit 1fb8d4
	return RPC_S_OK;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS UuidToStringA(const UUID* Uuid, RPC_CSTR* StringUuid)
Packit 1fb8d4
{
Packit Service 5a9772
	*StringUuid = (RPC_CSTR)malloc(36 + 1);
Packit 1fb8d4
Packit 1fb8d4
	if (!(*StringUuid))
Packit 1fb8d4
		return RPC_S_OUT_OF_MEMORY;
Packit 1fb8d4
Packit 1fb8d4
	if (!Uuid)
Packit 1fb8d4
		Uuid = &UUID_NIL;
Packit 1fb8d4
Packit 1fb8d4
	/**
Packit 1fb8d4
	 * Format is 32 hex digits partitioned in 5 groups:
Packit 1fb8d4
	 * xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Packit 1fb8d4
	 */
Packit Service 5a9772
	sprintf_s((char*)*StringUuid, 36 + 1, "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
Packit Service 5a9772
	          Uuid->Data1, Uuid->Data2, Uuid->Data3, Uuid->Data4[0], Uuid->Data4[1], Uuid->Data4[2],
Packit Service 5a9772
	          Uuid->Data4[3], Uuid->Data4[4], Uuid->Data4[5], Uuid->Data4[6], Uuid->Data4[7]);
Packit 1fb8d4
	return RPC_S_OK;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS UuidToStringW(const UUID* Uuid, RPC_WSTR* StringUuid)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS UuidFromStringA(RPC_CSTR StringUuid, UUID* Uuid)
Packit 1fb8d4
{
Packit 1fb8d4
	int index;
Packit 1fb8d4
	BYTE bin[36];
Packit 1fb8d4
Packit 1fb8d4
	if (!StringUuid)
Packit 1fb8d4
		return UuidCreateNil(Uuid);
Packit 1fb8d4
Packit Service 5a9772
	if (strlen((char*)StringUuid) != 36)
Packit 1fb8d4
		return RPC_S_INVALID_STRING_UUID;
Packit 1fb8d4
Packit Service 5a9772
	if ((StringUuid[8] != '-') || (StringUuid[13] != '-') || (StringUuid[18] != '-') ||
Packit Service 5a9772
	    (StringUuid[23] != '-'))
Packit 1fb8d4
	{
Packit 1fb8d4
		return RPC_S_INVALID_STRING_UUID;
Packit 1fb8d4
	}
Packit 1fb8d4
Packit 1fb8d4
	for (index = 0; index < 36; index++)
Packit 1fb8d4
	{
Packit 1fb8d4
		if ((index == 8) || (index == 13) || (index == 18) || (index == 23))
Packit 1fb8d4
			continue;
Packit 1fb8d4
Packit 1fb8d4
		if ((StringUuid[index] >= '0') && (StringUuid[index] <= '9'))
Packit 1fb8d4
			bin[index] = StringUuid[index] - '0';
Packit 1fb8d4
		else if ((StringUuid[index] >= 'a') && (StringUuid[index] <= 'f'))
Packit 1fb8d4
			bin[index] = StringUuid[index] - 'a' + 10;
Packit 1fb8d4
		else if ((StringUuid[index] >= 'A') && (StringUuid[index] <= 'F'))
Packit 1fb8d4
			bin[index] = StringUuid[index] - 'A' + 10;
Packit 1fb8d4
		else
Packit 1fb8d4
			return RPC_S_INVALID_STRING_UUID;
Packit 1fb8d4
	}
Packit 1fb8d4
Packit Service 5a9772
	Uuid->Data1 = ((bin[0] << 28) | (bin[1] << 24) | (bin[2] << 20) | (bin[3] << 16) |
Packit 1fb8d4
	               (bin[4] << 12) | (bin[5] << 8) | (bin[6] << 4) | bin[7]);
Packit 1fb8d4
	Uuid->Data2 = ((bin[9] << 12) | (bin[10] << 8) | (bin[11] << 4) | bin[12]);
Packit 1fb8d4
	Uuid->Data3 = ((bin[14] << 12) | (bin[15] << 8) | (bin[16] << 4) | bin[17]);
Packit 1fb8d4
	Uuid->Data4[0] = ((bin[19] << 4) | bin[20]);
Packit 1fb8d4
	Uuid->Data4[1] = ((bin[21] << 4) | bin[22]);
Packit 1fb8d4
	Uuid->Data4[2] = ((bin[24] << 4) | bin[25]);
Packit 1fb8d4
	Uuid->Data4[3] = ((bin[26] << 4) | bin[27]);
Packit 1fb8d4
	Uuid->Data4[4] = ((bin[28] << 4) | bin[29]);
Packit 1fb8d4
	Uuid->Data4[5] = ((bin[30] << 4) | bin[31]);
Packit 1fb8d4
	Uuid->Data4[6] = ((bin[32] << 4) | bin[33]);
Packit 1fb8d4
	Uuid->Data4[7] = ((bin[34] << 4) | bin[35]);
Packit 1fb8d4
	return RPC_S_OK;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS UuidFromStringW(RPC_WSTR StringUuid, UUID* Uuid)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
signed int UuidCompare(const UUID* Uuid1, const UUID* Uuid2, RPC_STATUS* Status)
Packit 1fb8d4
{
Packit 1fb8d4
	int index;
Packit 1fb8d4
	*Status = RPC_S_OK;
Packit 1fb8d4
Packit 1fb8d4
	if (!Uuid1)
Packit 1fb8d4
		Uuid1 = &UUID_NIL;
Packit 1fb8d4
Packit 1fb8d4
	if (!Uuid2)
Packit 1fb8d4
		Uuid2 = &UUID_NIL;
Packit 1fb8d4
Packit 1fb8d4
	if (Uuid1->Data1 != Uuid2->Data1)
Packit 1fb8d4
		return (Uuid1->Data1 < Uuid2->Data1) ? -1 : 1;
Packit 1fb8d4
Packit 1fb8d4
	if (Uuid1->Data2 != Uuid2->Data2)
Packit 1fb8d4
		return (Uuid1->Data2 < Uuid2->Data2) ? -1 : 1;
Packit 1fb8d4
Packit 1fb8d4
	if (Uuid1->Data3 != Uuid2->Data3)
Packit 1fb8d4
		return (Uuid1->Data3 < Uuid2->Data3) ? -1 : 1;
Packit 1fb8d4
Packit 1fb8d4
	for (index = 0; index < 8; index++)
Packit 1fb8d4
	{
Packit 1fb8d4
		if (Uuid1->Data4[index] != Uuid2->Data4[index])
Packit 1fb8d4
			return (Uuid1->Data4[index] < Uuid2->Data4[index]) ? -1 : 1;
Packit 1fb8d4
	}
Packit 1fb8d4
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS UuidCreateNil(UUID* NilUuid)
Packit 1fb8d4
{
Packit Service 5a9772
	CopyMemory((void*)NilUuid, (void*)&UUID_NIL, 16);
Packit 1fb8d4
	return RPC_S_OK;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
int UuidEqual(const UUID* Uuid1, const UUID* Uuid2, RPC_STATUS* Status)
Packit 1fb8d4
{
Packit 1fb8d4
	return ((UuidCompare(Uuid1, Uuid2, Status) == 0) ? TRUE : FALSE);
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
unsigned short UuidHash(const UUID* Uuid, RPC_STATUS* Status)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
int UuidIsNil(const UUID* Uuid, RPC_STATUS* Status)
Packit 1fb8d4
{
Packit 1fb8d4
	return UuidEqual(Uuid, &UUID_NIL, Status);
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcEpRegisterNoReplaceA(RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector,
Packit Service 5a9772
                                   UUID_VECTOR* UuidVector, RPC_CSTR Annotation)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcEpRegisterNoReplaceW(RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector,
Packit Service 5a9772
                                   UUID_VECTOR* UuidVector, RPC_WSTR Annotation)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcEpRegisterA(RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector,
Packit Service 5a9772
                          UUID_VECTOR* UuidVector, RPC_CSTR Annotation)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcEpRegisterW(RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector,
Packit Service 5a9772
                          UUID_VECTOR* UuidVector, RPC_WSTR Annotation)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcEpUnregister(RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector,
Packit Service 5a9772
                           UUID_VECTOR* UuidVector)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS DceErrorInqTextA(RPC_STATUS RpcStatus, RPC_CSTR ErrorText)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS DceErrorInqTextW(RPC_STATUS RpcStatus, RPC_WSTR ErrorText)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcMgmtEpEltInqBegin(RPC_BINDING_HANDLE EpBinding, unsigned long InquiryType,
Packit Service 5a9772
                                RPC_IF_ID* IfId, unsigned long VersOption, UUID* ObjectUuid,
Packit Service 5a9772
                                RPC_EP_INQ_HANDLE* InquiryContext)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcMgmtEpEltInqDone(RPC_EP_INQ_HANDLE* InquiryContext)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE InquiryContext, RPC_IF_ID* IfId,
Packit 1fb8d4
                                RPC_BINDING_HANDLE* Binding, UUID* ObjectUuid, RPC_CSTR* Annotation)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit Service 5a9772
RPC_STATUS RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE InquiryContext, RPC_IF_ID* IfId,
Packit 1fb8d4
                                RPC_BINDING_HANDLE* Binding, UUID* ObjectUuid, RPC_WSTR* Annotation)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcMgmtEpUnregister(RPC_BINDING_HANDLE EpBinding, RPC_IF_ID* IfId,
Packit 1fb8d4
                               RPC_BINDING_HANDLE Binding, UUID* ObjectUuid)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcMgmtSetAuthorizationFn(RPC_MGMT_AUTHORIZATION_FN AuthorizationFn)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
RPC_STATUS RpcServerInqBindingHandle(RPC_BINDING_HANDLE* Binding)
Packit 1fb8d4
{
Packit 1fb8d4
	WLog_ERR(TAG, "Not implemented");
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}
Packit 1fb8d4
Packit 1fb8d4
#endif