Skip to end of metadata
Go to start of metadata

Adobe Acrobat implements plug-ins as Dynamic Link Library (DLL) files in Windows, and as shared libraries on other platforms. The Host Function Table (HFT) is the mechanism Adobe Systems created to allow linking with the plug-in at run time. Adobe Acrobat looks in a pre-defined subdirectory and loads each DLL it finds there. It then looks for an HFT structure in the DLL that specifies the entry points to each system function supported by the plug-in. New system functions are only exposed through the HFT mechanism. They are not exposed through any symbols exported from the Dynamic Link Library (DLL) or Shared Object (SO) files. Any attempt to access new methods will result in a missing symbols error if HFT is not used. Applications could inspect a DLL to find the methods included in the DLL file, but that is no longer possible with HFT.

For C/C++ applications, the HFT mechanism is not required, but we recommend that you use it. To make most applications compatible, you should only need to take these steps:

  1. Change the value of the PRODUCT setting from "Library.h" to "HFTLibrary.h"
  2. Add the PDFLInitHFT.c and PDFLInitCommon.c files
  3. Change PDFLInit / PDFLTerm calls to PDFLInitHFT / PDFLTermHFT

The PLUGIN definition was originally added to the HFTLibrary.h file so that the sample programs could use it to indicate that the application being built was a plug-in, and therefore needed to use the HFT mechanism. But now that Adobe PDF Library applications are designed to work with HFT, the PLUGIN definition is simply meant to tell the application to use the HFT mechanism.

HFT is related to Microsoft .NET. For applications developed using the.NET Interface in Adobe PDF Library, the application takes care of the HFT initialization.

  • No labels