blob: 617c0ef005d251a62b7621d5287645c9a6b49f40 (
plain) (
tree)
|
|
title "LdrInitializeThunk"
;++
;
; Copyright (c) 1989 Microsoft Corporation
;
; Module Name:
;
; ldrthunk.s
;
; Abstract:
;
; This module implements the thunk for the LdrpInitialize APC routine.
;
; Author:
;
; Steven R. Wood (stevewo) 27-Apr-1990
;
; Environment:
;
; Any mode.
;
; Revision History:
;
;--
.386p
.xlist
include ks386.inc
include callconv.inc ; calling convention macros
.list
EXTRNP _LdrpInitialize,3
_TEXT SEGMENT DWORD PUBLIC 'CODE'
ASSUME DS:FLAT, ES:FLAT, SS:NOTHING, FS:NOTHING, GS:NOTHING
page , 132
;++
;
; VOID
; LdrInitializeThunk(
; IN PVOID NormalContext,
; IN PVOID SystemArgument1,
; IN PVOID SystemArgument2
; )
;
; Routine Description:
;
; This function computes a pointer to the context record on the stack
; and jumps to the LdrpInitialize function with that pointer as its
; parameter.
;
; Arguments:
;
; NormalContext - User Mode APC context parameter (ignored).
;
; SystemArgument1 - User Mode APC system argument 1 (ignored).
;
; SystemArgument2 - User Mode APC system argument 2 (ignored).
;
; Return Value:
;
; None.
;
;--
cPublicProc _LdrInitializeThunk , 4
NormalContext equ [esp + 4]
SystemArgument1 equ [esp + 8]
SystemArgument2 equ [esp + 12]
Context equ [esp + 16]
lea eax,Context ; Calculate address of context record
mov NormalContext,eax ; Pass as first parameter to
if DEVL
xor ebp,ebp ; Mark end of frame pointer list
endif
IFDEF STD_CALL
jmp _LdrpInitialize@12 ; LdrpInitialize
ELSE
jmp _LdrpInitialize ; LdrpInitialize
ENDIF
stdENDP _LdrInitializeThunk
_TEXT ends
end
|