Changeset 2650 for trunk/src/crtdll


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

Added version resource

Location:
trunk/src/crtdll
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/crtdll/crtdll.def

    r2223 r2650  
    1 ; $Id: crtdll.def,v 1.12 1999-12-28 10:31:00 sandervl Exp $
     1; $Id: crtdll.def,v 1.13 2000-02-05 01:55:11 sandervl Exp $
    22
    33;
     
    146146    _heapwalk                   = _CRTDLL__heapwalk             @133
    147147    _hypot                      = _CRTDLL__hypot                @134
    148     _initterm                   = _DLL_InitTerm                 @135
     148    _initterm                   = _CRTDLL_Init@12               @135
    149149    _iob                        = CRTDLL_iob                    @136
    150150    _isatty                     = _CRTDLL__isatty               @137
  • trunk/src/crtdll/initterm.cpp

    r951 r2650  
    1 /* $Id: initterm.cpp,v 1.2 1999-09-15 23:26:06 sandervl Exp $ */
     1/* $Id: initterm.cpp,v 1.3 2000-02-05 01:55:11 sandervl Exp $ */
    22
    33/*
     
    3434#include <misc.h>       /*PLF Wed  98-03-18 23:18:15*/
    3535#include <win32type.h>
     36#include <winconst.h>
    3637#include <odinlx.h>
    3738
     
    3940void CDECL _ctordtorInit( void );
    4041void CDECL _ctordtorTerm( void );
     42
     43 //Win32 resource table (produced by wrc)
     44 extern DWORD _Resource_PEResTab;
    4145}
    4246
    4347BOOL WIN32API CRTDLL_Init(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved);
    4448
    45 /*-------------------------------------------------------------------*/
    46 /* A clean up routine registered with DosExitList must be used if    */
    47 /* runtime calls are required and the runtime is dynamically linked. */
    48 /* This will guarantee that this clean up routine is run before the  */
    49 /* library DLL is terminated.                                        */
    50 /*-------------------------------------------------------------------*/
    51 static void APIENTRY cleanup(ULONG reason);
     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 CRTDLL_Init(hinstDLL, fdwReason, fImpLoad);
    5259
    53 
     60   case DLL_PROCESS_DETACH:
     61        CRTDLL_Init(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          rc = DosExitList(0x0000F000|EXLST_ADD, cleanup);
    86          if(rc)
    87                 return 0UL;
    88 
    89          if(RegisterLxDll(hModule, CRTDLL_Init, 0) == FALSE)
     93         if(RegisterLxDll(hModule, LibMain, (PVOID)&_Resource_PEResTab) == FALSE)
    9094                return 0UL;
    9195
     
    104108   return 1UL;
    105109}
    106 
    107 
    108 static void APIENTRY cleanup(ULONG ulReason)
    109 {
    110    _ctordtorTerm();
    111    DosExitList(EXLST_EXIT, cleanup);
    112    return ;
    113 }
     110//******************************************************************************
     111//******************************************************************************
  • trunk/src/crtdll/makefile

    r2618 r2650  
    1 # $Id: makefile,v 1.6 2000-02-03 21:37:49 sandervl Exp $
     1# $Id: makefile,v 1.7 2000-02-05 01:55:11 sandervl Exp $
    22
    33#
     
    2323
    2424OBJS =  crtdll.obj asmhlp.obj stubs.obj internal.obj crt_string.obj \
    25         crt_memory.obj crt_mb.obj crt_wc.obj initterm.obj
     25        crt_memory.obj crt_mb.obj crt_wc.obj initterm.obj resource.obj
    2626
    2727all: $(TARGET).dll $(TARGET).lib
     
    4242        $(IMPDEF) $** $@
    4343
     44resource.asm: $(TARGET).rc
     45    $(RC) $(RCFLAGS) -o resource.asm $(TARGET).rc
    4446
    45 initterm.obj:   initterm.cpp
     47resource.obj: resource.asm
     48
     49initterm.obj:   initterm.cpp $(PDWIN32_INCLUDE)\exitlist.h
    4650asmhlp.obj:     asmhlp.asm
    4751stubs.obj:      stubs.cpp
Note: See TracChangeset for help on using the changeset viewer.