O'Reilly logo

Windows® via C/C++, Fifth Edition by Christophe Nasarre, Jeffrey Richter

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Function Forwarders

A function forwarder is an entry in a DLL’s export section that redirects a function call to another function in another DLL. For example, if you run the Visual C++ DumpBin utility on the Windows Vista Kernel32.dll, you’ll see a part of the output that looks like this:

C:\Windows\System32>DumpBin -Exports Kernel32.dll      (some output omitted)
75   49    CloseThreadpoolIo (forwarded to NTDLL.TpReleaseIoCompletion)
76   4A    CloseThreadpoolTimer (forwarded to NTDLL.TpReleaseTimer)
77   4B    CloseThreadpoolWait (forwarded to NTDLL.TpReleaseWait)
78   4C    CloseThreadpoolWork (forwarded to NTDLL.TpReleaseWork)
      (remainder of output omitted)

This output shows four forwarded functions. Whenever your application calls CloseThreadpoolIo, CloseThreadpoolTimer ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required