Mailing-List: contact cygwin-help@sourceware.cygnus.com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@sources.redhat.com Delivered-To: mailing list cygwin@sources.redhat.com Date: Mon, 5 Mar 2001 17:56:35 -0800 (Pacific Standard Time) From: Jason Tiller To: Subject: Re: Patch submission for AltGr handling In-Reply-To: <200103060151.UAA06498@envy.delorie.com> Message-ID: X-X-Sender: jdtiller@shell3.ba.best.com MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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 jtiller@sjm.com Sonos -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple