From de5316b8012d33d8c7f5f7d9e4e8018e99b7bcba Mon Sep 17 00:00:00 2001 From: Mike McCormack Date: Tue, 29 Jan 2002 18:16:39 +0000 Subject: [PATCH] Added stubs for NdrDllCanUnloadNow and NdrDllGetClassObject. --- dlls/rpcrt4/rpcrt4.spec | 6 +++--- dlls/rpcrt4/rpcrt4_main.c | 35 ++++++++++++++++++++++++++++++++++- 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/dlls/rpcrt4/rpcrt4.spec b/dlls/rpcrt4/rpcrt4.spec index 24bb309a922..0b79c0bd240 100644 --- a/dlls/rpcrt4/rpcrt4.spec +++ b/dlls/rpcrt4/rpcrt4.spec @@ -23,8 +23,8 @@ debug_channels (ole) @ stub MqGetContext # win9x @ stub MqRegisterQueue # win9x -@ stub NdrDllCanUnloadNow -@ stub NdrDllGetClassObject +@ stdcall NdrDllCanUnloadNow(ptr) NdrDllCanUnloadNow +@ stdcall NdrDllGetClassObject() NdrDllGetClassObject @ stdcall NdrDllRegisterProxy(long ptr ptr) NdrDllRegisterProxy @ stub NdrDllUnregisterProxy @@ -36,7 +36,7 @@ debug_channels (ole) @ stub RpcAsyncInitializeHandle @ stub RpcAsyncRegisterInfo @ stub RpcBindingCopy -@ stub RpcBindingFree +@ stdcall RpcBindingFree(ptr) RpcBindingFree @ stdcall RpcBindingFromStringBindingA(str ptr) RpcBindingFromStringBindingA @ stdcall RpcBindingFromStringBindingW(wstr ptr) RpcBindingFromStringBindingW @ stub RpcBindingInqAuthClientA diff --git a/dlls/rpcrt4/rpcrt4_main.c b/dlls/rpcrt4/rpcrt4_main.c index d2e4badb955..a1f7ca17f94 100644 --- a/dlls/rpcrt4/rpcrt4_main.c +++ b/dlls/rpcrt4/rpcrt4_main.c @@ -18,6 +18,10 @@ #include "winbase.h" #include "rpc.h" +#include "ole2.h" +#include "rpcndr.h" +#include "rpcproxy.h" + #ifdef HAVE_SYS_FILE_H # include #endif @@ -342,7 +346,7 @@ RPC_STATUS WINAPI UuidToStringA(UUID *Uuid, unsigned char** StringUuid) */ HRESULT WINAPI NdrDllRegisterProxy( HMODULE hDll, /* [in] */ - void **pProxyFileList, /* [???] FIXME: const ProxyFileInfo ** */ + const ProxyFileInfo **pProxyFileList, /* [in] */ const CLSID *pclsid /* [in] */ ) { @@ -503,6 +507,14 @@ RPC_STATUS WINAPI RpcStringBindingComposeW( LPWSTR ObjUuid, LPWSTR Protseq, LPWS return RPC_S_INVALID_STRING_UUID; /* Failure */ } +/*********************************************************************** + * RpcBindingFree (RPCRT4.@) + */ +RPC_STATUS WINAPI RpcBindingFree(/*RPC_BINDING_HANDLE* */ void * Binding) +{ + FIXME("(%p): stub\n", Binding); + return RPC_S_OK; +} /*********************************************************************** * RpcBindingFromStringBindingA (RPCRT4.@) */ @@ -522,3 +534,24 @@ RPC_STATUS WINAPI RpcBindingFromStringBindingW( LPWSTR StringBinding, RPC_BINDIN return RPC_S_INVALID_STRING_BINDING; /* As good as any failure code */ } + +/*********************************************************************** + * NdrDllCanUnloadNow (RPCRT4.@) + */ +HRESULT WINAPI NdrDllCanUnloadNow(CStdPSFactoryBuffer *pPSFactoryBuffer) +{ + FIXME("%p\n",pPSFactoryBuffer); + return FALSE; +} + +HRESULT WINAPI NdrDllGetClassObject( + REFCLSID rclsid, REFIID riid , LPVOID *ppv, + const ProxyFileInfo ** pProxyFileList, + const CLSID * pclsid, + CStdPSFactoryBuffer * pPSFactoryBuffer) +{ + if(ppv) + *ppv = NULL; + return RPC_S_UNKNOWN_IF; +} +