ResumeThread funktioniert nicht
-
Hallo, ich bin völlig am Ende.
Ich habe eine Anwendung geschrieben, die einen Thread im Suspend-Mode erzeugt.
In einer Dialogbox gibt es einen Button, über den der Thread per Resume Thread aufgeweckt werden soll. Leider funktioniert das nicht.
Hat jemand eine Idee, woran das liegen könnte?CreateThread(NULL, 0, &executeThreadProc, (LPVOID)&control, (DWORD)CREATE_SUSPENDED, (LPDWORD)&threadId); retval = ResumeThread( threadId );In der Hilfe ist die Funktion ResumeThread übrigens dokumentiert als hätte sie keine Parameter. Den Parameter threadId habe ich einfach so übergeben, weil sonst der Compiler meckert, und welcher fehlende Parameter sollte es schon sein, als die Thread-ID?
Ich benutze VisualC++2003
Danke für eure Antworten
-
ResumeThread () braucht das Thread-Handle als Parameter. Das Thread-Handle ist der Rückgabewert von CreateThread ().
-
Das war wirklich verwirrend.
Ich dachte, der Handle sei der Parameter, den man als Adresse an CreateThread übergibt.
Jetzt gehts, Vielen Dank für deine Hilfe.
Das war wahrscheinlich zu einfach für mich (schäm)
-
Anmerkung: Sobald Du dir MFC/CRT in irgend einer Weise verwendest solltest Du in keinem Fall CreateThread verwenden sondern beginthread/beginthreadex, bzw AfxBeginThread. Ansonsten riskierst Du Memory Leaks..