admin
base
basedrv
boot
busdrv
cluster
cmd
crts
ddk
dload
dloadhandler
efiutil
eventlog
firmware
fs
fsrec
hals
headless
inc
mspatch
mvdm
ntdll
alpha
amd64
axp64
daytona
i386
ia64
wow6432
amd64
i386
services.stb
table.stb
makefile
makefile.inc
ntwow64.h
ntwow64.tab
sources
wow64csr.c
wow64nt.c
alphadef.src
amd64def.src
avrfp.h
axp64def.src
buffer.c
csrdll.h
csrinit.c
csrtask.c
csrutil.c
curdir.c
dbgdllp.h
debtrace.hxx
dirs
dllssstb.c
dlluistb.c
filestm.c
frame.c
heaptag.c
i386.inc
i386def.src
ia64def.src
importtablehash.c
importtablehash.h
ldrapi.c
ldrinit.c
ldrp.h
ldrsnap.c
ldrutil.c
ldrwx86.c
lpcsvr.c
lpcsvr.h
makefile.nap
memstm.c
ntdll.inc
ntdll.prf
ntdll.rc
ntdlldef.src
ntdllp.h
ntnap.c
ntnap.h
ntnapdef.src
pch.cxx
propapi.h
propfwd.cxx
propset.h
propstm.hxx
propvar.h
query.c
resource.c
seurtl.c
sxsactctx.c
sxsctxact.c
sxsctxsrch.c
sxsp.h
sxsquery.c
sxsstorage.c
sxsstoragemap.c
tenv.c
terminate.cpp
tpath.c
uilist.c
update.bat
vectxcpt.c
verifier.c
wow64apc.c
ntdllsym
ntos
ntsetup
pnp
published
qfe
remoteboot
screg
seaudit
strsafe
stublibs
subsys
testlockout
tools
urtl
wdmdrv
wdmlib
win32
wmi
wow64
xip
zlib
dirs
prerelease.inc
project.mk
com
developer
drivers
ds
enduser
inetcore
inetsrv
loc
mergedcomponents
multimedia
net
printscan
public
published
sdktools
shell
termsrv
tools
windows
dirs
makefil0
103 lines
2.0 KiB
Plaintext
103 lines
2.0 KiB
Plaintext
0 ; This is the number of in register arguments
|
||
;++
|
||
;
|
||
; Copyright (c) 1989 Microsoft Corporation
|
||
;
|
||
; Module Name:
|
||
;
|
||
; systable.asm
|
||
;
|
||
; Abstract:
|
||
;
|
||
; This module implements the system service dispatch table.
|
||
;
|
||
; Author:
|
||
;
|
||
; Shie-Lin Tzong (shielint) 6-Feb-1990
|
||
;
|
||
; Environment:
|
||
;
|
||
; Kernel mode only.
|
||
;
|
||
; Revision History:
|
||
;
|
||
;--
|
||
|
||
;
|
||
; To add a system service simply add the name of the service to the below
|
||
; table. If the system service has arguments, then immediately
|
||
; follow the name of the serice with a comma and following that the number
|
||
; of bytes of in memory arguments, e.g. CreateObject,40.
|
||
;
|
||
|
||
;ifdef i386
|
||
|
||
.386p
|
||
include callconv.inc
|
||
TABLE_BEGIN1 macro t
|
||
TITLE t
|
||
endm
|
||
TABLE_BEGIN2 macro t
|
||
_DATA SEGMENT DWORD PUBLIC 'DATA'
|
||
ASSUME DS:FLAT
|
||
endm
|
||
TABLE_BEGIN3 macro t
|
||
align 4
|
||
endm
|
||
TABLE_BEGIN4 macro t
|
||
public _KiServiceTable
|
||
_KiServiceTable label dword
|
||
endm
|
||
TABLE_BEGIN5 macro t
|
||
endm
|
||
TABLE_BEGIN6 macro t
|
||
endm
|
||
TABLE_BEGIN7 macro t
|
||
endm
|
||
TABLE_BEGIN8 macro t
|
||
endm
|
||
|
||
TABLE_ENTRY macro l,bias,numargs
|
||
Local Bytes
|
||
|
||
Bytes = numargs*4
|
||
|
||
EXTRNP _Nt&l,&numargs
|
||
IFDEF STD_CALL
|
||
ComposeInst <dd offset FLAT:>,_Nt,l,<@>,%(Bytes)
|
||
ELSE
|
||
dd offset FLAT:_Nt&l
|
||
ENDIF
|
||
endm
|
||
|
||
TABLE_END macro n
|
||
public _KiServiceLimit
|
||
_KiServiceLimit dd n+1
|
||
endm
|
||
|
||
ARGTBL_BEGIN macro
|
||
public _KiArgumentTable
|
||
_KiArgumentTable label dword
|
||
endm
|
||
|
||
ARGTBL_ENTRY macro e0,e1,e2,e3,e4,e5,e6,e7
|
||
db e0,e1,e2,e3,e4,e5,e6,e7
|
||
endm
|
||
|
||
ARGTBL_END macro
|
||
_DATA ENDS
|
||
end
|
||
endm
|
||
|
||
;endif
|
||
|
||
TABLE_BEGIN1 <"System Service Dispatch Table">
|
||
TABLE_BEGIN2 <"System Service Dispatch Table">
|
||
TABLE_BEGIN3 <"System Service Dispatch Table">
|
||
TABLE_BEGIN4 <"System Service Dispatch Table">
|
||
TABLE_BEGIN5 <"System Service Dispatch Table">
|
||
TABLE_BEGIN6 <"System Service Dispatch Table">
|
||
TABLE_BEGIN7 <"System Service Dispatch Table">
|
||
TABLE_BEGIN8 <"System Service Dispatch Table">
|
||
|