rpcrt4 stubs
Peter Hunnisett
hunnise at yahoo.com
Tue Jul 10 20:42:26 CDT 2001
Hi,
this adds a bunch of stubby stuff for rpcrt4. Diffs are against the
last release, but I don't think there should be a problem. If there is,
let me know and I'll resubmit later.
Ciao,
Peter
hunnise at yahoo.com
-------------- next part --------------
--- ChangeLog 2001/07/10 15:09:14 1.2
+++ ChangeLog 2001/07/10 23:49:19
@@ -1,3 +1,8 @@
+ * dlls/rpcrt4/rpcrt4.spec, dlls/rpcrt4/rpcrt4_main.c, include/rpcdce.h, include/rpc.h, [new]include/rpcnterror.h
+ Peter Hunnisett <hunnise at yahoo.com>
+ Added a bunch of entry points
+ Added some stubs and header information
+ Fixed some return codes
+
* dlls/user/user32.spec, dlls/shlwapi/shlwapi.spec, include/shlwapi.h, dlls/user/wsprintf.c
Peter Hunnisett <hunnise at yahoo.com>
Add shlwapi.wvnsprintf[AW], header info and comments.
--- include/rpcdce.h 2001/07/10 16:37:02 1.1
+++ include/rpcdce.h 2001/07/10 23:37:35
@@ -3,6 +3,10 @@
#include "windef.h"
+#ifndef GUID_DEFINED
+#include <guiddef.h>
+#endif
+
typedef void* RPC_AUTH_IDENTITY_HANDLE;
typedef void* RPC_AUTHZ_HANDLE;
typedef void* RPC_IF_HANDLE;
@@ -10,6 +14,98 @@
typedef RPC_BINDING_HANDLE handle_t;
#define rpc_binding_handle_t RPC_BINDING_HANDLE
#define RPC_MGR_EPV void
+
+#define RPC_C_BINDING_INFINITE_TIMEOUT 10
+#define RPC_C_BINDING_MIN_TIMEOUT 0
+#define RPC_C_BINDING_DEFAULT_TIMEOUT 5
+#define RPC_C_BINDING_MAX_TIMEOUT 9
+
+#define RPC_C_CANCEL_INFINITE_TIMEOUT -1
+
+#define RPC_C_LISTEN_MAX_CALLS_DEFAULT 1234
+#define RPC_C_PROTSEQ_MAX_REQS_DEFAULT 10
+
+/* RPC_POLICY EndpointFlags */
+#define RPC_C_BIND_TO_ALL_NICS 0x1
+#define RPC_C_USE_INTERNET_PORT 0x1
+#define RPC_C_USE_INTRANET_PORT 0x2
+#define RPC_C_DONT_FAIL 0x4
+
+/* RPC_POLICY EndpointFlags specific to the Falcon/RPC transport */
+#define RPC_C_MQ_TEMPORARY 0x0000
+#define RPC_C_MQ_PERMANENT 0x0001
+#define RPC_C_MQ_CLEAR_ON_OPEN 0x0002
+#define RPC_C_MQ_USE_EXISTING_SECURITY 0x0004
+#define RPC_C_MQ_AUTHN_LEVEL_NONE 0x0000
+#define RPC_C_MQ_AUTHN_LEVEL_PKT_INTEGRITY 0x0008
+#define RPC_C_MQ_AUTHN_LEVEL_PKT_PRIVACY 0x0010
+
+
+typedef RPC_STATUS RPC_ENTRY RPC_IF_CALLBACK_FN( RPC_IF_HANDLE InterfaceUuid, LPVOID Context );
+typedef void (__RPC_USER * RPC_AUTH_KEY_RETRIEVAL_FN)( LPVOID Arg, LPWSTR ServerPrincName,
+ ULONG KeyVer, LPVOID* Key, RPC_STATUS* status );
+
+typedef struct _RPC_POLICY
+{
+ UINT Length;
+ ULONG EndpointFlags;
+ ULONG NICFlags;
+} RPC_POLICY, *PRPC_POLICY;
+
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ RpcServerRegisterIf( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv );
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ RpcServerRegisterIfEx( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv,
+ UINT Flags, UINT MaxCalls, RPC_IF_CALLBACK_FN* IfCallbackFn );
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ RpcServerRegisterIf2( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv,
+ UINT Flags, UINT MaxCalls, UINT MaxRpcSize, RPC_IF_CALLBACK_FN* IfCallbackFn );
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ RpcServerUseProtseqEpA( LPSTR Protseq, UINT MaxCalls, LPSTR Endpoint, LPVOID SecurityDescriptor );
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ RpcServerUseProtseqEpW( LPWSTR Protseq, UINT MaxCalls, LPWSTR Endpoint, LPVOID SecurityDescriptor );
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ RpcServerUseProtseqEpExA( LPSTR Protseq, UINT MaxCalls, LPSTR Endpoint, LPVOID SecurityDescriptor,
+ PRPC_POLICY Policy );
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ RpcServerUseProtseqEpExW( LPWSTR Protseq, UINT MaxCalls, LPWSTR Endpoint, LPVOID SecurityDescriptor,
+ PRPC_POLICY Policy );
+
+#define RpcServerUseProtseqEp WINELIB_NAME_AW(RpcServerUseProtseqEp)
+#define RpcServerUseProtseqEpEx WINELIB_NAME_AW(RpcServerUseProtseqEpEx)
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ RpcServerRegisterAuthInfoA( LPSTR ServerPrincName, ULONG AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
+ LPVOID Arg );
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ RpcServerRegisterAuthInfoW( LPWSTR ServerPrincName, ULONG AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
+ LPVOID Arg );
+
+#define RpcServerRegisterAuthInfo WINELIB_NAME_AW(RpcServerRegisterAuthInfo)
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ RpcServerListen( UINT MinimumCallThreads, UINT MaxCalls, UINT DontWait );
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ RpcStringBindingComposeA( LPSTR ObjUuid, LPSTR Protseq, LPSTR NetworkAddr, LPSTR Endpoint,
+ LPSTR Options, LPSTR* StringBinding );
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ RpcStringBindingComposeW( LPWSTR ObjUuid, LPWSTR Protseq, LPWSTR NetworkAddr, LPWSTR Endpoint,
+ LPWSTR Options, LPWSTR* StringBinding );
+
+#define RpcStringBindingCompose WINELIB_NAME_AW(RpcStringBindingCompose)
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ RpcBindingFromStringBindingA( LPSTR StringBinding, RPC_BINDING_HANDLE* Binding );
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ RpcBindingFromStringBindingW( LPWSTR StringBinding, RPC_BINDING_HANDLE* Binding );
+
+#define RpcBindingFromStringBinding WINELIB_NAME_AW(RpcBindingFromStringBinding)
#include "rpcdcep.h"
--- include/rpc.h 2001/07/10 16:37:16 1.1
+++ include/rpc.h 2001/07/10 17:47:07
@@ -14,6 +14,7 @@
#define __RPC_USER WINAPI
#define __RPC_STUB WINAPI
#define RPC_ENTRY WINAPI
+#define RPCRTAPI
typedef long RPC_STATUS;
typedef void* I_RPC_HANDLE;
@@ -38,7 +39,7 @@
#include "rpcdce.h"
/* #include "rpcnsi.h" */
-/* #include "rpcnterr.h" */
+#include "rpcnterr.h"
/* #include "excpt.h" */
#include "winerror.h"
--- /dev/null Fri Mar 23 23:37:44 2001
+++ include/rpcnterr.h Tue Jul 10 13:44:38 2001
@@ -0,0 +1,26 @@
+#ifndef __RPCNTERR_H__
+#define __RPCNTERR_H__
+
+#define RPC_S_OK ERROR_SUCCESS
+#define RPC_S_INVALID_ARG ERROR_INVALID_PARAMETER
+#define RPC_S_OUT_OF_MEMORY ERROR_OUTOFMEMORY
+#define RPC_S_OUT_OF_THREADS ERROR_MAX_THRDS_REACHED
+#define RPC_S_INVALID_LEVEL ERROR_INVALID_PARAMETER
+#define RPC_S_BUFFER_TOO_SMALL ERROR_INSUFFICIENT_BUFFER
+#define RPC_S_INVALID_SECURITY_DESC ERROR_INVALID_SECURITY_DESCR
+#define RPC_S_ACCESS_DENIED ERROR_ACCESS_DENIED
+#define RPC_S_SERVER_OUT_OF_MEMORY ERROR_NOT_ENOUGH_SERVER_MEMORY
+#define RPC_S_ASYNC_CALL_PENDING ERROR_IO_PENDING
+#define RPC_S_UNKNOWN_PRINCIPAL ERROR_NONE_MAPPED
+#define RPC_S_TIMEOUT ERROR_TIMEOUT
+
+#define RPC_X_NO_MEMORY RPC_S_OUT_OF_MEMORY
+#define RPC_X_INVALID_BOUND RPC_S_INVALID_BOUND
+#define RPC_X_INVALID_TAG RPC_S_INVALID_TAG
+#define RPC_X_ENUM_VALUE_TOO_LARGE RPC_X_ENUM_VALUE_OUT_OF_RANGE
+#define RPC_X_SS_CONTEXT_MISMATCH ERROR_INVALID_HANDLE
+#define RPC_X_INVALID_BUFFER ERROR_INVALID_USER_BUFFER
+#define RPC_X_PIPE_APP_MEMORY ERROR_OUTOFMEMORY
+#define RPC_X_INVALID_PIPE_OPERATION RPC_X_WRONG_PIPE_ORDER
+
+#endif
--- dlls/rpcrt4/rpcrt4.spec 2001/07/11 01:20:34 1.1
+++ dlls/rpcrt4/rpcrt4.spec 2001/07/11 01:20:49
@@ -7,18 +7,25 @@
debug_channels (ole)
-@ stdcall UuidCreate(ptr) UuidCreate
+@ stdcall NdrDllRegisterProxy(long ptr ptr) NdrDllRegisterProxy
+@ stdcall RpcBindingFromStringBindingA(str ptr) RpcBindingFromStringBindingA
+@ stdcall RpcBindingFromStringBindingW(wstr ptr) RpcBindingFromStringBindingW
+@ stdcall RpcServerListen(long long long) RpcServerListen
+@ stdcall RpcServerUseProtseqEpA(str long str ptr) RpcServerUseProtseqEpA
+@ stdcall RpcServerUseProtseqEpW(wstr long wstr ptr) RpcServerUseProtseqEpW
+@ stdcall RpcServerUseProtseqEpExA(str long str ptr ptr) RpcServerUseProtseqEpExA
+@ stdcall RpcServerUseProtseqEpExW(wstr long wstr ptr ptr) RpcServerUseProtseqEpExW
+@ stdcall RpcServerRegisterIf(ptr ptr ptr) RpcServerRegisterIf
+@ stdcall RpcServerRegisterIfEx(ptr ptr ptr long long ptr) RpcServerRegisterIfEx
+@ stdcall RpcServerRegisterIf2(ptr ptr ptr long long long ptr) RpcServerRegisterIf2
+@ stdcall RpcServerRegisterAuthInfoA(str long ptr ptr) RpcServerRegisterAuthInfoA
+@ stdcall RpcServerRegisterAuthInfoW(wstr long ptr ptr) RpcServerRegisterAuthInfoW
+@ stdcall RpcStringBindingComposeA(str str str str str ptr) RpcStringBindingComposeA
+@ stdcall RpcStringBindingComposeW(wstr wstr wstr wstr wstr ptr) RpcStringBindingComposeW
@ stdcall RpcStringFreeA(ptr) RpcStringFreeA
+@ stdcall UuidCreate(ptr) UuidCreate
@ stdcall UuidToStringA(ptr ptr) UuidToStringA
-@ stub NdrCStdStubBuffer_Release
-@ stub NdrDllGetClassObject
-@ stub RpcRaiseException
-@ stub NdrClientCall
-@ stub NdrOleAllocate
-@ stub NdrOleFree
-@ stub IUnknown_QueryInterface_Proxy
-@ stub IUnknown_AddRef_Proxy
-@ stub IUnknown_Release_Proxy
+
@ stub CStdStubBuffer_QueryInterface
@ stub CStdStubBuffer_AddRef
@ stub CStdStubBuffer_Connect
@@ -28,4 +35,38 @@
@ stub CStdStubBuffer_CountRefs
@ stub CStdStubBuffer_DebugServerQueryInterface
@ stub CStdStubBuffer_DebugServerRelease
-@ stdcall NdrDllRegisterProxy(long ptr ptr) NdrDllRegisterProxy
+
+@ stub IUnknown_QueryInterface_Proxy
+@ stub IUnknown_AddRef_Proxy
+@ stub IUnknown_Release_Proxy
+
+@ stub I_RpcGetBuffer
+
+@ stub NdrClientCall
+@ stub NdrClientCall2
+@ stub NdrConformantVaryingArrayBufferSize
+@ stub NdrConformantVaryingArrayMarshall
+@ stub NdrConformantVaryingArrayUnmarshall
+@ stub NdrConformantStringUnmarshall
+@ stub NDRSContextUnmarshall
+@ stub NdrConvert
+@ stub NdrCStdStubBuffer_Release
+@ stub NdrDllGetClassObject
+@ stub NdrOleAllocate
+@ stub NdrOleFree
+@ stub NdrServerContextUnmarshall
+@ stub NdrServerInitializeNew
+@ stub NdrServerContextMarshall
+
+@ stub RpcBindingFree
+@ stub RpcImpersonateClient
+@ stub RpcMgmtSetCancelTimeout
+@ stub RpcMgmtStopServerListening
+@ stub RpcRaiseException
+@ stub RpcRevertToSelf
+@ stub RpcServerUnregisterIf
+@ stub RpcStringFreeW
+
+
+@ stub UuidIsNil
+
--- dlls/rpcrt4/rpcrt4_main.c 2001/07/10 17:34:03 1.1
+++ dlls/rpcrt4/rpcrt4_main.c 2001/07/10 23:44:18
@@ -261,7 +261,7 @@
TRACE("%s\n", debugstr_guid(Uuid));
- return S_OK;
+ return RPC_S_OK;
}
/*************************************************************************
@@ -277,7 +277,7 @@
{
HeapFree( GetProcessHeap(), 0, *String);
- return S_OK;
+ return RPC_S_OK;
}
/*************************************************************************
@@ -297,18 +297,16 @@
{
*StringUuid = HeapAlloc( GetProcessHeap(), 0, sizeof(char) * 37);
-
- /* FIXME: this should be RPC_S_OUT_OF_MEMORY */
if(!(*StringUuid))
- return ERROR_OUTOFMEMORY;
+ return RPC_S_OUT_OF_MEMORY;
- sprintf(*StringUuid, "{%08lx-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}",
+ sprintf(*StringUuid, "{%08lx-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}",
Uuid->Data1, Uuid->Data2, Uuid->Data3,
Uuid->Data4[0], Uuid->Data4[1], Uuid->Data4[2],
Uuid->Data4[3], Uuid->Data4[4], Uuid->Data4[5],
Uuid->Data4[6], Uuid->Data4[7] );
- return S_OK; /*FIXME: this should be RPC_S_OK */
+ return RPC_S_OK;
}
/***********************************************************************
@@ -318,7 +316,194 @@
HMODULE hDll, /* [in] */
void **pProxyFileList, /* [???] FIXME: const ProxyFileInfo ** */
const CLSID *pclsid /* [in] */
-) {
+)
+{
FIXME("(%x,%p,%s), stub!\n",hDll,pProxyFileList,debugstr_guid(pclsid));
return S_OK;
+}
+
+/***********************************************************************
+ * RpcServerUseProtseqEpA (RPCRT4.@)
+ */
+RPCRTAPI RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqEpA( LPSTR Protseq, UINT MaxCalls, LPSTR Endpoint, LPVOID SecurityDescriptor )
+{
+ RPC_POLICY policy;
+
+ TRACE( "(%s,%u,%s,%p)\n", Protseq, MaxCalls, Endpoint, SecurityDescriptor );
+
+ /* This should provide the default behaviour */
+ policy.Length = sizeof( policy );
+ policy.EndpointFlags = 0;
+ policy.NICFlags = 0;
+
+ return RpcServerUseProtseqEpExA( Protseq, MaxCalls, Endpoint, SecurityDescriptor, &policy );
+}
+
+/***********************************************************************
+ * RpcServerUseProtseqEpW (RPCRT4.@)
+ */
+RPCRTAPI RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqEpW( LPWSTR Protseq, UINT MaxCalls, LPWSTR Endpoint, LPVOID SecurityDescriptor )
+{
+ RPC_POLICY policy;
+
+ TRACE( "(%s,%u,%s,%p)\n", debugstr_w( Protseq ), MaxCalls, debugstr_w( Endpoint ), SecurityDescriptor );
+
+ /* This should provide the default behaviour */
+ policy.Length = sizeof( policy );
+ policy.EndpointFlags = 0;
+ policy.NICFlags = 0;
+
+ return RpcServerUseProtseqEpExW( Protseq, MaxCalls, Endpoint, SecurityDescriptor, &policy );
+}
+
+/***********************************************************************
+ * RpcServerUseProtseqEpExA (RPCRT4.@)
+ */
+RPCRTAPI RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqEpExA( LPSTR Protseq, UINT MaxCalls, LPSTR Endpoint, LPVOID SecurityDescriptor,
+ PRPC_POLICY lpPolicy )
+{
+ FIXME( "(%s,%u,%s,%p,{%u,%lu,%lu}): stub\n", Protseq, MaxCalls, Endpoint, SecurityDescriptor,
+ lpPolicy->Length, lpPolicy->EndpointFlags, lpPolicy->NICFlags );
+
+ return RPC_S_PROTSEQ_NOT_SUPPORTED; /* We don't support anything at this point */
+}
+
+/***********************************************************************
+ * RpcServerUseProtseqEpExW (RPCRT4.@)
+ */
+RPCRTAPI RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqEpExW( LPWSTR Protseq, UINT MaxCalls, LPWSTR Endpoint, LPVOID SecurityDescriptor,
+ PRPC_POLICY lpPolicy )
+{
+ FIXME( "(%s,%u,%s,%p,{%u,%lu,%lu}): stub\n", debugstr_w( Protseq ), MaxCalls, debugstr_w( Endpoint ),
+ SecurityDescriptor,
+ lpPolicy->Length, lpPolicy->EndpointFlags, lpPolicy->NICFlags );
+
+ return RPC_S_PROTSEQ_NOT_SUPPORTED; /* We don't support anything at this point */
+}
+
+/***********************************************************************
+ * RpcServerRegisterIf (RPCRT4.@)
+ */
+RPC_STATUS RPC_ENTRY
+RpcServerRegisterIf( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv )
+{
+ /* FIXME: Dump UUID using UuidToStringA */
+ TRACE( "(%p,%p,%p)\n", IfSpec, MgrTypeUuid, MgrEpv );
+
+ return RpcServerRegisterIf2( IfSpec, MgrTypeUuid, MgrEpv, 0, RPC_C_LISTEN_MAX_CALLS_DEFAULT, (UINT)-1, NULL );
+}
+
+/***********************************************************************
+ * RpcServerRegisterIfEx (RPCRT4.@)
+ */
+RPC_STATUS RPC_ENTRY
+RpcServerRegisterIfEx( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv,
+ UINT Flags, UINT MaxCalls, RPC_IF_CALLBACK_FN* IfCallbackFn )
+{
+ /* FIXME: Dump UUID using UuidToStringA */
+ TRACE( "(%p,%p,%p,%u,%u,%p)\n", IfSpec, MgrTypeUuid, MgrEpv, Flags, MaxCalls, IfCallbackFn );
+
+ return RpcServerRegisterIf2( IfSpec, MgrTypeUuid, MgrEpv, Flags, MaxCalls, (UINT)-1, IfCallbackFn );
+}
+
+/***********************************************************************
+ * RpcServerRegisterIf2 (RPCRT4.@)
+ */
+RPCRTAPI RPC_STATUS RPC_ENTRY
+RpcServerRegisterIf2( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv,
+ UINT Flags, UINT MaxCalls, UINT MaxRpcSize, RPC_IF_CALLBACK_FN* IfCallbackFn )
+{
+ /* FIXME: Dump UUID using UuidToStringA */
+ FIXME( "(%p,%p,%p,%u,%u,%u,%p): stub\n", IfSpec, MgrTypeUuid, MgrEpv, Flags, MaxCalls, MaxRpcSize, IfCallbackFn );
+
+ return RPC_S_UNKNOWN_IF; /* I guess this return code is as good as any failure */
+}
+
+
+/***********************************************************************
+ * RpcServerRegisterAuthInfoA (RPCRT4.@)
+ */
+RPCRTAPI RPC_STATUS RPC_ENTRY
+RpcServerRegisterAuthInfoA( LPSTR ServerPrincName, ULONG AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
+ LPVOID Arg )
+{
+ FIXME( "(%s,%lu,%p,%p): stub\n", ServerPrincName, AuthnSvc, GetKeyFn, Arg );
+
+ return RPC_S_UNKNOWN_AUTHN_SERVICE; /* We don't know any authentication services */
+}
+
+/***********************************************************************
+ * RpcServerRegisterAuthInfoW (RPCRT4.@)
+ */
+RPCRTAPI RPC_STATUS RPC_ENTRY
+RpcServerRegisterAuthInfoW( LPWSTR ServerPrincName, ULONG AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
+ LPVOID Arg )
+{
+ FIXME( "(%s,%lu,%p,%p): stub\n", debugstr_w( ServerPrincName ), AuthnSvc, GetKeyFn, Arg );
+
+ return RPC_S_UNKNOWN_AUTHN_SERVICE; /* We don't know any authentication services */
+}
+
+/***********************************************************************
+ * RpcServerListen (RPCRT4.@)
+ */
+RPCRTAPI RPC_STATUS RPC_ENTRY
+RpcServerListen( UINT MinimumCallThreads, UINT MaxCalls, UINT DontWait )
+{
+ FIXME( "(%u,%u,%u): stub\n", MinimumCallThreads, MaxCalls, DontWait );
+
+ return RPC_S_NO_PROTSEQS_REGISTERED; /* Since we don't allow registration this seems reasonable */
+}
+
+/***********************************************************************
+ * RpcStringBindingComposeA (RPCRT4.@)
+ */
+RPCRTAPI RPC_STATUS RPC_ENTRY
+RpcStringBindingComposeA( LPSTR ObjUuid, LPSTR Protseq, LPSTR NetworkAddr, LPSTR Endpoint,
+ LPSTR Options, LPSTR* StringBinding )
+{
+ FIXME( "(%s,%s,%s,%s,%s,%p): stub\n", ObjUuid, Protseq, NetworkAddr, Endpoint, Options, StringBinding );
+ *StringBinding = NULL;
+
+ return RPC_S_INVALID_STRING_UUID; /* Failure */
+}
+
+/***********************************************************************
+ * RpcStringBindingComposeW (RPCRT4.@)
+ */
+RPCRTAPI RPC_STATUS RPC_ENTRY
+RpcStringBindingComposeW( LPWSTR ObjUuid, LPWSTR Protseq, LPWSTR NetworkAddr, LPWSTR Endpoint,
+ LPWSTR Options, LPWSTR* StringBinding )
+{
+ FIXME( "(%s,%s,%s,%s,%s,%p): stub\n", debugstr_w( ObjUuid ), debugstr_w( Protseq ), debugstr_w( NetworkAddr ),
+ debugstr_w( Endpoint ), debugstr_w( Options ), StringBinding );
+ *StringBinding = NULL;
+
+ return RPC_S_INVALID_STRING_UUID; /* Failure */
+}
+
+/***********************************************************************
+ * RpcBindingFromStringBindingA (RPCRT4.@)
+ */
+RPCRTAPI RPC_STATUS RPC_ENTRY
+RpcBindingFromStringBindingA( LPSTR StringBinding, RPC_BINDING_HANDLE* Binding )
+{
+ FIXME( "(%s,%p): stub\n", StringBinding, Binding );
+
+ return RPC_S_INVALID_STRING_BINDING; /* As good as any failure code */
+}
+
+/***********************************************************************
+ * RpcBindingFromStringBindingW (RPCRT4.@)
+ */
+RPCRTAPI RPC_STATUS RPC_ENTRY
+RpcBindingFromStringBindingW( LPWSTR StringBinding, RPC_BINDING_HANDLE* Binding )
+{
+ FIXME( "(%s,%p): stub\n", debugstr_w( StringBinding ), Binding );
+
+ return RPC_S_INVALID_STRING_BINDING; /* As good as any failure code */
}
More information about the wine-patches
mailing list