Reversible load-time dynamic linking
AssigneeMicrosoft Corporation
InventorGalen C. Hunt
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorGalen C. Hunt
Estimating the term…
A library links to a compiled application using the following variation of load-time dynamic linking. At some point prior to linking, a user selects a library for linking to the compiled application. An association is made between the selected library and any external libraries referenced within the compiled application. For example, if the application is in Common Object File format, a new import table lists the selected library and the external libraries of the original import table. At link time, the selected library and the external libraries link to the compiled application. At load time, the application, selected library, and any external libraries load. When the selected library loads first, a function in the selected library performs operations before the application or external libraries load. A pointer references the list of libraries to be linked to the compiled application. The initial state of this pointer is archived. The linking process becomes reversible by restoring the initial state of the pointer and re-linking. By replacing the reference to the selected library with a reference to a second selected table, a second selected library links to the application. A data record associated with the selected library enables additional functionality of the selected library.
A method for reversibly linking an application to a selected library and one or more external libraries, wherein the application comprises object code, the method comprising:
A method for reversibly linking an application to a selected library and one or more external libraries, wherein the application comprises object code, wherein a pointer references a list of libraries, wherein the pointer initially references a list of the external libraries, the method comprising:
A method for reversibly linking an application to a selected library, wherein an executable file for the application comprises a header, a data section, and an imports section, wherein the header comprises a pointer to the imports section, wherein the data section comprises object code and one or more function calls, and wherein the imports section comprises a list of one or more names of libraries and a list for each library of the functions of the library, the method comprising:
The method of claim 16 further comprising:
A computer-readable medium having stored thereon a data structure, comprising:
A method for reversibly linking an application to a selected library and one or more external libraries, wherein the application comprises object code, the method comprising:
A method for reversibly linking an application to a selected library and one or more external libraries, wherein the application comprises object code, wherein an operating system comprises plural functions for servicing the application, wherein the selected library comprises an entry point function, the method comprising:
A computer readable medium storing computer executable instructions for causing a computer programmed thereby to perform a method of reversibly linking an application to an external library, the method comprising:
A utility program operable to reversibly install an instrumentation package on an application, the utility program comprising:
A computer-readable medium storing computer-executable instructions for causing a computer programmed thereby to perform a method of reversibly modifying a computer program the method comprising:
Dependencies are inferred from the claim text.