Ignore:
Timestamp:
Sep 22, 2000, 11:22:43 AM (25 years ago)
Author:
bird
Message:

Corrected problem with kernel build 14053. (new parameter to ldrOpenPath)
Added symbols for 14053 and 8266.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/win32k/ldr/ModuleBase.cpp

    r4164 r4307  
    1 /* $Id: ModuleBase.cpp,v 1.4 2000-09-02 21:08:06 bird Exp $
     1/* $Id: ModuleBase.cpp,v 1.5 2000-09-22 09:22:39 bird Exp $
    22 *
    33 * ModuleBase - Implementetation.
     
    174174 * @param     pLdrLv        Loader local variables? (Struct from KERNEL.SDF)
    175175 * @param     pful          Pointer to flags which are passed on to ldrOpen.
     176 * @param     lLibPath      New parameter in build 14053(/8266?)
     177 *                          ldrGetMte calls with 1
     178 *                          ldrOpenNewExe calls with 3
     179 *                          This is compared to the initial libpath index.
     180 *                              The libpath index is:
     181 *                                  BEGINLIBPATH    1
     182 *                                  LIBPATH         2
     183 *                                  ENDLIBPATH      3
     184 *                              The initial libpath index is either 1 or 2.
     185 *                          Currently we'll ignore it. (I don't know why ldrGetMte calls ldrOpenPath...)
    176186 * @sketch
    177187 * This is roughly what the original ldrOpenPath does:
     188 *      Save pTCBCur->TCBFailErr.
    178189 *      if !CLASS_GLOBAL or miniifs then
    179  *          ldrOpen(pachModName)
     190 *          ldrOpen(pachFilename)
    180191 *      else
     192 *          if beglibpath != NULL then path = 1 else path = 2
     193 *          if (lLibPath < path)
     194 *              return ERROR_FILE_NOT_FOUND; (2)
     195 *          Allocate buffer.
    181196 *          loop until no more libpath elements
    182197 *              get next libpath element and add it to the modname.
     
    184199 *              if successfull then break the loop.
    185200 *          endloop
     201 *          Free buffer.
    186202 *      endif
    187  */
    188 ULONG  ModuleBase::openPath(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *pLdrLv, PULONG pful) /* (ldrOpenPath) */
     203 *      Restore pTCBCur->TCBFailErr.
     204 */
     205ULONG  ModuleBase::openPath(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *pLdrLv, PULONG pful, ULONG lLibPath) /* (ldrOpenPath) */
    189206{
    190207    #ifdef RING0
    191208    printf("ModuleBase::openPath:\n");
    192     return ldrOpenPath(pachFilename, cchFilename, pLdrLv, pful);
     209    return ldrOpenPath(pachFilename, cchFilename, pLdrLv, pful, lLibPath);
    193210    #else
    194211    NOREF(pachFilename);
Note: See TracChangeset for help on using the changeset viewer.