C / DLL / Win NT

Hallo Zusammen,

ich habe folgende kleine Problemchen.

A) Wie rufe ich auch einer DLL heraus Funktionen einer Anderen DLL auf?

Angenommen ich habe die beiden DLL’s andere.dll und meine.dll und will mit der funktion meinefunktion() die funktion anderefunktion() aufrufen. Wie macht man das? Muss man die andere.dll in irgendeiner weise includen?

B) Wenn meinefunktion() von einem Fremdprogramm aus meine.dll aufgerufen wird und sowohl einen pointer auf char[] übergeben bekommt wie auch rückliefern muss - wie müsste der Funktionskopf aussehen und was ist dazu an besonderheiten hinsichtlich der dllprogrammierung zu beachten?

C) Wo finde ich Tutorials od. ähnliches zum Thema C programmierung mit DLL’s?

Dank Euch

Mario

Hallo Mario,

Du benötigst in der aufrufenden DLL einen Funktionszeiger auf die aufzurufende Funktion in der anderen DLL.

Du holst Dir mit LoadLibrary() ein Handle auf die DLL, die die Funktion enthält. Mit GetProcAddress() holst Du Dir den Zeiger auf die aufzurufende Funktion. Allerdings benötigt GetProcAddress() den exportierten Namen der Funktion als Parameter, den mußt Du in der aufrufenden DLL kennen.

Gruß Patrick