{"id":44,"date":"2010-06-30T06:19:15","date_gmt":"2010-06-30T06:19:15","guid":{"rendered":"http:\/\/www.lsp.org.il\/?p=44"},"modified":"2010-06-30T06:22:34","modified_gmt":"2010-06-30T06:22:34","slug":"lsp-ifs-and-non-ifs","status":"publish","type":"post","link":"https:\/\/www.lsp.org.il\/index.php\/2010\/06\/30\/lsp-ifs-and-non-ifs\/","title":{"rendered":"LSP: IFS and Non-IFS"},"content":{"rendered":"<p>IFS LSP<\/p>\n<p>Since this LSP provides the Winsock client application a valid\u00c2\u00a0operating system (OS)\u00c2\u00a0handle, the particular LSP does not have to implement all the LSP functions, but merely the single one it demands &#8211; which in turn is usually a profit. Yet, the negative aspect is that an IFS LSP can&#8217;t intercept asynchronous procedures and overlapped operations, such as when WriteFile &amp; ReadFile\u00c2\u00a0are utilized together with the IFS handle.<\/p>\n<p>Non-IFS LSP<\/p>\n<p>Due to the fact a Non-IFS LSPwill translate the IFS handles, it\u00c2\u00a0must then\u00c2\u00a0implement all of\u00c2\u00a0the LSP procedures. In the unfortunate\u00c2\u00a0event it does not do so, untranslated handles could then reach the\u00c2\u00a0operating system (OS)\u00c2\u00a0API and result in an error, mainly because the Operating-System is unaware of these kinds of synthetic handles.<\/p>\n<p>A single\u00c2\u00a0particular gain of this LSP would be the capability to intercept each and every IFS function that makes use of this socket handle (for instance WriteFile\/ReadFile). And another benefit may be the\u00c2\u00a0certain ability\u00c2\u00a0to collect these notifications from the asynchronous mechanisms.<\/p>\n<p>Houdini<\/p>\n","protected":false},"excerpt":{"rendered":"<p>IFS LSP Since this LSP provides the Winsock client application a valid\u00c2\u00a0operating system (OS)\u00c2\u00a0handle, the particular LSP does not have to implement all the LSP functions, but merely the single one it demands &#8211; which in turn is usually a profit. Yet, the negative aspect is that an IFS LSP can&#8217;t intercept asynchronous procedures and [&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":[32,33],"class_list":["post-44","post","type-post","status-publish","format-standard","hentry","category-winsock-lsp","tag-ifs-lsp","tag-non-ifs-lsp"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.lsp.org.il\/index.php\/wp-json\/wp\/v2\/posts\/44","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lsp.org.il\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lsp.org.il\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lsp.org.il\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lsp.org.il\/index.php\/wp-json\/wp\/v2\/comments?post=44"}],"version-history":[{"count":3,"href":"https:\/\/www.lsp.org.il\/index.php\/wp-json\/wp\/v2\/posts\/44\/revisions"}],"predecessor-version":[{"id":46,"href":"https:\/\/www.lsp.org.il\/index.php\/wp-json\/wp\/v2\/posts\/44\/revisions\/46"}],"wp:attachment":[{"href":"https:\/\/www.lsp.org.il\/index.php\/wp-json\/wp\/v2\/media?parent=44"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lsp.org.il\/index.php\/wp-json\/wp\/v2\/categories?post=44"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lsp.org.il\/index.php\/wp-json\/wp\/v2\/tags?post=44"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}