Browse Prior Art Database

Forwarder Dynamic Link Libraries as a Method for Servicing Software

IP.com Disclosure Number: IPCOM000116905D
Original Publication Date: 1995-Nov-01
Included in the Prior Art Database: 2005-Mar-31
Document File: 2 page(s) / 61K

Publishing Venue

IBM

Related People

Crowe, T: AUTHOR [+2]

Abstract

Disclosed is a method for servicing and packaging enhancements for a software product, which is shipped with one or more large, primary Dynamic Link Libraries (DLL) and several smaller, secondary forwarder DLLs. Calls to the primary code are made through the forwarders. Software fixes and enhancements are provided by replacing individual forwarder entries with a corrective function inside a secondary DLL.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 58% of the total text.

Forwarder Dynamic Link Libraries as a Method for Servicing Software

      Disclosed is a method for servicing and packaging enhancements
for a software product, which is shipped with one or more large,
primary Dynamic Link Libraries (DLL) and several smaller, secondary
forwarder DLLs.  Calls to the primary code are made through the
forwarders.  Software fixes and enhancements are provided by
replacing
individual forwarder entries with a corrective function inside a
secondary DLL.

      Most applications, together with modern operating systems, use
one or more DLLs to supply commonly-used functions efficiently.  A
DLL may be used as a forwarder to one or more other DLLs, with code
being linked to a forwarder DLL, instead of to the primary DLL,
implementing the desired functions.  The loader resolves the
forwarder by loading the primary DLL and by setting the call address
in the calling code directly to the address of the code in the
primary DLL.

      With the presently disclosed method, software products imple
mented using forwarder DLLs may be serviced or enhanced by simply
replacing forwarders in the forwarder DLLs with corrective functions.
These corrective functions may replace existing functions by
reimplementing them without calling the original functions, or they
may enhance functions by adding a prologue and/or an epilogue to the
call.

      Fig. 1 is a block diagram showing an application shipped with
an executable 1 (EXE), two primary DLLs 2...