DLL Interface

De COM DLL bibliotheek biedt exporteerfuncties, die kunnen worden geïmporteerd door middel van iedere tool die is voorzien van codeertalen, die DLL importeerfuncties kunnen ondersteunen.

Een van de voordelen van deze interface is het feit dat de DLL slechts eenmalig wordt geïnitialiseerd en niet telkens wanneer een functie wordt opgeroepen, zoals gebeurd met de opdrachtregel interface. Dit resulteert in snellere uitvoering bij het uitvoeren van meerdere taken tegelijk.

Alle tools met een opdrachtregel interface hebben ook een DLL exporteerfunctie en alle functies gebruiken daarbij dezelfde syntax.

In de C syntax zien we:

void CALLBACK EntryPoint(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow);

Alleen de hwnd ('window handle' wordt gebruikt als de venstereigenaar voor alle vensters de tools maakt) en de lpszCmdLine (opdrachtregel-argumenten-tool, gelijk aan de opdrachtregel interface tool opdrachtregel argumenten) parameters worden intern gebruikt.

De EntryPoint functienaam van deze generieke functie zou moeten worden vervangen door de geëxporteerde functienaam, die gevonden kan worden in de respectievelijke secties van dit helpbestand.

Uitlegvoorbeeld van de Samenvoeg-functie, in Delphi taal:

function Merge(hWnd:THandle;hInst:Cardinal;lpszCmdLine:PChar;nCmdShow:Integer):Cardinal;stdcall;external 'PDFShellTools.dll'

Deze interface kan worden opgeroepen met behulp van de Windows Rundll32 tool, zoals getoond in het Samenvoeg-voorbeeld.

Rundll32 "C:\Program Files\PDF-ShellTools\PDFShellTools.dll",Merge "C:\My docs\File1.PDF;C:\My Docs\File2.pdf"

Op deze manier toegepast is er geen voordeel te verkrijgen over de opdrachtregel interface, maar kan het handig zijn als de gebruiker niet het WIN32 consolevenster getoond wil zien.

 

(c) 2006-2012 RTT