<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Konica Minolta Twain Driver Not Recognized</title>
	<atom:link href="http://nachbar.name/blog/2008/12/30/konica-minolta-twain-driver-not-recognized/feed/" rel="self" type="application/rss+xml" />
	<link>http://nachbar.name/blog/2008/12/30/konica-minolta-twain-driver-not-recognized/</link>
	<description>Programming and Plastic Surgery</description>
	<lastBuildDate>Wed, 14 Dec 2011 21:13:48 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Mark Barnes</title>
		<link>http://nachbar.name/blog/2008/12/30/konica-minolta-twain-driver-not-recognized/comment-page-1/#comment-338</link>
		<dc:creator>Mark Barnes</dc:creator>
		<pubDate>Wed, 20 May 2009 09:10:43 +0000</pubDate>
		<guid isPermaLink="false">http://nachbar.name/blog/?p=31#comment-338</guid>
		<description>Genius! Thanks for this. I have a near-identical setup (Crystal XI and a Konica Minolta C353) and exactly the same problem - now solved. Thanks.</description>
		<content:encoded><![CDATA[<p>Genius! Thanks for this. I have a near-identical setup (Crystal XI and a Konica Minolta C353) and exactly the same problem &#8211; now solved. Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Elaine</title>
		<link>http://nachbar.name/blog/2008/12/30/konica-minolta-twain-driver-not-recognized/comment-page-1/#comment-49</link>
		<dc:creator>Elaine</dc:creator>
		<pubDate>Fri, 02 Jan 2009 20:17:51 +0000</pubDate>
		<guid isPermaLink="false">http://nachbar.name/blog/?p=31#comment-49</guid>
		<description>Greetings, James --

Good find.  Looks like there are a lot of things that use that dll, and it can cause some issues -- not just scanning and imaging, but VMware, Perl, PHP -- it&#039;s all over the place.

I hope you don&#039;t mind if I direct some people over to your blog through my own -- http://www.atalasoft.com/cs/blogs/support/default.aspx -- you&#039;ve explained things very thoroughly for others to understand.</description>
		<content:encoded><![CDATA[<p>Greetings, James &#8211;</p>
<p>Good find.  Looks like there are a lot of things that use that dll, and it can cause some issues &#8212; not just scanning and imaging, but VMware, Perl, PHP &#8212; it&#8217;s all over the place.</p>
<p>I hope you don&#8217;t mind if I direct some people over to your blog through my own &#8212; <a href="http://www.atalasoft.com/cs/blogs/support/default.aspx" rel="nofollow">http://www.atalasoft.com/cs/blogs/support/default.aspx</a> &#8212; you&#8217;ve explained things very thoroughly for others to understand.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: nachbar</title>
		<link>http://nachbar.name/blog/2008/12/30/konica-minolta-twain-driver-not-recognized/comment-page-1/#comment-40</link>
		<dc:creator>nachbar</dc:creator>
		<pubDate>Wed, 31 Dec 2008 20:27:56 +0000</pubDate>
		<guid isPermaLink="false">http://nachbar.name/blog/?p=31#comment-40</guid>
		<description>Lou:  You are correct -- the User Select command (DG_CONTROL / DAT_IDENTITY / MSG_USERSELECT) does NOT provide any indication to the caller that one of the drivers did not load unless SetErrorMode(0) is called first, and even then only provides it via a message box shown directly to the user (i.e., no indication to the calling application that there was a problem).  

Even enumerating the sources with MSG_GETFIRST and MSG_GETNEXT does not produce any indication to the application that there was a problem.  The message box is shown directly to the user if SetErrorMode(0) had been called, but the twain source manager just skips the source with the problem and returns the next one in line, so the source returned by the Twain source manager is NOT the one that caused the error message box shown by the OS!

Thus, troubleshooting a twain device source failing to load appears best done by calling LoadLibrary on the source library .ds file AFTER setting the current directory to the directory of the .ds file, and after calling SetErrorMode(0).  The only indication to the application that there was a problem will be that LoadLibrary will return NULL, but the user will see a more informative error message box from the OS.

The twain source manager provides no clue that anything is wrong, so there is nothing that the Atalasoft DotTwain library could report.</description>
		<content:encoded><![CDATA[<p>Lou:  You are correct &#8212; the User Select command (DG_CONTROL / DAT_IDENTITY / MSG_USERSELECT) does NOT provide any indication to the caller that one of the drivers did not load unless SetErrorMode(0) is called first, and even then only provides it via a message box shown directly to the user (i.e., no indication to the calling application that there was a problem).  </p>
<p>Even enumerating the sources with MSG_GETFIRST and MSG_GETNEXT does not produce any indication to the application that there was a problem.  The message box is shown directly to the user if SetErrorMode(0) had been called, but the twain source manager just skips the source with the problem and returns the next one in line, so the source returned by the Twain source manager is NOT the one that caused the error message box shown by the OS!</p>
<p>Thus, troubleshooting a twain device source failing to load appears best done by calling LoadLibrary on the source library .ds file AFTER setting the current directory to the directory of the .ds file, and after calling SetErrorMode(0).  The only indication to the application that there was a problem will be that LoadLibrary will return NULL, but the user will see a more informative error message box from the OS.</p>
<p>The twain source manager provides no clue that anything is wrong, so there is nothing that the Atalasoft DotTwain library could report.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: nachbar</title>
		<link>http://nachbar.name/blog/2008/12/30/konica-minolta-twain-driver-not-recognized/comment-page-1/#comment-38</link>
		<dc:creator>nachbar</dc:creator>
		<pubDate>Wed, 31 Dec 2008 18:49:16 +0000</pubDate>
		<guid isPermaLink="false">http://nachbar.name/blog/?p=31#comment-38</guid>
		<description>Thanks, Lou!  Great tips!

The log looks great for sorting out twain control issues, but in this case it didn&#039;t show any evidence of the problem loading the driver.  There is a message: &quot;Why Can&#039;t We Find The Thunker Window?&quot; in the log, but that message occurs whether or not the KM twain device driver loads.  

Note that on my Vista machine the log is in C:\users\LOGIN_NAME_\AppData\Local\Temp\twain.log, and it looks like it logs all of the calls, including result and condition codes.

I hadn&#039;t thought of using DEPENDS.EXE to look at the actual .ds DLL, but when I do, I do NOT get the error message, and in fact DEPENDS loads the LIBEAY32.dll preferentially from the same directory that the .ds twain device driver is in!  Thus, DEPENDS is not using the same DLL Search Order that the twain device manager does, and does not load the LIBEAY32.dll that Crystal put into c:\windows\system32

Photoshop actually lists the available twain devices in a submenu of the main File menu (rather than in a dialog), and appears to be searching for them on startup, since that is when the &quot;The ordinal 2524 could not be located in the dynamic link library LIBEAY32.dll&quot; message occurs.

I got the same error when I called LoadLibrary on the twain device driver .ds DLL (i.e., NOT the way a twain client would normally use twain).  I will let you know if I get an error if I try to call twain_32.dll</description>
		<content:encoded><![CDATA[<p>Thanks, Lou!  Great tips!</p>
<p>The log looks great for sorting out twain control issues, but in this case it didn&#8217;t show any evidence of the problem loading the driver.  There is a message: &#8220;Why Can&#8217;t We Find The Thunker Window?&#8221; in the log, but that message occurs whether or not the KM twain device driver loads.  </p>
<p>Note that on my Vista machine the log is in C:\users\LOGIN_NAME_\AppData\Local\Temp\twain.log, and it looks like it logs all of the calls, including result and condition codes.</p>
<p>I hadn&#8217;t thought of using DEPENDS.EXE to look at the actual .ds DLL, but when I do, I do NOT get the error message, and in fact DEPENDS loads the LIBEAY32.dll preferentially from the same directory that the .ds twain device driver is in!  Thus, DEPENDS is not using the same DLL Search Order that the twain device manager does, and does not load the LIBEAY32.dll that Crystal put into c:\windows\system32</p>
<p>Photoshop actually lists the available twain devices in a submenu of the main File menu (rather than in a dialog), and appears to be searching for them on startup, since that is when the &#8220;The ordinal 2524 could not be located in the dynamic link library LIBEAY32.dll&#8221; message occurs.</p>
<p>I got the same error when I called LoadLibrary on the twain device driver .ds DLL (i.e., NOT the way a twain client would normally use twain).  I will let you know if I get an error if I try to call twain_32.dll</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lou Franco</title>
		<link>http://nachbar.name/blog/2008/12/30/konica-minolta-twain-driver-not-recognized/comment-page-1/#comment-36</link>
		<dc:creator>Lou Franco</dc:creator>
		<pubDate>Wed, 31 Dec 2008 16:27:51 +0000</pubDate>
		<guid isPermaLink="false">http://nachbar.name/blog/?p=31#comment-36</guid>
		<description>Also, twain_32.dll logs into 

C:\Documents and Settings\LOGIN_NAME\Local Settings\Temp\twain.log

Sometimes you see errors like this in there.

(Replace LOGIN_NAME with your login name in the path above)</description>
		<content:encoded><![CDATA[<p>Also, twain_32.dll logs into </p>
<p>C:\Documents and Settings\LOGIN_NAME\Local Settings\Temp\twain.log</p>
<p>Sometimes you see errors like this in there.</p>
<p>(Replace LOGIN_NAME with your login name in the path above)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lou Franco</title>
		<link>http://nachbar.name/blog/2008/12/30/konica-minolta-twain-driver-not-recognized/comment-page-1/#comment-35</link>
		<dc:creator>Lou Franco</dc:creator>
		<pubDate>Wed, 31 Dec 2008 16:24:34 +0000</pubDate>
		<guid isPermaLink="false">http://nachbar.name/blog/?p=31#comment-35</guid>
		<description>Good sleuthing! Thank you for reporting this. 

I will try to explain what happened from the DotTWAIN side.

DotTWAIN relies on the twain_32.dll to report an error. In this case, ShowSelectSource() asks the twain_32.dll to show a dialog with installed TWAIN devices -- it did that (probably failing to load the Minolta driver), and did not report an error -- as far as we know the call completed successfully.

Photoshop probably has their own device list dialog (to match their GUI), so they see the error directly (meaning they don&#039;t ask twain_32.dll to show the dialog)

When you see a missing ordinal error, one thing to do is to run DEPENDS.EXE (comes with Visual Studio) on the dll -- it will show you all of the dlls it will try to load and whether they have the entry points -- it should have flagged LIBEAY32.dll and told you which one it was trying to load.

Also, probably the driver should have installed all of the dependent dlls into the C:\WINDOWS\twain_32 directory -- that way they wouldn&#039;t be affected by other installations.

Again, thanks for documenting this -- and if you run into a problem like this again, please give us a call. We install some diagnostic tools with the SDK and have a driver compatibility database at inspectortwain.com that can sometimes also help.</description>
		<content:encoded><![CDATA[<p>Good sleuthing! Thank you for reporting this. </p>
<p>I will try to explain what happened from the DotTWAIN side.</p>
<p>DotTWAIN relies on the twain_32.dll to report an error. In this case, ShowSelectSource() asks the twain_32.dll to show a dialog with installed TWAIN devices &#8212; it did that (probably failing to load the Minolta driver), and did not report an error &#8212; as far as we know the call completed successfully.</p>
<p>Photoshop probably has their own device list dialog (to match their GUI), so they see the error directly (meaning they don&#8217;t ask twain_32.dll to show the dialog)</p>
<p>When you see a missing ordinal error, one thing to do is to run DEPENDS.EXE (comes with Visual Studio) on the dll &#8212; it will show you all of the dlls it will try to load and whether they have the entry points &#8212; it should have flagged LIBEAY32.dll and told you which one it was trying to load.</p>
<p>Also, probably the driver should have installed all of the dependent dlls into the C:\WINDOWS\twain_32 directory &#8212; that way they wouldn&#8217;t be affected by other installations.</p>
<p>Again, thanks for documenting this &#8212; and if you run into a problem like this again, please give us a call. We install some diagnostic tools with the SDK and have a driver compatibility database at inspectortwain.com that can sometimes also help.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

