IVM.DLL

IVM.DLL is a renamed version of IBM's LVM.DLL (Logical Volume Manager) that was included on eComStation.

eComStation included a new LVM.DLL that forwards some of its functions to IVM.DLL. It was reported that the newer "LVM.DLL forwarder" bypasses a couple of checks so that Bootable JFS and Air-BOOT can work seamlessly.

The newer "LVM.DLL forwarder" intercepts some functions like:
 * The Start_Logging and Stop_Logging functions to enable merging its own log data with the LVM log (when LVM logging is turned on).
 * It also wraps Open_LVM_Engine to save copies of any Windows NT disk signatures from the MBR, and wraps Commit_Changes to restore them back (except when an explicit newmbr operation was performed).
 * It wraps Get_Volume_Information to always report compatibility volumes as Bootable if Air-Boot is installed.
 * And similarly wraps Get_Valid_Options to report than a compatibility volume can be set as Installable if Air-Boot is installed.


 * Tip: Set the environment variable LVM_LOGWRAPPER=1, then run LVM with the /startlog parameter, the wrapper's own log will get added to the log generated by LVM.

DLL Entry Points

 * 1) Get_Partition_Handle
 * 2) Remove_Boot_Manager
 * 3) Get_Boot_Manager_Menu
 * 4) Assign_Drive_Letter
 * 5) ADD_TO_BOOT_MANAGER16
 * 6) REMOVE_BOOT_MANAGER16
 * 7) Set_Min_Install_Size
 * 8) INSTALL_BOOT_MANAGER16
 * 9) Export_Configuration
 * 10) ASSIGN_DRIVE_LETTER16
 * 11) GET_PARTITION_HANDLE16
 * 12) SET_MIN_INSTALL_SIZE16
 * 13) EXPORT_CONFIGURATION16
 * 14) Get_Installable_Volume
 * 15) Hide_Volume
 * 16) Get_Drive_Control_Data
 * 17) GET_BOOT_MANAGER_MENU16
 * 18) Read_Sectors
 * 19) HIDE_VOLUME16
 * 20) Get_Volume_Information
 * 21) Set_OS_Flag
 * 22) Get_LVM_View
 * 23) Stop_Logging
 * 24) Set_Startable
 * 25) Start_Logging
 * 26) SET_OS_FLAG16
 * 27) GET_INSTALLABLE_VOLUME16
 * 28) READ_SECTORS16
 * 29) GET_DRIVE_CONTROL_DATA16
 * 30) Create_Volume
 * 31) Delete_Volume
 * 32) GET_LVM_VIEW16
 * 33) Write_Sectors
 * 34) STOP_LOGGING16
 * 35) Get_Boot_Manager_Handle
 * 36) Expand_Volume
 * 37) GET_VOLUME_INFORMATION16
 * 38) GET_BOOT_MANAGER_HANDLE16
 * 39) Get_Partitions
 * 40) SET_STARTABLE16
 * 41) Commit_Changes
 * 42) Get_Boot_Manager_Options
 * 43) START_LOGGING16
 * 44) Remove_From_Boot_Manager
 * 45) Set_Boot_Manager_Options
 * 46) Set_Free_Space_Threshold
 * 47) CREATE_VOLUME16
 * 48) Boot_Manager_Is_Installed
 * 49) DELETE_VOLUME16
 * 50) Get_Volume_Control_Data
 * 51) WRITE_SECTORS16
 * 52) EXPAND_VOLUME16
 * 53) GET_BOOT_MANAGER_OPTIONS16
 * 54) Get_Partition_Information
 * 55) REMOVE_FROM_BOOT_MANAGER16
 * 56) SET_BOOT_MANAGER_OPTIONS16
 * 57) GET_VOLUME_CONTROL_DATA16
 * 58) GET_PARTITIONS16
 * 59) COMMIT_CHANGES16
 * 60) SET_FREE_SPACE_THRESHOLD16
 * 61) Changes_Pending
 * 62) CHANGES_PENDING16
 * 63) Set_Installable
 * 64) Get_Reboot_Flag
 * 65) Open_LVM_Engine
 * 66) Set_Reboot_Flag
 * 67) Reboot_Required
 * 68) BOOT_MANAGER_IS_INSTALLED16
 * 69) Set_Active_Flag
 * 70) Rediscover_PRMs
 * 71) SET_INSTALLABLE16
 * 72) Close_LVM_Engine
 * 73) GET_REBOOT_FLAG16
 * 74) OPEN_LVM_ENGINE16
 * 75) SET_REBOOT_FLAG16
 * 76) REBOOT_REQUIRED16
 * 77) GET_PARTITION_INFORMATION16
 * 78) SET_ACTIVE_FLAG16
 * 79) Create_Partition
 * 80) Get_Reserved_Drive_Letters
 * 81) Delete_Partition
 * 82) REDISCOVER_PRMS16
 * 83) Get_Install_Flags
 * 84) Get_Drive_Status
 * 85) Set_Install_Flags
 * 86) Get_Valid_Options
 * 87) CLOSE_LVM_ENGINE16
 * 88) CREATE_PARTITION16
 * 89) DELETE_PARTITION16
 * 90) GET_DRIVE_STATUS16
 * 91) Refresh_LVM_Engine
 * 92) GET_RESERVED_DRIVE_LETTERS16
 * 93) Get_Available_Drive_Letters
 * 94) Free_Engine_Memory
 * 95) GET_AVAILABLE_DRIVE_LETTERS16
 * 96) New_MBR
 * 97) GET_INSTALL_FLAGS16
 * 98) Set_Name
 * 99) SET_INSTALL_FLAGS16
 * 100) NEW_MBR16
 * 101) GET_VALID_OPTIONS16
 * 102) REFRESH_LVM_ENGINE16
 * 103) FREE_ENGINE_MEMORY16
 * 104) SET_NAME16
 * 105) Install_Boot_Manager
 * 106) Add_To_Boot_Manager

DLLs Loaded

 * DOSCALL1.DLL
 * NLS.DLL
 * MSG.DLL

Device Driver Requirement

 * OEMHLP$ -