Back to index

lightning-sunbird  0.9+nobinonly
maindll.cpp
Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
00002 /* ***** BEGIN LICENSE BLOCK *****
00003  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
00004  *
00005  * The contents of this file are subject to the Mozilla Public License Version
00006  * 1.1 (the "License"); you may not use this file except in compliance with
00007  * the License. You may obtain a copy of the License at
00008  * http://www.mozilla.org/MPL/
00009  *
00010  * Software distributed under the License is distributed on an "AS IS" basis,
00011  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
00012  * for the specific language governing rights and limitations under the
00013  * License.
00014  *
00015  * The Original Code is mozilla.org code.
00016  *
00017  * The Initial Developer of the Original Code is
00018  * Netscape Communications Corporation.
00019  * Portions created by the Initial Developer are Copyright (C) 1998
00020  * the Initial Developer. All Rights Reserved.
00021  *
00022  * Contributor(s):
00023  *
00024  * Alternatively, the contents of this file may be used under the terms of
00025  * either of the GNU General Public License Version 2 or later (the "GPL"),
00026  * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
00027  * in which case the provisions of the GPL or the LGPL are applicable instead
00028  * of those above. If you wish to allow use of your version of this file only
00029  * under the terms of either the GPL or the LGPL, and not to allow others to
00030  * use your version of this file under the terms of the MPL, indicate your
00031  * decision by deleting the provisions above and replace them with the notice
00032  * and other provisions required by the GPL or the LGPL. If you do not delete
00033  * the provisions above, a recipient may use your version of this file under
00034  * the terms of any one of the MPL, the GPL or the LGPL.
00035  *
00036  * ***** END LICENSE BLOCK ***** */
00037 //
00038 //  DLLMain to get a handle on an hInstance 
00039 //  Written by: Rich Pizzarro (rhp@netscape.com)
00040 //  November 1997
00041 #include <windows.h>
00042 
00043 //  
00044 // global variables
00045 //
00046 HINSTANCE hInstance;
00047 
00048 //
00049 // DLL entry
00050 //  
00051 #ifdef WIN32
00052 /****************************************************************************
00053    FUNCTION: DllMain(HANDLE, DWORD, LPVOID)
00054 
00055    PURPOSE:  DllMain is called by Windows when
00056              the DLL is initialized, Thread Attached, and other times.
00057              Refer to SDK documentation, as to the different ways this
00058              may be called.
00059              
00060              The DllMain function should perform additional initialization
00061              tasks required by the DLL.  In this example, no initialization
00062              tasks are required.  DllMain should return a value of 1 if
00063              the initialization is successful.
00064            
00065 *******************************************************************************/
00066 BOOL APIENTRY DllMain(HANDLE hInstLocal, DWORD ul_reason_being_called, LPVOID lpReserved) 
00067 {
00068   hInstance = (HINSTANCE)hInstLocal;
00069 
00070   if (hInstance != NULL) 
00071          return 1;
00072   else  
00073          return 0;
00074 }
00075 
00076 #else  // WIN16
00077 
00078 
00079 //--------------------------------------------------------------------
00080 // LibMain( hInstance, wDataSegment, wHeapSize, lpszCmdLine ) : WORD
00081 //
00082 //    hInstance      library instance handle
00083 //    wDataSegment   library data segment
00084 //    wHeapSize      default heap size
00085 //    lpszCmdLine    command line arguments
00086 //
00087 //--------------------------------------------------------------------
00088 
00089 int CALLBACK LibMain(HINSTANCE hInstLocal, WORD wDataSegment, WORD wHeapSize, LPSTR lpszCmdLine) 
00090 {
00091   hInstance = hInstLocal;
00092   /* return result 1 = success; 0 = fail */
00093   if (hInstance != NULL) 
00094          return 1;
00095   else
00096          return 0;
00097 }
00098 
00099 #endif // WIN16
00100