38 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
39 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
97 PUCHAR Trampoline = TrampolineBase;
103 DPRINT(
"RunCallback16(0x%p)\n", FarPtr);
106 *Trampoline++ = 0x9A;
107 *(
PULONG)Trampoline = FarPtr;
108 Trampoline +=
sizeof(
ULONG);
128 SIZE_T OurCodeSize = CallbackSize;
130 if (CallbackCode ==
NULL) CallbackSize = 0;
136 Code += CallbackSize;
140 if (CodeSize) *CodeSize = OurCodeSize;
VOID WINAPI setIP(USHORT)
VOID InitializeContext(IN PCALLBACK16 Context, IN USHORT Segment, IN USHORT Offset)
ULONG RegisterCallback16(IN ULONG FarPtr, IN LPBYTE CallbackCode, IN SIZE_T CallbackSize, OUT PSIZE_T CodeSize OPTIONAL)
USHORT WINAPI getIP(VOID)
_In_ UCHAR _In_ UCHAR _In_ ULONG Code
VOID WINAPI setCS(USHORT)
_In_ ULONG _In_ ULONG Offset
#define UnSimulate16(trap)
VOID RunCallback16(IN PCALLBACK16 Context, IN ULONG FarPtr)
VOID InitializeContextEx(IN PCALLBACK16 Context, IN ULONG TrampolineSize, IN USHORT Segment, IN USHORT Offset)
__GNU_EXTENSION typedef unsigned __int64 * PULONGLONG
#define RtlCopyMemory(Destination, Source, Length)
VOID Call16(IN USHORT Segment, IN USHORT Offset)
USHORT WINAPI getCS(VOID)
PULONG MinorVersion OPTIONAL