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 ...

Get Windows® via C/C++, Fifth Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.