768{
770
771
775
779 ((TotalPages + 31) / 32) *
sizeof(
ULONG));
781 {
784 }
785
787
792 {
795
798 }
799
802 {
807
810 }
811
813
814
815
816
817
819 {
820 DPRINT1(
"Impossible to allocate pages for the system handle!\n");
821
828
831 }
832
837
838
843
846
848}
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
#define RtlInitializeBitMap
static WORD NTAPI EmsDrvDispatchIoctlRead(PDOS_DEVICE_NODE Device, DWORD Buffer, PWORD Length)
static VOID WINAPI EmsIntHandler(LPWORD Stack)
static ULONG EmsTotalPages
static BOOLEAN FASTCALL EmsWriteMemory(ULONG Address, PVOID Buffer, ULONG Size)
static VOID InitHandlesTable(VOID)
static UCHAR InitSystemHandle(USHORT NumPages)
static VOID FASTCALL EmsReadMemory(ULONG Address, PVOID Buffer, ULONG Size)
static RTL_BITMAP AllocBitmap
#define EMS_STATUS_SUCCESS
struct _EMS_PAGE * PEMS_PAGE
#define EMS_INTERRUPT_NUM
struct _EMS_PAGE EMS_PAGE
ULONG RegisterInt32(IN ULONG FarPtr, IN BYTE IntNumber, IN EMULATOR_INT32_PROC IntHandler, OUT PSIZE_T CodeSize OPTIONAL)
#define Int16To32StubSize
PDOS_DEVICE_NODE DosCreateDeviceEx(WORD Attributes, PCHAR DeviceName, WORD PrivateDataSize)
#define DEVICE_PRIVATE_AREA(Driver)
#define DOS_DEVATTR_IOCTL
#define DOS_DEVATTR_CHARACTER
BOOL MemInstallFastMemoryHook(PVOID Address, ULONG Size, PMEMORY_READ_HANDLER ReadHandler, PMEMORY_WRITE_HANDLER WriteHandler)
BOOLEAN UmaDescReserve(IN OUT PUSHORT Segment, IN OUT PUSHORT Size)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size