Ignore:
Timestamp:
Oct 20, 2000, 1:45:25 PM (25 years ago)
Author:
sandervl
Message:

build special VIO version of PE loader

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/peldr/pe.cpp

    r4445 r4501  
    1 /* $Id: pe.cpp,v 1.23 2000-10-06 15:15:25 sandervl Exp $ */
     1/* $Id: pe.cpp,v 1.24 2000-10-20 11:45:25 sandervl Exp $ */
    22
    33/*
     
    6767
    6868//should be the same as in ..\kernel32\winexepeldr.h
    69 typedef BOOL (* WIN32API WIN32CTOR)(char *, char *, char *, ULONG, BOOL);
     69typedef BOOL (* WIN32API WIN32CTOR)(char *, char *, char *, ULONG, BOOL, BOOL);
    7070
    7171WIN32CTOR   CreateWin32Exe       = 0;
     
    8888 PPIB   ppib;
    8989 char  *cmdline, *win32cmdline, *peoptions, *newcmdline;
    90  BOOL   fQuote = FALSE;
     90 BOOL   fQuote = FALSE, fVioConsole;
    9191 int    nrTries = 1;
    9292
     
    175175  }
    176176
     177#ifdef COMMAND_LINE_VERSION
     178  if(DosGetInfoBlocks(&ptib, &ppib) == 0) {
     179        //switch process type to PM so the command line app can create PM
     180        //windows
     181        ppib->pib_ultype = 3;
     182  }
     183#endif
     184
    177185  rc = DosLoadModule(exeName, sizeof(exeName), "PMWIN.DLL", &hmodPMWin);
    178186  rc = DosQueryProcAddr(hmodPMWin, ORD_WIN32INITIALIZE, NULL, (PFN *)&MyWinInitialize);
     
    198206        goto fail;
    199207  }
    200   rc = DosQueryProcAddr(hmodKernel32, 0, "_CreateWin32PeLdrExe@20", (PFN *)&CreateWin32Exe);
    201 
    202   if(CreateWin32Exe(exeName, win32cmdline, peoptions, reservedMemory, fConsoleApp) == FALSE) {
     208  rc = DosQueryProcAddr(hmodKernel32, 0, "_CreateWin32PeLdrExe@24", (PFN *)&CreateWin32Exe);
     209
     210#ifdef COMMAND_LINE_VERSION
     211  fVioConsole = TRUE;
     212#else
     213  fVioConsole = FALSE;
     214#endif
     215  if(CreateWin32Exe(exeName, win32cmdline, peoptions, reservedMemory, fConsoleApp, fVioConsole) == FALSE) {
    203216        goto fail;
    204217  }
Note: See TracChangeset for help on using the changeset viewer.