unction of
one short argument that returns a string or a subroutine
of two arguments, one short, and one string, which 
modifies the second argument.  For the purposes of this
discussion, it does not matter which way it is defined
in the .inf file.

<p>The problem with this is that it stores the resuting 
string starting at *ret, and there is no way to know
how long the memory is.  The original shared library
code ensured that there were at least 300 bytes or
the size of the previous returned str