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;
__GNU_EXTENSION typedef unsigned __int64 * PULONGLONG
_In_ ULONG _In_ ULONG Offset
PULONG MinorVersion OPTIONAL
VOID InitializeContext(IN PCALLBACK16 Context, IN USHORT Segment, IN USHORT Offset)
VOID RunCallback16(IN PCALLBACK16 Context, IN ULONG FarPtr)
ULONG RegisterCallback16(IN ULONG FarPtr, IN LPBYTE CallbackCode, IN SIZE_T CallbackSize, OUT PSIZE_T CodeSize OPTIONAL)
VOID Call16(IN USHORT Segment, IN USHORT Offset)
VOID InitializeContextEx(IN PCALLBACK16 Context, IN ULONG TrampolineSize, IN USHORT Segment, IN USHORT Offset)
#define UnSimulate16(trap)
#define RtlCopyMemory(Destination, Source, Length)
USHORT WINAPI getIP(VOID)
VOID WINAPI setCS(USHORT)
USHORT WINAPI getCS(VOID)
VOID WINAPI setIP(USHORT)
_In_ UCHAR _In_ UCHAR _In_ ULONG Code