Callback ohne Windowsfenster zu benutzen

  • Callback ohne Windowsfenster zu benutzen

    Ich muss Sachen in einer DLL neuprogrammieren. Dafür muss ich eine Thread erstellen, mit dem ich im Backend nach bestimmten Bedingungen Frage.
    Dem Thread sollen von aussen verschiedene Anfragen an das Backend gestellt werden. Wenn der Thread nun die Antworten vom Backend bekommen hat, soll dieser die per Callback an den Caller zurückgeben.

    Den Thread brauche ich damit eine Anfrage nicht den kompletten Prozees belegt.

    Hatt jemand Erfahrung darin, und kann mir mal ein paar Befehle, oder Konstruckte als Beispiel bringen? Meine Bücher und Google sind da völlig untauglich für, bei MSDN zu schauen macht auch erst Sinn wenn ich die Grundlage verstanden habe. Am wichtigsten währe mir eine Beschreibung zu haben wie das ganze genau funktioniert, damit ich die Wirkungsweise nachvollziehen kann.

    Danke Peer
  • Thread erzeugen mit CreateThread

    Pseudocode der DLL:

    Quellcode

    1. std::vector<int> openQueries;
    2. void CALLBACK threadFunc (void*) {
    3. while (1) {
    4. // do Query
    5. }
    6. }
    7. HANDLE hThread = NULL;
    8. void __declspec(dllexport) startQuery (int n) {
    9. if (!hThread) {
    10. hThread = CreateThread (...);
    11. }
    12. // füge query parameter in global Liste ein
    13. }
    Alles anzeigen


    Und das ganze muss mit Muteces ordentlich synchronisiert werden