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/include/LdrCalls.h

    r4227 r4307  
    1 /* $Id: LdrCalls.h,v 1.5 2000-09-08 21:34:11 bird Exp $
     1/* $Id: LdrCalls.h,v 1.6 2000-09-22 09:22:37 bird Exp $
    22 *
    33 * Prototypes for the loader overrided function.
     
    138138/**
    139139 * ldrOpenPath
     140 *  pre 14053.
    140141 * @returns   OS2 return code.
    141142 *            pLdrLv->lv_sfn  is set to filename handle.
     
    155156 *  endif
    156157 */
    157 extern ULONG LDRCALL ldrOpenPath(   /* retd  0x10 */
     158extern ULONG LDRCALL ldrOpenPath_old(   /* retd  0x10 */
    158159    PCHAR       pachFilename,       /* ebp + 0x08 */
    159160    USHORT      cchFilename,        /* ebp + 0x0c */
     
    162163    );
    163164
    164 ULONG LDRCALL myldrOpenPath(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *plv, PULONG pful);
     165ULONG LDRCALL myldrOpenPath_old(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *plv, PULONG pful);
     166
     167
     168/**
     169 * ldrOpenPath - ldrOpenPath for build 14053 and above.
     170 *
     171 * @returns   OS2 return code.
     172 *            plv->lv_sfn  is set to filename handle.
     173 * @param     pachFilename  Pointer to modulename. Not zero terminated!
     174 * @param     cchFilename   Modulename length.
     175 * @param     plv           Loader local variables? (Struct from KERNEL.SDF)
     176 * @param     pful          Pointer to flags which are passed on to ldrOpen.
     177 * @param     lLibPath      New parameter in build 14053.
     178 *                          ldrGetMte calls with 1
     179 *                          ldrOpenNewExe calls with 3
     180 *                          This is compared to the initial libpath index.
     181 *                              The libpath index is:
     182 *                                  BEGINLIBPATH    1
     183 *                                  LIBPATH         2
     184 *                                  ENDLIBPATH      3
     185 *                              The initial libpath index is either 1 or 2.
     186 *
     187 * @sketch
     188 * This is roughly what the original ldrOpenPath does:
     189 *      Save pTCBCur->TCBFailErr.
     190 *      if !CLASS_GLOBAL or miniifs then
     191 *          ldrOpen(pachFilename)
     192 *      else
     193 *          if beglibpath != NULL then path = 1 else path = 2
     194 *          if (lLibPath < path)
     195 *              return ERROR_FILE_NOT_FOUND; (2)
     196 *          Allocate buffer.
     197 *          loop until no more libpath elements
     198 *              get next libpath element and add it to the modname.
     199 *              try open the modname
     200 *              if successfull then break the loop.
     201 *          endloop
     202 *          Free buffer.
     203 *      endif
     204 *      Restore pTCBCur->TCBFailErr.
     205 */
     206extern ULONG LDRCALL ldrOpenPath(  /* retd  0x14 */
     207    PCHAR       pachFilename,      /* ebp + 0x08 */
     208    USHORT      cchFilename,       /* ebp + 0x0c */
     209    ldrlv_t *   plv,               /* ebp + 0x10 */
     210    PULONG      pful,              /* ebp + 0x14 */
     211    ULONG       lLibPath           /* ebp + 0x18 */
     212    );
     213
     214ULONG LDRCALL myldrOpenPath(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *plv, PULONG pful, ULONG lLibPath);
    165215
    166216
Note: See TracChangeset for help on using the changeset viewer.