Q-100.130

DLL-Aufruf per Script

Frage
Problem Wie kan eine DLL erzeugt und per Script aufgerufen werden ?
Produkt David
Priorität keine
Effekt harmlos
Datum 6.06.2002

Antwort
Der DvISE Communication Controller bietet mächtige Möglichkeiten, um den gesamten Kommunikationsablauf steuern zu können. So können DvCC-Scripts erstellt werden, die vom unternehmensweiten Anrufbeantworter bis hin zu kompletten Call-Center-Lösungen sämtliche Bereiche abdecken. Besonders interessant ist die einfache Kombinationsmöglichkeit der ISDN-basierten Funktionen mit den »Unified-Messaging-Funktionen« von DvISE.

Das Objekt »External Function DvCC« bietet von sich aus eine große Anzahl von Funktionen an, die in Form von Objekten mittels grafischer Programmieroberfläche zu komplexen Scripts zusammengefasst werden können. Diese Objekte aus den unterschiedlichsten Bereichen decken die meisten Anforderungen an eine gestellte Kommunikationsaufgabe ab.

Falls eine Aufgabe dennoch nicht mit dem gegebenen Funktionsumfang der existierenden DvCC-Objekte realisiert werden kann, so gibt es für diesen Fall ein spezielles Objekt namens »External Function«, das eine DLL lädt und eine Funktion der DLL aufrufen kann. Die Übergabe der Parameter an die aufgerufene Funktion sowie die Rückgabe von Parametern von der Funktion geschieht über das »External-Function-Objekt«.

Erstellen einer DLL
Das Erstellen einer eigenen DLL wird üblicherweise mit C oder C++ Programmierumgebungen vorgenommen. Bei Einsatz von z.B. Microsoft Visual C++ müssen Sie dazu zunächst ein neues Projekt angelege, das eine 32-Bit-DLL erzeugen kann. Dabei wird von der Programmierumgebung die globale Funktion »DllMain« als Entry Point mit der entsprechenden Typendeklaration sowie den notwendigen Übergabeparametern automatisch angelegt.

Die eigentlichen Funktionen, die später von einem DvCC-Script aufgerufen werden sollen, haben dabei folgende Form

    void WINAPI MyFunction (char FAR* OutputValue, char FAR* InputValue)
Wichtig ist hierbei nun, dass Sie eine sogenannte DEF-Datei manuell generieren, die wie folgt aufgebaut ist:
    LIBRARY MyOwnDLL
    DESCRIPTION 'DvCC Sample DLL'
    EXPORTS MyFunction
Diese DEF-Datei müssen Sie in der Liste der Quellcodedateien innerhalb des Projektes einbinden. Sie sorgt dafür, einzelne Funktionen der DLL exportierbar zu machen. Die DEF-Datei muss auch in dem Fall eingebunden werden, wenn die einzelnen DLL-Funktionen mittels »__declspec( dllexport )« exportierbar gemacht wurden.

Nachdem die DLL korrekt kompiliert worden ist, müssen Sie die erstellte DLL in ein Verzeichnis des Servers kopieren, das standardmäßig nach DLLs durchsucht wird.

Unbegrenzte Möglichkeiten
Das Aufrufen von DLL-Funktionen innerhalb eines DvCC Scripts bietet demnach nahezu uneingeschränkte Möglichkeiten für den Einsatz von DvCC. So lässt sich z.B. externe Hardware per DvCC steuern oder abfragen. Alarm-Sicherheitssysteme oder Haussteuerungsanlagen lassen sich genauso einfach durch den Aufruf von DLL-Funktionen per Telefon oder Unified Messaging steuern, wie spezielle Abläufe auf dem Server.