Technology for supporting multiple application program interfaces. A main
application identifies an application program interface to employ with a
program outside of the main program, such as a plug-in. In one instance,
the main application employs an application program interface
registration list to identify the proper application program interface to
use with a desired program--allowing the proper application program
interface to be identified before interacting with the desired program.
The registration list includes a set of entries. Each entry identifies a
program and a corresponding application program interface to use with the
program. The main application accesses an entry in the registration list
for the desired program to identify the corresponding application program
interface. When an event occurs, the main application accesses an event
catalog entry to identify a program that corresponds to the event and the
application program interface that corresponds to the program.