Hi, DJ, :)

On Mon, 5 Mar 2001, DJ Delorie wrote:
> This is Jason:
> > Thanks for the tip.  I do see how that works.  One thing I don't
> > understand, though - why do you go through the code you do to load
> > procedure addresses instead of LoadProcAddress()'ing them?

> The idea is that the first time you call our stub function, it does
> call LoadProcAddress.  Then it rewrites the stub to simply jump to
> the new address, and jumps back to the stub!  The second time the
> stub is called, it has nothing but the jump in it.

> You can't just call the function, because you don't know what the
> parameters look like (well, we do, but it's not automatic like the
> jmp is, and jmp is faster).

Ah, I see.  This saves quite a bit of code, too, it seems.  All of
those nasty LoadProcAddress()'es and what.  Plus, it seems to have a
serious performance advantage.  Still, gnarly code.  Thanks for the
info!

---Jason Tiller
[EMAIL PROTECTED]
Sonos


--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple

Reply via email to