Rückgabewerte von Funktionen, die in eienem Thread stecken



  • Also wenn ich jetzt mit

    CreateThread(...,Funktion,...)
    

    einen Thread erstelle wie komme ich dann an den Rückgabewert von "Funktion"?

    Ist es möglich CreateThread();
    einen anderen Funktionstypen als DWORD WINAPI zu übergeben, also zum Beispiel int?
    Anmerkung:
    Ich habe die restlichen parameter bei CreateThread erstmal weggelassen.



  • Wie du in der Doku von CreateThread nachlesen kannst, wird das mit GetExitCodeThread gemacht. Wahrscheinlich willst du aber soundso eher _beginthread verwenden...



  • danke danke das reicht mir schon, aber noch eine Frage, müssen die Funktionen, die ich an die WinAPI übergebe immer vom Typ DWORD WINAPI sein oder können sie auch int zum Beispiel sein.



  • Die Funktion, die du CreateThread übergibst, ist vom Typ LPTHREAD_START_ROUTINE, welcher ein Zeiger auf eine Funktion mit einem Paramter vom Typ void* und einem Rueckgabewert vom Typ DWORD definiert ist. Das ist so festgelegt und laesst sich nicht aendern.

    Gruss,
    DeSoVoDaMu



  • also das heißt ich kann keine Threads aus int oder ähnlichem machen Funktionen machen? Das würde ja bedeuten das dies mit der Rückgabe von Funktionswerten eigentlich so keinen Sinn macht, wenn ich sowieso nur eine Art von Funktion einsetzen kann.



  • Du kannst ja über den void-Pointer beliebige Daten zurückgeben 🙄


Anmelden zum Antworten