Hi Bin gerade dabei einen kleinen Treiber zu schreiben der eingehende Daten vom Netzwerk verarbeitet und geänderte Daten verschickt. Nun habe ich das ganze so das er wenn er auf einen QuadCore läuft auch 4 Threads öffnet. Leider habe ich das Problem das er eigentlich immer nach einer Zeit hängen. Jetzt weis ich leider nicht woran das liegt. Muss ich beim compilieren den Parameter -M mitgeben wenn ich mehrer Threads machen will. Benutze die normale WinDDK 3790. Danke im vorhinein MFG Gast
Der Parameter -M ist für Multi-Prozessor. Ich denke das DDK unterscheidet da aber noch zwischen Multi-Core und Multi-Prozessor. Sonst würd ich einfach sagen mal mit -M ausprobieren :) Außerdem vermute ich, dass du irgendwo ein Deadlock produzierst, da du sagst dein Treiber bleibt hängen. Bei mir äußert sich so ein Deadlock immer damit, dass einfach gar nichts mehr geht, Bild bleibt stehen, Maus bewegen etc unmöglich. Oder du hast einen Logikfehler und dein Treiber hört dadurch auf Daten zu verarbeiten. Ohne eine genauere Beschreibung kann ich dir da aber auch nicht weiterhelfen. MfG Andre
Hallo Erstmals danke für die Antwort. Ich werde das mit den -M aufjedenfall mal testen. Mein Treiber hat auch das Problem das der Rechner auch wenn der Treiber bereits gestoppt (entladen) nach einer gewissen Zeit hängen bleibt. MAus geht noch aber er reagiert auf keinen klick mehr. Werde das ganze mals testen wenn ich in den Threads gar nichts mache. Sprich starten und gleich wieder stoppen. MFG Gast
Hallo HAbe das mi den hängen bleiben nun halbwegs im Griff habe nun aber ein anderes Problem. Ich muss mit eine anderen Treiber kommunizieren was bisher auch funktioniert. Nun muss ich mich allerdings beim anderen Treiber in einer Eventqueue eintragen und auf dieses Event hören. Das eintragen geht aber ich finde keinen Befehl mit den ich das Event initialisierne lassen kann. Im Usermode gehts ja mit OpenEent. Kann mir bitte jemand sagen wie man das im KernelMode am besten macht? Danke MFG Gast
Schau mal unter KeInitializeEvent nach. Ich programmiere hauptsächlich mit dem KMDF, hab also von dem WDM kram nicht sooo viel Ahnung, aber ich denke du suchst diese Funktion.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.