Neuer Thread startet nur mit Verzögerung
-
Hallo.
Ich hab ein kleines Problemchen mit dem Erstellen eines neuen Threads.
Dieser startet leider nicht sofort sondern erst wesentlich später (nach dem callen verschiedener anderer Funktionen die nach dem erstellen des Threads aufgerufen werden).Hier der Code:
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { if (fdwReason == DLL_PROCESS_ATTACH && !bPatchInstalled) { _beginthread( HkThreadUpdater, 0, NULL ); while(true) { Sleep(2); } } }HkThreadUpdater schreibt dabei ne Meldung in eine Textdatei.
Wenn ich den obrigen Code benutze hält das Programm zwar an der Thread startet aber nicht. Wenn ich die while Schleife weg lasse startet der Thread irgendwann.
Habs auch mit CreateThread versucht aber das hat auch keinen Unterschied gemacht.
Weiß jemand Rat?Grüße
-
DllMain ist ganz böse... siehe Doku...
-
http://www.microsoft.com/whdc/driver/kernel/dll_bestprac.mspx
Stimmt es eigentlich, dass man in der DllMain eine naked-Funktion aufrufen kann, und in dieser dann machen darf, was man will?
-
Aufschnapper schrieb:
Stimmt es eigentlich, dass man in der DllMain eine naked-Funktion aufrufen kann, und in dieser dann machen darf, was man will?
DLLs sind i.A. keine Treiber..., also Nein!
-
AgurS schrieb:
Weiß jemand Rat?
Klar: Doku lesen.