diff --git a/src/util/MsgLoaders/Win32/Win32MsgLoader.cpp b/src/util/MsgLoaders/Win32/Win32MsgLoader.cpp index dcaf28f53b4e6859153987b5b952cc6dd3612364..525716614954846e7f5234b3a13e0adc9a4f763f 100644 --- a/src/util/MsgLoaders/Win32/Win32MsgLoader.cpp +++ b/src/util/MsgLoaders/Win32/Win32MsgLoader.cpp @@ -1,37 +1,37 @@ /* * The Apache Software License, Version 1.1 - * - * Copyright (c) 1999-2000 The Apache Software Foundation. All rights + * + * Copyright (c) 1999-2001 The Apache Software Foundation. All rights * reserved. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: - * + * * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * + * notice, this list of conditions and the following disclaimer. + * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. - * + * * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: + * if any, must include the following acknowledgment: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. - * + * * 4. The names "Xerces" and "Apache Software Foundation" must * not be used to endorse or promote products derived from this - * software without prior written permission. For written + * software without prior written permission. For written * permission, please contact apache\@apache.org. - * + * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, without prior written * permission of the Apache Software Foundation. - * + * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE @@ -45,7 +45,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== - * + * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation, and was * originally based on software copyright (c) 1999, International @@ -70,10 +70,33 @@ #include <windows.h> #include "Win32MsgLoader.hpp" - // --------------------------------------------------------------------------- // Public Constructors and Destructor // --------------------------------------------------------------------------- +HINSTANCE globalModuleHandle; + +BOOL APIENTRY DllMain(HINSTANCE hModule, + DWORD ul_reason_for_call, + LPVOID lpReserved) +{ + switch (ul_reason_for_call) { + case DLL_PROCESS_ATTACH: + globalModuleHandle = hModule; + break; + case DLL_THREAD_ATTACH: + break; + case DLL_THREAD_DETACH: + break; + case DLL_PROCESS_DETACH: + break; + } + return TRUE; +} + + +// --------------------------------------------------------------------------- +// Global module handle +// --------------------------------------------------------------------------- Win32MsgLoader::Win32MsgLoader(const XMLCh* const msgDomain) : fDomainOfs(0) @@ -81,7 +104,7 @@ Win32MsgLoader::Win32MsgLoader(const XMLCh* const msgDomain) : , fMsgDomain(0) { // Try to get the module handle - fModHandle = ::GetModuleHandleA(Xerces_DLLName); + fModHandle = globalModuleHandle; if (!fModHandle) { //