The Old New Thing

How does delay-loading use binding information?

In the documentation for delay-loading, there's a remark that says that the call to GetProcAddress can be avoided if there is binding information. A customer who received the explanation of why you can't delay-load kernel32 pointed out that paragraph and asked whether this means that you can delay-load kernel32 if you bind to it. (Getting ...
Comments are closed.0 0
Code

What is DLL import binding?

Last time, we saw howhinting is used to speed upthe resolving of imported functions.Today, we'll look at binding.Recall that the module loader resolves imports by locating thefunction in the export table of the linked-to DLLandrecording the results in the loaded module's table ofimported function addressesso that code from the ...
Comments are closed.0 0
Code

What is DLL import hinting?

Binding and hinting are two types of optimizations to improve the load-time performance of a module (executable or DLL). We'll start with hinting, then look at binding, and then look at how it affects delay-loading. The import table for a module contains a list of DLLs and a list of functions from that DLL which the module wishes to link to. ...
Comments are closed.0 0
Code

Raymond's highly scientific predictions for the 2010 NCAA men's basketball tournament

Once again, it's time for Raymond to come up with an absurd, arbitrary criterion for filling out his NCAA bracket. This year, we go to the well-known dispute arbiter Google Fight. The criterion is the number of Google hits for the quoted phrase "%s basketball", divided by the school's seed. (I would have used Bing hits, except Bing's ...

Robots and humans coexisting, can it be done peacefully?

Everybody who follows science fiction knows that if you have robots and humans living in the same world, eventually something bad happens to the humans.¹ But we're going to chance it one more time. Every so often, I stumble across a Web site that translates my articles into another language. I occasionally see a Japanese ...

Simplifying context menu extensions with IExecuteCommand

The IExecuteCommand interface is a simpler form ofcontext menu extension which takes care of the annoying parts ofIContextMenu so you can focus on your area of expertise,namely, doing the actual thing the user selected,and leave the shell to doing the grunt work of managing the UI part.I've never needed a scratch shell extension before...
Comments are closed.0 0
Code