Module pelite::pe32::exports [−][src]
Export Directory.
The export directory contains a list of symbols, well, exported by this module. A symbol can refer to a function, static data or a forwarded reference to an exported symbol in another module.
Symbols can be exported by name or by their ordinal number. The ordinal number of an exported function is its index in the exported function list plus the ordinal base.
Examples
use pelite::pe64::{Pe, PeFile}; use pelite::pe64::exports::GetProcAddress; fn example(file: PeFile<'_>) -> pelite::Result<()> { // Most convenient way to get the address of an export file.get_proc_address("ThrowException")?; // Access the export directory let exports = file.exports()?; // Print the export DLL name let dll_name = exports.dll_name()?; println!("dll_name: {}", dll_name); // To query the exports let by = exports.by()?; // For example: query an export by name by.name("?__autoclassinit2@Passwds@@QEAAX_K@Z")?; // For example: query an export by ordinal by.ordinal(6)?; // For example: iterate over all the exports. for result in by.iter() { if let Ok(export) = result { println!("export: {:?}", export); } } // For example: iterate over the named exports for result in by.iter_names() { if let (Ok(name), Ok(export)) = result { println!("export {}: {:?}", name, export); } } Ok(()) }
Structs
By |
Export directory symbol lookup. |
Exports |
Export directory. |
Enums
Export |
Exported symbol. |
Traits
GetProcAddress |
Convenient way to get an exported address. |