Changeset 5247 for trunk/src/win32k/ldr


Ignore:
Timestamp:
Feb 23, 2001, 3:57:55 AM (25 years ago)
Author:
bird
Message:

Calltable fixes. Handle event. New 14062e kernels.

Location:
trunk/src/win32k/ldr
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/win32k/ldr/myldrGetFileName.asm

    r4780 r5247  
    1 ; $Id: myldrGetFileName.asm,v 1.1 2000-12-11 06:33:00 bird Exp $
     1; $Id: myldrGetFileName.asm,v 1.2 2001-02-23 02:57:54 bird Exp $
    22;
    33; myldrGetFileName2 - assembly helper for ldrGetFileName.
     
    6161    push    dword ptr [esp + 0ch]
    6262    push    dword ptr [esp + 0ch]
    63     call    near ptr FLAT:CALLTAB:_ldrGetFileName@12
     63    call    _ldrGetFileName@12
    6464
    6565    ;
  • trunk/src/win32k/ldr/myldrOpenPatha.asm

    r4347 r5247  
    1 ; $Id: myldrOpenPatha.asm,v 1.4 2000-10-01 02:58:19 bird Exp $
     1; $Id: myldrOpenPatha.asm,v 1.5 2001-02-23 02:57:54 bird Exp $
    22;
    33; myldrOpenPatha - assembly helpers for myldrOpenPath.
     
    6363    push    dword ptr [esp + 10h]
    6464    push    dword ptr [esp + 10h]
    65     call    near ptr FLAT:CALLTAB:_ldrOpenPath_wrapped
     65    call    _ldrOpenPath_wrapped
    6666    ret     14h
    6767endif
     
    9595
    9696new:
    97     jmp     near ptr FLAT:CALLTAB:_ldrOpenPath_wrapped
     97    jmp     _ldrOpenPath_wrapped
    9898_ldrOpenPath@20 ENDP
    9999
  • trunk/src/win32k/ldr/mytkExecPgm.asm

    r4347 r5247  
    1 ; $Id: mytkExecPgm.asm,v 1.12 2000-10-01 02:58:19 bird Exp $
     1; $Id: mytkExecPgm.asm,v 1.13 2001-02-23 02:57:55 bird Exp $
    22;
    33; mytkExecPgm - tkExecPgm overload
     
    176176    mov     di, dx                      ; bx:di is now filename address
    177177    push    cs                          ; Problem calling far into the calltab segement.
    178     call    near ptr FLAT:f_FuStrLen
     178    call    f_FuStrLen                  ; NB/TODO/FIXME: this is a 16-bit call...
    179179    jc      tkepgm_backout              ; If the FuStrLen call failed we bail out!
    180180
     
    195195    mov     di, [ebp + OffArg]          ; bx:di -> arguments
    196196    push    cs                          ; Problem calling far into the calltab segement.
    197     call    near ptr FLAT:f_FuStrLenZ
     197    call    f_FuStrLenZ                 ; NB/TODO/FIXME: this is a 16-bit call...
    198198    jc      tkepgm_backout
    199199
     
    269269    mov     cx, [ebp + cchFilename]     ; cx = length of area to copy
    270270    push    cs                          ; Problem calling far into the calltab segement.
    271     call    near ptr FLAT:f_FuBuff
     271    call    f_FuBuff                    ; NB/TODO/FIXME: this is a 16-bit call...
    272272    jc      tkepgm_backout2             ; In case of error back (quite unlikely).
    273273
     
    290290    mov     cx, [ebp + cchArgs]         ; cx = length of area to copy
    291291    push    cs                          ; Problem calling far into the calltab segement.
    292     call    near ptr FLAT:f_FuBuff
     292    call    f_FuBuff                    ; NB/TODO/FIXME: this is a 16-bit call...
    293293    jc      tkepgm_backout2             ; In case of error back (quite unlikely).
    294294
     
    316316tkepgm_callbehind:
    317317    push    cs                          ; Problem calling far into the calltab segement.
    318     call    near ptr FLAT:g_tkExecPgm
     318    call    g_tkExecPgm
    319319    pushfd                              ; preserve flags
    320320    push    eax                         ; preserve result.
     
    337337    push    eax                         ; Push address of usage count pointer.
    338338    push    pLdrSem                     ; Push pointer to loader semaphore ( = handle).
    339     call    near ptr FLAT:_KSEMQueryMutex@8
     339    call    _KSEMQueryMutex@8
    340340    or      eax, eax                    ; Check return code. (1 = our / free; 0 = not our but take)
    341341    pop     eax                         ; Pops usage count.
     
    411411myg_tkExecPgm_CalltkExecPgm:
    412412    push    cs                          ; Problem calling far into the calltab segement.
    413     call    near ptr FLAT:g_tkExecPgm
     413    call    g_tkExecPgm
    414414    leave
    415415    retf
     
    485485    push    eax                         ; Source buffer pointer. (user)
    486486    push    ebx                         ; Target buffer pointer.
    487     call    near ptr FLAT:_TKFuBuff@16
     487    call    _TKFuBuff@16
    488488
    489489tkepce_ret:
     
    543543    xor     ecx, ecx
    544544    push    cs                          ; Problem calling far into the calltab segement.
    545     call    near ptr FLAT:f_FuStrLenZ
     545    call    f_FuStrLenZ                 ; NB/TODO/FIXME: this is a 16-bit call...
    546546    jc      tkepel_err_ret
    547547    movzx   eax, cx
  • trunk/src/win32k/ldr/mytkStartProcess.asm

    r4347 r5247  
    1 ; $Id: mytkStartProcess.asm,v 1.3 2000-10-01 02:58:19 bird Exp $
     1; $Id: mytkStartProcess.asm,v 1.4 2001-02-23 02:57:55 bird Exp $
    22;
    33; tkStartProcess overloader. Needed to clear the loader semaphore
     
    2626    extrn pLdrSem:DWORD
    2727    extrn _LDRClearSem@0:PROC
    28     extrn _KSEMRequestMutex@8:PROC
    2928    extrn _KSEMQueryMutex@8:PROC
    3029
     
    5352    ;
    5453    extrn _tkStartProcess:PROC
     54
    5555
    5656;
     
    8888    push    eax                         ; Push address of usage count pointer.
    8989    push    pLdrSem                     ; Push pointer to loader semaphore ( = handle).
    90     call    near ptr FLAT:_KSEMQueryMutex@8
     90    call    _KSEMQueryMutex@8
    9191    or      eax, eax                    ; Check return code. (1 = our / free; 0 = not our but take)
    9292    pop     eax                         ; Pops usage count.
     
    9999    cmp     eax, 2                      ; If usage count > 1 then issue a release. (should not happen here)
    100100    jl      mtksp_ret                   ; jmp if usage count < 2. (tkStartProcess or tkExecPgm will free the last usage).
    101     call    near ptr FLAT:_LDRClearSem@0
     101    call    _LDRClearSem@0
    102102
    103103mtksp_ret:
     
    105105    pop     ecx
    106106    pop     eax
    107     jmp     near ptr FLAT:_tkStartProcess
     107    jmp     _tkStartProcess
    108108_mytkStartProcess ENDP
    109109
Note: See TracChangeset for help on using the changeset viewer.