title: Legacy activeX control calls DLL functions - I need help
body: <p>Hint: this one might sound complicated, because I am trying to give as much info as possible, but I suspect that I just want someone to tell me "yes, you are correct".</p>
  
  <p>On this legacy system, which dates from 2002, the user visits a web page and uses an RFID reader to read a tag number, which is then written to an input field on the web page.</p>
  
  <p>The only s/w that comes with the reader is a custom DLL, nop .exe. </p>
  
  <p>The very sparse documentation insists that only MSIE be used and that all security relating to ActiveX be disabled.</p>
  
  <p>When I look into the source of the web page I see calls to functions in the DLL.</p>
  
  <p>Now, here's the fun part: I know zilch about ActiveX, I have to make a minor change to the DLL <em>*but*</em> the VB6 source code has been lost, so I guess that I have to recreate the (seemingly very simple) DLL from scratch - this week.</p>
  
  <p>Decompiling the DLL shows me the functions (locateReader, getTagVal, closeReader). However, by decompiling I can't really know the number or type of the parameters, nor the return values ... and if anyone knows the API they are refusing to share it, but basically it all seems to have been lost in the mists of time as companies went bust, were bought &amp; sold, merged &amp; demerged and the initial DLL might have been written by an external guy, but no one knows who.</p>
  
  <p>So, can I get the function params &amp; type from the ASP page source?</p>
  
  <p>I see things like</p>
  
  <pre><code>Reader = new ActiveXObject("&lt;dllName&gt;.Reader");
  Reader.locateReader();
  tagVal = Reader.getTagVal();
  Reader.closeReader();
  </code></pre>
  
  <p>So, I would say that none of the fn()s take parameters, that closeReader doesn't have to return anything; it looks like locateReader doesn't return anything either, so I guess that error handling will have to be in the DLL (loop forever with a popup demanding that a reader be attached; and getTagVal seems to return a string.</p>
  
  <p>Does that sound about right? Any other comments (other than lessons to be learned)?</p>