Export Function List View

Dependency Walker


Export Function List View


The Export Function List View displays the list of export functions for the currently selected module in the Module Dependency Tree View. Export functions are functions that a module exposes to other modules. They can be thought of as the module's interface.

Dependency Walker uses the exported list to check for unresolved external errors in the selected module. For more information, read the Parent Import Function List View section.

While Dependency Walker scans the export list for a module, it checks each function to see if it is really a forwarded function. A forwarded function is a function that appears to be exported from a particular module, but in fact the code for the function actually lives in another module. The operating system's loader recognizes this and loads the forwarded module if necessary to resolve any imports from the parent module. Dependency Walker, like the operating system's loader, also loads the forwarded module if necessary.

C++ functions can be displayed in their native decorated format or in a human readable undecorated format. See the Undecorate C++ Functions Command for more information. You may also copy the selected function names to the clipboard by selecting the Copy Command. The actual text copied will differ depending on how the Undecorate C++ Functions option is set. If more than one function is selected, a list will be copied to the clipboard with carriage returns after each function. The complete contents of the Export Function List View can also be saved to a text file using the Save Command or Save As Command.

The following are the possible images that can accompany each function in the export list:

bullet C export function that resides in the selected module.

bullet C++ export function that resides in the selected module. C++ functions can be viewed in their native decorated form or in a human readable undecorated form. See the Undecorate C++ Functions Command for more information.

bullet Ordinal export function that resides in the selected module.

bullet C export function that is called at least once by any module in the current module session (similar images also exist for C++ and ordinal functions).

bullet C export function that is called by the selected module in the Module Dependency Tree View (similar images also exist for C++ and ordinal functions). There will be a one-to-one relationship between these functions and the resolved imports in the Parent Import Function List View. You can use the Highlight Matching Item command to quickly jump between the matching import and export.

bullet Forwarded C export function that resides in a different module (similar images also exist for C++ and ordinal functions). The module that the function truly resides in is listed in the Entry Point column.


The Export Function View is comprised of four columns:

Image See the above list for descriptions. The header for this column has the letter "E" in it, which just stands for "Exports"
Ordinal The ordinal value of the exported function, if the function is exported by ordinal. This value can be "N/A" if the function is exported only by name.
Hint The hint value for the exported function. The hint value is used internally by the operating system's loader to quickly match imports with exports. It is used as an index into the array of exported functions in the selected module.

 

Function The name of the exported function, if the function is exported by name. This can be "N/A" if the function is exported only by ordinal. C++ functions can be viewed in their native decorated form or in a human readable undecorated form. See the Undecorate C++ Functions Command for more information.
Entry Point The entry point memory address for the function. This is usually a relative offset from the base address at which the module will load at by the operating system's loader. This base address is usually the base address listed in the Module List View for the particular module. If the function is forwarded to another module, then a forward string will be displayed instead of an address. The forward string is in the form of ModuleName.FunctionName.


The function list can be sorted on the data in any column in the list. Simply click on the column header button for the column you wish to sort by. An arrow (^) is displayed in the column header for the column that the list is currently sorted by. You can also size a column to its "best fit" width by double-clicking the divider line between two columns in the column header. You can search for text in the currently sorted column by simply typing in the first few characters of the item you wish to find. For ordinal and hint values, you may enter decimal or hex (prefaced by 0x) values to search for.