Interfaccia DLL

La libreria COM DLL fornisce funzioni che possono essere importate da tutti gli applicativi sviluppati con linguaggi di programmazione che susupportano le funzionalità di importazione per le DLL.

Tutti gli strumenti che usano l'Interfaccia da linea di comando possiedono anche la capacità di esportare funzioni fornite dalle DLL e tutte le funzioni utilizzano la stessa sintassi.

Nella sintassi in C avremo:

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

Solo i parametri hwnd (indicatore utilizzato come finestra proprietaria per tutte le finestre create dagli strumenti) e lpszCmdLine (linea di comando per gli argomenti degli strumenti, equivalente allo strumento Interfaccia da linea di comando) sono utilizzati internamente.

Il nome della funzione generica EntryPoint dovrebbe essere sostituito con il nome della funzione esportata, che può essere consultata nella sezione corrispondente di questa guida.
Un esempio per la dichiarazione della funzione di unione (Merge function) in linguaggio Delphi:

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

Questa interfaccia puo' essere richiamata usando lo strumento Windows Rundll32, come mostrato nell'esempio seguente.

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

Questra strada non offre vantaggi o cambiamenti significativi rispetto all'interfaccia a riga di comando, ma potrebbe essere utile nei casi in cui non si volesse mostrare la finestra console Win32.

 

(c) 2006-2013 RTT