home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / mmfix11.zip / README.FIX < prev   
Text File  |  1997-09-15  |  6KB  |  129 lines

  1. ****************************************************************
  2. *                                                              *
  3. *  MMFIX.CMD and MMDEREG.CMD - version 1.1                     *
  4. *  Copyright (C) R L Walsh 1997 - All Rights Reserved          *
  5. *                                                              *
  6. *  email the author at rlwalsh@packet.net                      *
  7. *                                                              *
  8. ****************************************************************
  9.  
  10. MMFIX
  11. lets you deregister selected WPS Multimedia classes without
  12. having to deregister all of them.  It will make a copy of
  13. MMPARTS.DLL and patch it.  You will have to edit config.sys,
  14. run MMDEREG.CMD, then reboot.  This version supports only
  15. Warp v4 with no fixpacks, Warp v4 with Fixpack 1, and Warp
  16. v4 with Fixpack 3.  You can patch other versions of MMPARTS
  17. manually by following the instructions below.
  18.  
  19.  
  20. MMDEREG
  21. identifies the function of each WPS Multimedia class and
  22. lets you deregister / reregister them.  Deregistration is NOT
  23. effective unless you have run MMFIX.CMD to patch MMPARTS.DLL.
  24.  
  25.  
  26. NOTE1: the PracticeImage replacement class provides a better
  27.        solution for image files (BMP, GIF, JPG, etc) if you
  28.        want to associate them with exe's while keeping the
  29.        class's other features.  It's available from:
  30.            http://www.practice.xo.com  -or-
  31.            ftp://ftp.practice.xo.com/pub/primgfix.zip
  32.  
  33. NOTE2: MMFIX creates a directory and asks you to put it at the
  34.        beginning of the LIBPATH in config.sys.  This lets you
  35.        install and remove the patched dll without having to
  36.        copy any files - just edit config.sys.  When you are
  37.        satisfied it suits your needs, the can copy the patched
  38.        dll to \MMOS2\DLL and restore your original LIBPATH.
  39.  
  40.  
  41. ****************************************************************
  42. *                                                              *
  43. *  How to patch MMPARTS.DLL manually                           *
  44. *                                                              *
  45. ****************************************************************
  46.  
  47. Patching MMPARTS.DLL involves changing only one byte.  You MUST
  48. use a hex editor (one capable of displaying the hexadecimal
  49. value of each byte in a file).  You cannot use a standard text
  50. editor because it will probably corrupt the file.
  51.  
  52. 1.  In your \MMOS2 directory, create a subdirectory named TEMPDLL
  53.  
  54. 2.  Copy \MMOS2\DLL\MMPARTS.DLL into TEMPDLL
  55.  
  56. 3.  Load this *copy* of MMPARTS into your hex editor
  57.  
  58. 4.  Locate the string "SOMInitModule";  it should appear only once.
  59.     - if your editor has a search function, search for this string
  60.     - otherwise, go to the end of the file, then page up until you
  61.       see it;  it will be approximately 0x1160 (4448 dec.) bytes
  62.      from the end of the file
  63.  
  64. 5.  In all versions to date, "SOMInitModule" is preceded by
  65.     "ImgCopyBitmap" and followed by "MMAIFClassDatap";  the byte
  66.     immediately before the string should always be 0x0D and the
  67.     two bytes following it must be 0x01 0x00
  68.  
  69. 6.  Change the first letter in "SOMInitModule" to a "T", either
  70.     directly or by changing its hex value from 0x53 to 0x54;
  71.     the string should now read "TOMInitModule"
  72.  
  73. 7.  Save the file and exit
  74.  
  75. 8.  In config.sys, add the path for TEMPDLL to the *beginning*
  76.     of the LIBPATH statement;  for example:
  77.         LIBPATH=F:\MMOS2\TEMPDLL;.;F:\OS2\DLL;F:\MMOS2\DLL;
  78.  
  79. 9.  Use MMDEREG.CMD to deregister selected classes
  80.  
  81. 10. Reboot
  82.  
  83.  
  84. ****************************************************************
  85. *                                                              *
  86. *  How It Works / Potential Problems                           *
  87. *                                                              *
  88. ****************************************************************
  89.  
  90. When SOM is asked to load a class, it first looks in the
  91. specified dll for a function name "SOMInitModule".  If found,
  92. it invokes this function, expecting that it will load every
  93. class contained in the dll.  This enhances SOM's efficiency
  94. by reducing some of the overhead in loading and tracking
  95. classes.  An unfortunate side effect is that it overrides the
  96. WPS's class registration mechanism which was intended to give
  97. the user some control over what gets loaded.  Registering
  98. just one MM class causes all MM classes to be loaded.
  99.  
  100. Changing the name of "SOMInitModule" to "TOMInitModule" (or
  101. anything else) makes it impossible for SOM to locate this
  102. function.  As a result, SOM loads each class individually in
  103. response to requests from the WPS.  Only classes registered
  104. with the WPS will be loaded.
  105.  
  106. Using MMFIX could cause problems if SOMInitModule does any
  107. type of initialization for MMPARTS.DLL other than loading the
  108. 33 classes it contains.  This appears not to be the case for
  109. the versions of MMPARTS in the GA (original) and Fixpack 1
  110. releases.  MMFIX has been used with these versions for over
  111. two months with no known side effects.  This could change in
  112. future versions of MMPARTS.DLL.
  113.  
  114. If you detect any significant changes in the multimedia classes'
  115. performance or stability after the application of this patch,
  116. back it out by removing \MMOS2\TEMPDLL from your LIBPATH, then
  117. reboot.
  118.  
  119. Please contact the author regarding any questions or problems.
  120. Be sure to identify the version of MMPARTS you are using.
  121. Write to:   "Rich Walsh" <rlwalsh@packet.net>
  122.  
  123.  
  124. ****************************************************************
  125.  
  126. Rich Walsh
  127. Sept 15, 1997
  128.  
  129.