{"id":60,"date":"2010-10-14T09:12:06","date_gmt":"2010-10-14T08:12:06","guid":{"rendered":"http:\/\/blog.kalmbach-software.de\/de\/2010\/10\/14\/lowlevel-hooks-sind-bose\/"},"modified":"2010-10-14T09:12:06","modified_gmt":"2010-10-14T08:12:06","slug":"lowlevel-hooks-sind-bose","status":"publish","type":"post","link":"http:\/\/blog.kalmbach-software.de\/de\/2010\/10\/14\/lowlevel-hooks-sind-bose\/","title":{"rendered":"LowLevel Hooks sind b\u00f6se"},"content":{"rendered":"<p>Es gibt ja viele, die stehen auf Hooks. Es gibt auch sog. <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/ms644985\">LowLevel Hooks<\/a>, welche keine DLL ben\u00f6tigen, sondern im Kontext des Prozesses (Threads) laufen, welche das <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/ms644990\">SetWindowsHookEx<\/a> aufgerufen hat.<br \/>\nDas Problem ist nun bei solchen Hooks, das diese in der Vergangenheit sehr oft zu Verz\u00f6gerungen im ganzen Windows System gef\u00fchrt haben, wenn ein Hook in der Callback etwas l\u00e4nger gebraucht hat oder sonstwie Fehler gehabt hat.<\/p>\n<p>Dies hat MS nun versucht zu in Windows 7 (RTM) beheben. Die L\u00f6sung ist einfach:<br \/>\n<strong>Der Hook wird einfach entfernt, wenn er 11 Mal l\u00e4nger als 300 ms gebraucht hat \ud83d\ude09<\/strong> (wobei ich 300 ms immer noch sehr lang finde&#8230;)<\/p>\n<p>Siehe auch: <a href=\"http:\/\/blogs.msdn.com\/b\/alejacma\/archive\/2010\/10\/14\/global-hooks-getting-lost-on-windows-7.aspx\">Global hooks getting lost on Windows 7<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Es gibt ja viele, die stehen auf Hooks. Es gibt auch sog. LowLevel Hooks, welche keine DLL ben\u00f6tigen, sondern im Kontext des Prozesses (Threads) laufen, welche das SetWindowsHookEx aufgerufen hat. Das Problem ist nun bei solchen Hooks, das diese in der Vergangenheit sehr oft zu Verz\u00f6gerungen im ganzen Windows System gef\u00fchrt haben, wenn ein Hook [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-60","post","type-post","status-publish","format-standard","hentry","category-alles-uber-die-echte-windowsprogrammierung"],"_links":{"self":[{"href":"http:\/\/blog.kalmbach-software.de\/de\/wp-json\/wp\/v2\/posts\/60","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.kalmbach-software.de\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.kalmbach-software.de\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.kalmbach-software.de\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.kalmbach-software.de\/de\/wp-json\/wp\/v2\/comments?post=60"}],"version-history":[{"count":0,"href":"http:\/\/blog.kalmbach-software.de\/de\/wp-json\/wp\/v2\/posts\/60\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.kalmbach-software.de\/de\/wp-json\/wp\/v2\/media?parent=60"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.kalmbach-software.de\/de\/wp-json\/wp\/v2\/categories?post=60"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.kalmbach-software.de\/de\/wp-json\/wp\/v2\/tags?post=60"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}