/*++ Copyright (c) 1990 Microsoft Corporation Module Name: basevdm.h Abstract: This module contains private function prototypes and types for vdm support. Author: Sudeep Bharati (sudeepb) 15-Sep-1991 Revision History: --*/ #define ROUND_UP(n,size) (((ULONG)(n) + (size - 1)) & ~(size - 1)) // Update VDM entry indexes #define UPDATE_VDM_UNDO_CREATION 0 #define UPDATE_VDM_PROCESS_HANDLE 1 #define UPDATE_VDM_HOOKED_CTRLC 2 // Undo VDM Creation States #define VDM_PARTIALLY_CREATED 1 #define VDM_FULLY_CREATED 2 #define VDM_BEING_REUSED 4 #define VDM_CREATION_SUCCESSFUL 8 // Defines for BinaryType #define BINARY_TYPE_DOS 0x10 #define BINARY_TYPE_WIN16 0x20 #define BINARY_TYPE_SEPWOW 0x40 #define BINARY_TYPE_INJWOW 0x80 #define BINARY_SUBTYPE_MASK 0xF #define BINARY_TYPE_DOS_EXE 01 #define BINARY_TYPE_DOS_COM 02 #define BINARY_TYPE_DOS_PIF 03 #define IS_SHARED_WOW_BINARY(VdmBinaryType) \ (BINARY_TYPE_WIN16 & (VdmBinaryType)) #define IS_WOW_BINARY(VdmBinaryType) \ ((BINARY_TYPE_WIN16 | BINARY_TYPE_SEPWOW) & (VdmBinaryType)) // Defines for VDMState #define VDM_NOT_PRESENT 1 #define VDM_PRESENT_NOT_READY 2 #define VDM_PRESENT_AND_READY 4 #define VDM_STATE_MASK 7 #define EXIT_VDM 1 #define EXIT_VDM_NOTIFICATION 2