THPDFDocumentHandlerRegistry Class

THPDFDocumentHandlerRegistry = class
  function RegisterHandler(const Handler: IHPDFDocumentHandler;
    ReplaceExisting: boolean = false): boolean;
  function UnregisterHandler(const HandlerName: string): boolean;
  procedure Clear;
  function GetHandlerCount: Integer;
  function GetHandlerName(Index: Integer): string;
  procedure RegisterStandardHandlers(ReplaceExisting: boolean = false);
  function OpenFromStream(Source: TStream; const SourceName,
    MIMEType: string; const Options: THPDFDocumentHandlerOptions;
    out Document: IHPDFHandledDocument;
    out Info: THPDFDocumentHandlerInfo): boolean;
  function OpenFromFile(const FileName, MIMEType: string;
    const Options: THPDFDocumentHandlerOptions;
    out Document: IHPDFHandledDocument;
    out Info: THPDFDocumentHandlerInfo): boolean;
end;

Registrierung, Ersetzung, Entfernung, Momentaufnahmen und Nachschlagen sind threadsicher, mit höchstens 32 Handlern und einem Groß-/Kleinschreibung-unabhängigen Slot pro Handlername

Die Erkennung läuft außerhalb der Registry-Sperre anhand einer stabilen Schnittstellen-Momentaufnahme, und gleiche Bewertungen behalten die Registrierungsreihenfolge bei

RegisterStandardHandlers aktiviert die XPS-, EPUB- und CBZ-Unterstützung, ohne die PDF-spezifischen Lade-APIs zu ändern

Optionale Dokument-Handler