Module: wine Branch: refs/heads/master Commit: 891c83d976299f010794138e45c17fa6b15c578a URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=891c83d976299f010794138e...
Author: Robert Shearman rob@codeweavers.com Date: Wed Aug 9 18:15:56 2006 +0100
include: Add DLL registration macros to rpcproxy.h for dlldata.c files.
---
include/rpcproxy.h | 31 ++++++++++++++++++++++++++++++- 1 files changed, 30 insertions(+), 1 deletions(-)
diff --git a/include/rpcproxy.h b/include/rpcproxy.h index 824462a..a4adc02 100644 --- a/include/rpcproxy.h +++ b/include/rpcproxy.h @@ -303,7 +303,36 @@ #define DLLCANUNLOADNOW(factory) \ return NdrDllCanUnloadNow((factory)); \ }
-#define DLLREGISTRY_ROUTINES(pfl, factory_clsid) +#define REGISTER_PROXY_DLL_ROUTINES(pfl, factory_clsid) \ + HINSTANCE hProxyDll = NULL; \ + \ + BOOL WINAPI DLLMAIN_ENTRY(HINSTANCE hinstDLL, DWORD fdwReason, \ + LPVOID lpvReserved) \ + { \ + if (fdwReason == DLL_PROCESS_ATTACH) \ + { \ + DisableThreadLibraryCalls(hinstDLL); \ + hProxyDll = hinstDLL; \ + } \ + return TRUE; \ + } \ + \ + HRESULT WINAPI DLLREGISTERSERVER_ENTRY(void) \ + { \ + return NdrDllRegisterProxy(hProxyDll, (pfl), (factory_clsid)); \ + } \ + \ + HRESULT WINAPI DLLUNREGISTERSERVER_ENTRY(void) \ + { \ + return NdrDllUnregisterProxy(hProxyDll, (pfl), (factory_clsid)); \ + } + +#ifdef REGISTER_PROXY_DLL +# define DLLREGISTRY_ROUTINES(pfl, factory_clsid) \ + REGISTER_PROXY_DLL_ROUTINES(pfl, factory_clsid) +#else +# define DLLREGISTRY_ROUTINES(pfl, factory_clsid) +#endif
#define DLLDATA_ROUTINES(pfl, factory_clsid) \ CLSID_PSFACTORYBUFFER \