Ignore:
Timestamp:
Feb 5, 2000, 3:19:44 AM (26 years ago)
Author:
sandervl
Message:

Added version resource

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/NTDLL/initterm.cpp

    r2122 r2650  
    1 /* $Id: initterm.cpp,v 1.8 1999-12-18 20:01:13 sandervl Exp $ */
     1/* $Id: initterm.cpp,v 1.9 2000-02-05 02:05:00 sandervl Exp $ */
    22
    33/*
     
    3333#include <odin.h>
    3434#include <win32type.h>
     35#include <winconst.h>
    3536#include <odinlx.h>
    3637#include <misc.h>       /*PLF Wed  98-03-18 23:18:15*/
     
    3940void CDECL _ctordtorInit( void );
    4041void CDECL _ctordtorTerm( void );
     42
     43 //Win32 resource table (produced by wrc)
     44 extern DWORD _Resource_PEResTab;
    4145}
    42 
    43 /*-------------------------------------------------------------------*/
    44 /* A clean up routine registered with DosExitList must be used if    */
    45 /* runtime calls are required and the runtime is dynamically linked. */
    46 /* This will guarantee that this clean up routine is run before the  */
    47 /* library DLL is terminated.                                        */
    48 /*-------------------------------------------------------------------*/
    49 static void APIENTRY cleanup(ULONG reason);
    50 
    5146
    5247BOOL WINAPI NTDLL_LibMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved);
    5348
     49//******************************************************************************
     50//******************************************************************************
     51BOOL WINAPI LibMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
     52{
     53   switch (fdwReason)
     54   {
     55   case DLL_PROCESS_ATTACH:
     56   case DLL_THREAD_ATTACH:
     57   case DLL_THREAD_DETACH:
     58        return NTDLL_LibMain(hinstDLL, fdwReason, fImpLoad);
     59
     60   case DLL_PROCESS_DETACH:
     61        NTDLL_LibMain(hinstDLL, fdwReason, fImpLoad);
     62        _ctordtorTerm();
     63        return TRUE;
     64   }
     65   return FALSE;
     66}
    5467/****************************************************************************/
    5568/* _DLL_InitTerm is the function that gets called by the operating system   */
     
    7891         CheckVersionFromHMOD(PE2LX_VERSION, hModule); /*PLF Wed  98-03-18 05:28:48*/
    7992
    80          /*******************************************************************/
    81          /* A DosExitList routine must be used to clean up if runtime calls */
    82          /* are required and the runtime is dynamically linked.             */
    83          /*******************************************************************/
    84 
    85          if(RegisterLxDll(hModule, NTDLL_LibMain, 0) == FALSE)
     93         if(RegisterLxDll(hModule, LibMain, (PVOID)&_Resource_PEResTab) == FALSE)
    8694                return 0UL;
    87 
    88          rc = DosExitList(0x0000F000|EXLST_ADD, cleanup);
    89          if(rc)
    90                 return 0UL;
    9195
    9296         break;
     
    103107   return 1UL;
    104108}
    105 
    106 
    107 static void APIENTRY cleanup(ULONG ulReason)
    108 {
    109    _ctordtorTerm();
    110    DosExitList(EXLST_EXIT, cleanup);
    111    return ;
    112 }
     109//******************************************************************************
     110//******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.