Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
1b85b6ca
Commit
1b85b6ca
authored
Jul 25, 2017
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
krnl386: Use RtlCaptureContext and NtSetContextThread to implement register functions.
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
c5a35d89
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
74 additions
and
62 deletions
+74
-62
kernel32.spec
dlls/kernel32/kernel32.spec
+21
-21
kernel16_private.h
dlls/krnl386.exe16/kernel16_private.h
+19
-7
krnl386.exe16.spec
dlls/krnl386.exe16/krnl386.exe16.spec
+21
-21
thunk.c
dlls/krnl386.exe16/thunk.c
+12
-12
vxd.c
dlls/krnl386.exe16/vxd.c
+1
-1
No files found.
dlls/kernel32/kernel32.spec
View file @
1b85b6ca
...
...
@@ -8,15 +8,15 @@
# - code generated by the MS Thunk Compiler
# - symbols exported by the Oct 94 beta version of kernel32.dll
1 stdcall -noname -i386 -private -
register
VxDCall0() krnl386.exe16.VxDCall0
2 stdcall -noname -i386 -private -
register
VxDCall1() krnl386.exe16.VxDCall1
3 stdcall -noname -i386 -private -
register
VxDCall2() krnl386.exe16.VxDCall2
4 stdcall -noname -i386 -private -
register
VxDCall3() krnl386.exe16.VxDCall3
5 stdcall -noname -i386 -private -
register
VxDCall4() krnl386.exe16.VxDCall4
6 stdcall -noname -i386 -private -
register
VxDCall5() krnl386.exe16.VxDCall5
7 stdcall -noname -i386 -private -
register
VxDCall6() krnl386.exe16.VxDCall6
8 stdcall -noname -i386 -private -
register
VxDCall7() krnl386.exe16.VxDCall7
9 stdcall -noname -i386 -private -
register
VxDCall8() krnl386.exe16.VxDCall8
1 stdcall -noname -i386 -private -
norelay
VxDCall0() krnl386.exe16.VxDCall0
2 stdcall -noname -i386 -private -
norelay
VxDCall1() krnl386.exe16.VxDCall1
3 stdcall -noname -i386 -private -
norelay
VxDCall2() krnl386.exe16.VxDCall2
4 stdcall -noname -i386 -private -
norelay
VxDCall3() krnl386.exe16.VxDCall3
5 stdcall -noname -i386 -private -
norelay
VxDCall4() krnl386.exe16.VxDCall4
6 stdcall -noname -i386 -private -
norelay
VxDCall5() krnl386.exe16.VxDCall5
7 stdcall -noname -i386 -private -
norelay
VxDCall6() krnl386.exe16.VxDCall6
8 stdcall -noname -i386 -private -
norelay
VxDCall7() krnl386.exe16.VxDCall7
9 stdcall -noname -i386 -private -
norelay
VxDCall8() krnl386.exe16.VxDCall8
10 stdcall -noname -i386 -private k32CharToOemA(str ptr) krnl386.exe16.k32CharToOemA
11 stdcall -noname -i386 -private k32CharToOemBuffA(str ptr long) krnl386.exe16.k32CharToOemBuffA
12 stdcall -noname -i386 -private k32OemToCharA(ptr ptr) krnl386.exe16.k32OemToCharA
...
...
@@ -45,20 +45,20 @@
35 stdcall -noname -i386 -private LoadLibrary16(str) krnl386.exe16.LoadLibrary16
36 stdcall -noname -i386 -private FreeLibrary16(long) krnl386.exe16.FreeLibrary16
37 stdcall -noname -i386 -private GetProcAddress16(long str) krnl386.exe16.GetProcAddress16
38 stdcall -noname -i386 -private -
register
AllocMappedBuffer() krnl386.exe16.AllocMappedBuffer
39 stdcall -noname -i386 -private -
register
FreeMappedBuffer() krnl386.exe16.FreeMappedBuffer
40 stdcall -noname -i386 -private -
register
OT_32ThkLSF() krnl386.exe16.OT_32ThkLSF
38 stdcall -noname -i386 -private -
norelay
AllocMappedBuffer() krnl386.exe16.AllocMappedBuffer
39 stdcall -noname -i386 -private -
norelay
FreeMappedBuffer() krnl386.exe16.FreeMappedBuffer
40 stdcall -noname -i386 -private -
norelay
OT_32ThkLSF() krnl386.exe16.OT_32ThkLSF
41 stdcall -noname -i386 -private ThunkInitLSF(long str long str str) krnl386.exe16.ThunkInitLSF
42 stdcall -noname -i386 -private -norelay LogApiThkLSF(str) krnl386.exe16.LogApiThkLSF
43 stdcall -noname -i386 -private ThunkInitLS(long str long str str) krnl386.exe16.ThunkInitLS
44 stdcall -noname -i386 -private -norelay LogApiThkSL(str) krnl386.exe16.LogApiThkSL
45 stdcall -noname -i386 -private -
register
Common32ThkLS() krnl386.exe16.Common32ThkLS
45 stdcall -noname -i386 -private -
norelay
Common32ThkLS() krnl386.exe16.Common32ThkLS
46 stdcall -noname -i386 -private ThunkInitSL(long str long str str) krnl386.exe16.ThunkInitSL
47 stdcall -noname -i386 -private -norelay LogCBThkSL(str) krnl386.exe16.LogCBThkSL
48 stdcall -noname -i386 -private ReleaseThunkLock(ptr) krnl386.exe16.ReleaseThunkLock
49 stdcall -noname -i386 -private RestoreThunkLock(long) krnl386.exe16.RestoreThunkLock
51 stdcall -noname -i386 -private -
register
W32S_BackTo32() krnl386.exe16.W32S_BackTo32
51 stdcall -noname -i386 -private -
norelay
W32S_BackTo32() krnl386.exe16.W32S_BackTo32
52 stdcall -noname -i386 -private GetThunkBuff() krnl386.exe16.GetThunkBuff
53 stdcall -noname -i386 -private GetThunkStuff(str str) krnl386.exe16.GetThunkStuff
54 stdcall -noname -i386 -private K32WOWCallback16(long long) krnl386.exe16.K32WOWCallback16
...
...
@@ -96,8 +96,8 @@
86 stdcall -i386 -private @(ptr) krnl386.exe16._KERNEL32_86
87 stdcall -noname -i386 -private SSOnBigStack() krnl386.exe16.SSOnBigStack
88 varargs -noname -i386 -private SSCall(long long ptr) krnl386.exe16.SSCall
89 stdcall -noname -i386 -private -
register
FT_PrologPrime() krnl386.exe16.FT_PrologPrime
90 stdcall -noname -i386 -private -
register
QT_ThunkPrime() krnl386.exe16.QT_ThunkPrime
89 stdcall -noname -i386 -private -
norelay
FT_PrologPrime() krnl386.exe16.FT_PrologPrime
90 stdcall -noname -i386 -private -
norelay
QT_ThunkPrime() krnl386.exe16.QT_ThunkPrime
91 stdcall -noname -i386 -private PK16FNF(ptr) krnl386.exe16.PK16FNF
92 stdcall -noname -i386 -private GetPK16SysVar() krnl386.exe16.GetPK16SysVar
93 stdcall -noname -i386 -private GetpWin16Lock(ptr) krnl386.exe16.GetpWin16Lock
...
...
@@ -461,8 +461,8 @@
@ stdcall -i386 -private -norelay FT_Exit52() krnl386.exe16.FT_Exit52
@ stdcall -i386 -private -norelay FT_Exit56() krnl386.exe16.FT_Exit56
@ stdcall -i386 -private -norelay FT_Exit8() krnl386.exe16.FT_Exit8
@ stdcall -i386 -private -
register
FT_Prolog() krnl386.exe16.FT_Prolog
@ stdcall -i386 -private -
register
FT_Thunk() krnl386.exe16.FT_Thunk
@ stdcall -i386 -private -
norelay
FT_Prolog() krnl386.exe16.FT_Prolog
@ stdcall -i386 -private -
norelay
FT_Thunk() krnl386.exe16.FT_Thunk
@ stdcall FatalAppExitA(long str)
@ stdcall FatalAppExitW(long wstr)
@ stdcall FatalExit(long)
...
...
@@ -1021,8 +1021,8 @@
@ stdcall K32InitializeProcessForWsWatch(long)
@ stdcall K32QueryWorkingSet(long ptr long)
@ stdcall K32QueryWorkingSetEx(long ptr long)
@ stdcall -i386 -private -
register
K32Thk1632Epilog() krnl386.exe16.K32Thk1632Epilog
@ stdcall -i386 -private -
register
K32Thk1632Prolog() krnl386.exe16.K32Thk1632Prolog
@ stdcall -i386 -private -
norelay
K32Thk1632Epilog() krnl386.exe16.K32Thk1632Epilog
@ stdcall -i386 -private -
norelay
K32Thk1632Prolog() krnl386.exe16.K32Thk1632Prolog
@ stdcall LCIDToLocaleName(long ptr long long)
@ stdcall LCMapStringA(long long str long ptr long)
@ stdcall LCMapStringEx(wstr long wstr long ptr long ptr ptr long)
...
...
@@ -1154,7 +1154,7 @@
@ stdcall ProcessIdToSessionId(long ptr)
@ stdcall PulseEvent(long)
@ stdcall PurgeComm(long long)
@ stdcall -i386 -private -
register
QT_Thunk() krnl386.exe16.QT_Thunk
@ stdcall -i386 -private -
norelay
QT_Thunk() krnl386.exe16.QT_Thunk
# @ stub QueryActCtxSettingsW
@ stdcall QueryActCtxW(long ptr ptr long ptr long ptr)
@ stdcall QueryDepthSList(ptr) ntdll.RtlQueryDepthSList
...
...
dlls/krnl386.exe16/kernel16_private.h
View file @
1b85b6ca
...
...
@@ -298,12 +298,24 @@ static inline DWORD stack32_pop( CONTEXT *context )
return
ret
;
}
#define DEFINE_REGS_ENTRYPOINT( name, args ) \
__ASM_GLOBAL_FUNC( name, \
".byte 0x68\n\t"
/* pushl $__regs_func */
\
".long " __ASM_NAME("__regs_") #name "-.-11\n\t" \
".byte 0x6a," #args "\n\t"
/* pushl $args */
\
"call " __ASM_NAME("__wine_call_from_regs") "\n\t" \
"ret $(4*" #args ")" )
/* fake ret to make copy protections happy */
#define DEFINE_REGS_ENTRYPOINT(name) \
__ASM_STDCALL_FUNC( name, 0, \
"pushl %ebp\n\t" \
__ASM_CFI(".cfi_adjust_cfa_offset 4\n\t") \
__ASM_CFI(".cfi_rel_offset %ebp,0\n\t") \
"movl %esp,%ebp\n\t" \
__ASM_CFI(".cfi_def_cfa_register %ebp\n\t") \
"leal -(0x2cc+4)(%esp),%esp\n\t"
/* sizeof(CONTEXT) + space for %eax */
\
"movl %eax,-4(%ebp)\n\t" \
"pushl %esp\n\t"
/* context */
\
"call " __ASM_NAME("RtlCaptureContext") __ASM_STDCALL(4) "\n\t" \
"movl -4(%ebp),%eax\n\t" \
"movl %eax,0xb0(%esp)\n\t"
/* context->Eax */
\
"pushl %esp\n\t"
/* context */
\
"call " __ASM_NAME("__regs_") #name __ASM_STDCALL(4) "\n\t" \
"pushl %esp\n\t"
/* context */
\
"pushl $-2\n\t"
/* GetCurrentThread() */
\
"call " __ASM_NAME("NtSetContextThread") __ASM_STDCALL(8) "\n\t" \
"ret" )
/* fake ret to make copy protections happy */
#endif
/* __WINE_KERNEL16_PRIVATE_H */
dlls/krnl386.exe16/krnl386.exe16.spec
View file @
1b85b6ca
...
...
@@ -549,15 +549,15 @@
################################################################
# 32-bit version of the various 16-bit functions exported by kernel32
#
@ stdcall -arch=win32 -
register
VxDCall0() VxDCall
@ stdcall -arch=win32 -
register
VxDCall1() VxDCall
@ stdcall -arch=win32 -
register
VxDCall2() VxDCall
@ stdcall -arch=win32 -
register
VxDCall3() VxDCall
@ stdcall -arch=win32 -
register
VxDCall4() VxDCall
@ stdcall -arch=win32 -
register
VxDCall5() VxDCall
@ stdcall -arch=win32 -
register
VxDCall6() VxDCall
@ stdcall -arch=win32 -
register
VxDCall7() VxDCall
@ stdcall -arch=win32 -
register
VxDCall8() VxDCall
@ stdcall -arch=win32 -
norelay
VxDCall0() VxDCall
@ stdcall -arch=win32 -
norelay
VxDCall1() VxDCall
@ stdcall -arch=win32 -
norelay
VxDCall2() VxDCall
@ stdcall -arch=win32 -
norelay
VxDCall3() VxDCall
@ stdcall -arch=win32 -
norelay
VxDCall4() VxDCall
@ stdcall -arch=win32 -
norelay
VxDCall5() VxDCall
@ stdcall -arch=win32 -
norelay
VxDCall6() VxDCall
@ stdcall -arch=win32 -
norelay
VxDCall7() VxDCall
@ stdcall -arch=win32 -
norelay
VxDCall8() VxDCall
@ stdcall -arch=win32 k32CharToOemA(str ptr)
@ stdcall -arch=win32 k32CharToOemBuffA(str ptr long)
@ stdcall -arch=win32 k32OemToCharA(ptr ptr)
...
...
@@ -584,19 +584,19 @@
@ stdcall -arch=win32 LoadLibrary16(str)
@ stdcall -arch=win32 FreeLibrary16(long)
@ stdcall -arch=win32 GetProcAddress16(long str) WIN32_GetProcAddress16
@ stdcall -arch=win32 -
register
AllocMappedBuffer()
@ stdcall -arch=win32 -
register
FreeMappedBuffer()
@ stdcall -arch=win32 -
register
OT_32ThkLSF()
@ stdcall -arch=win32 -
norelay
AllocMappedBuffer()
@ stdcall -arch=win32 -
norelay
FreeMappedBuffer()
@ stdcall -arch=win32 -
norelay
OT_32ThkLSF()
@ stdcall -arch=win32 ThunkInitLSF(ptr str long str str)
@ stdcall -arch=win32 -norelay LogApiThkLSF(str)
@ stdcall -arch=win32 ThunkInitLS(ptr str long str str)
@ stdcall -arch=win32 -norelay LogApiThkSL(str)
@ stdcall -arch=win32 -
register
Common32ThkLS()
@ stdcall -arch=win32 -
norelay
Common32ThkLS()
@ stdcall -arch=win32 ThunkInitSL(ptr str long str str)
@ stdcall -arch=win32 -norelay LogCBThkSL(str)
@ stdcall -arch=win32 ReleaseThunkLock(ptr)
@ stdcall -arch=win32 RestoreThunkLock(long)
@ stdcall -arch=win32 -
register
W32S_BackTo32()
@ stdcall -arch=win32 -
norelay
W32S_BackTo32()
@ stdcall -arch=win32 GetThunkBuff()
@ stdcall -arch=win32 GetThunkStuff(str str)
@ stdcall -arch=win32 K32WOWCallback16(long long)
...
...
@@ -619,8 +619,8 @@
@ stdcall -arch=win32 _KERNEL32_86(ptr)
@ stdcall -arch=win32 SSOnBigStack()
@ varargs -arch=win32 SSCall(long long ptr)
@ stdcall -arch=win32 -
register
FT_PrologPrime()
@ stdcall -arch=win32 -
register
QT_ThunkPrime()
@ stdcall -arch=win32 -
norelay
FT_PrologPrime()
@ stdcall -arch=win32 -
norelay
QT_ThunkPrime()
@ stdcall -arch=win32 PK16FNF(ptr)
@ stdcall -arch=win32 GetPK16SysVar()
@ stdcall -arch=win32 GetpWin16Lock(ptr)
...
...
@@ -648,12 +648,12 @@
@ stdcall -arch=win32 -norelay FT_Exit52()
@ stdcall -arch=win32 -norelay FT_Exit56()
@ stdcall -arch=win32 -norelay FT_Exit8()
@ stdcall -arch=win32 -
register
FT_Prolog()
@ stdcall -arch=win32 -
register
FT_Thunk()
@ stdcall -arch=win32 -
norelay
FT_Prolog()
@ stdcall -arch=win32 -
norelay
FT_Thunk()
@ stdcall -arch=win32 FreeSLCallback(long)
@ stdcall -arch=win32 Get16DLLAddress(long str)
@ stdcall -arch=win32 -
register
K32Thk1632Epilog()
@ stdcall -arch=win32 -
register
K32Thk1632Prolog()
@ stdcall -arch=win32 -
norelay
K32Thk1632Epilog()
@ stdcall -arch=win32 -
norelay
K32Thk1632Prolog()
@ stdcall -arch=win32 -norelay MapHInstLS()
@ stdcall -arch=win32 -norelay MapHInstLS_PN()
@ stdcall -arch=win32 -norelay MapHInstSL()
...
...
@@ -665,7 +665,7 @@
@ stdcall -arch=win32 MapSLFix(long)
@ stdcall -arch=win32 PrivateFreeLibrary(long)
@ stdcall -arch=win32 PrivateLoadLibrary(str)
@ stdcall -arch=win32 -
register
QT_Thunk()
@ stdcall -arch=win32 -
norelay
QT_Thunk()
@ stdcall -arch=win32 -norelay SMapLS()
@ stdcall -arch=win32 -norelay SMapLS_IP_EBP_12()
@ stdcall -arch=win32 -norelay SMapLS_IP_EBP_16()
...
...
dlls/krnl386.exe16/thunk.c
View file @
1b85b6ca
...
...
@@ -461,7 +461,7 @@ void WINAPI __regs_QT_Thunk( CONTEXT *context )
context
->
Esp
+=
LOWORD
(
context16
.
Esp
)
-
(
OFFSETOF
(
NtCurrentTeb
()
->
WOW32Reserved
)
-
argsize
);
}
DEFINE_REGS_ENTRYPOINT
(
QT_Thunk
,
0
)
DEFINE_REGS_ENTRYPOINT
(
QT_Thunk
)
/**********************************************************************
...
...
@@ -527,7 +527,7 @@ void WINAPI __regs_FT_Prolog( CONTEXT *context )
*
(
DWORD
*
)(
context
->
Ebp
-
48
)
=
context
->
Eax
;
*
(
DWORD
*
)(
context
->
Ebp
-
52
)
=
context
->
Edx
;
}
DEFINE_REGS_ENTRYPOINT
(
FT_Prolog
,
0
)
DEFINE_REGS_ENTRYPOINT
(
FT_Prolog
)
/**********************************************************************
* FT_Thunk (KERNEL32.@)
...
...
@@ -593,7 +593,7 @@ void WINAPI __regs_FT_Thunk( CONTEXT *context )
/* Copy modified buffers back to 32-bit stack */
memcpy
(
oldstack
,
newstack
,
argsize
);
}
DEFINE_REGS_ENTRYPOINT
(
FT_Thunk
,
0
)
DEFINE_REGS_ENTRYPOINT
(
FT_Thunk
)
/***********************************************************************
* FT_Exit0 (KERNEL32.@)
...
...
@@ -743,7 +743,7 @@ void WINAPI __regs_Common32ThkLS( CONTEXT *context )
/* Clean up caller's stack frame */
context
->
Esp
+=
LOBYTE
(
context16
.
Ebx
);
}
DEFINE_REGS_ENTRYPOINT
(
Common32ThkLS
,
0
)
DEFINE_REGS_ENTRYPOINT
(
Common32ThkLS
)
/***********************************************************************
* OT_32ThkLSF (KERNEL32.40)
...
...
@@ -798,7 +798,7 @@ void WINAPI __regs_OT_32ThkLSF( CONTEXT *context )
context
->
Esp
+=
LOWORD
(
context16
.
Esp
)
-
(
OFFSETOF
(
NtCurrentTeb
()
->
WOW32Reserved
)
-
argsize
);
}
DEFINE_REGS_ENTRYPOINT
(
OT_32ThkLSF
,
0
)
DEFINE_REGS_ENTRYPOINT
(
OT_32ThkLSF
)
/***********************************************************************
* ThunkInitLSF (KERNEL32.41)
...
...
@@ -897,7 +897,7 @@ void WINAPI __regs_FT_PrologPrime( CONTEXT *context )
/* Jump to the call stub just created */
context
->
Eip
=
(
DWORD
)
relayCode
;
}
DEFINE_REGS_ENTRYPOINT
(
FT_PrologPrime
,
0
)
DEFINE_REGS_ENTRYPOINT
(
FT_PrologPrime
)
/***********************************************************************
* QT_ThunkPrime (KERNEL32.90)
...
...
@@ -927,7 +927,7 @@ void WINAPI __regs_QT_ThunkPrime( CONTEXT *context )
/* Jump to the call stub just created */
context
->
Eip
=
(
DWORD
)
relayCode
;
}
DEFINE_REGS_ENTRYPOINT
(
QT_ThunkPrime
,
0
)
DEFINE_REGS_ENTRYPOINT
(
QT_ThunkPrime
)
/***********************************************************************
* ThunkInitSL (KERNEL32.46)
...
...
@@ -1034,7 +1034,7 @@ void WINAPI __regs_W32S_BackTo32( CONTEXT *context )
context
->
Eax
=
call_entry_point
(
proc
,
10
,
stack
+
1
);
context
->
Eip
=
stack32_pop
(
context
);
}
DEFINE_REGS_ENTRYPOINT
(
W32S_BackTo32
,
0
)
DEFINE_REGS_ENTRYPOINT
(
W32S_BackTo32
)
/**********************************************************************
* AllocSLCallback (KERNEL32.@)
...
...
@@ -1149,7 +1149,7 @@ void WINAPI __regs_AllocMappedBuffer(
context
->
Edi
=
(
DWORD
)(
buffer
+
2
);
}
}
DEFINE_REGS_ENTRYPOINT
(
AllocMappedBuffer
,
0
)
DEFINE_REGS_ENTRYPOINT
(
AllocMappedBuffer
)
/**********************************************************************
* FreeMappedBuffer (KERNEL32.39)
...
...
@@ -1172,7 +1172,7 @@ void WINAPI __regs_FreeMappedBuffer(
GlobalFree
((
HGLOBAL
)
buffer
[
0
]);
}
}
DEFINE_REGS_ENTRYPOINT
(
FreeMappedBuffer
,
0
)
DEFINE_REGS_ENTRYPOINT
(
FreeMappedBuffer
)
/**********************************************************************
* GetTEBSelectorFS (KERNEL.475)
...
...
@@ -1278,7 +1278,7 @@ void WINAPI __regs_K32Thk1632Prolog( CONTEXT *context )
been called. Thus we re-use it to hold the Win16Lock count */
ReleaseThunkLock
(
&
CURRENT_STACK16
->
entry_point
);
}
DEFINE_REGS_ENTRYPOINT
(
K32Thk1632Prolog
,
0
)
DEFINE_REGS_ENTRYPOINT
(
K32Thk1632Prolog
)
/***********************************************************************
* K32Thk1632Epilog (KERNEL32.@)
...
...
@@ -1313,7 +1313,7 @@ void WINAPI __regs_K32Thk1632Epilog( CONTEXT *context )
context
->
Ebp
,
context
->
Esp
,
NtCurrentTeb
()
->
WOW32Reserved
);
}
}
DEFINE_REGS_ENTRYPOINT
(
K32Thk1632Epilog
,
0
)
DEFINE_REGS_ENTRYPOINT
(
K32Thk1632Epilog
)
/*********************************************************************
* PK16FNF [KERNEL32.91]
...
...
dlls/krnl386.exe16/vxd.c
View file @
1b85b6ca
...
...
@@ -313,7 +313,7 @@ void WINAPI DECLSPEC_HIDDEN __regs_VxDCall( CONTEXT *context )
context
->
Eax
=
0xffffffff
;
/* FIXME */
}
}
DEFINE_REGS_ENTRYPOINT
(
VxDCall
,
0
)
DEFINE_REGS_ENTRYPOINT
(
VxDCall
)
/***********************************************************************
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment