///|
pub fn PEImage::delay_imports(
self : Self,
) -> Array[DelayImportLibrary] raise PeError {
let directory = match self.directory(13) {
Some(directory) if directory.virtual_address != 0UL && directory.size > 0 =>
directory
_ => return []
}
let start = self.rva_to_offset(directory.virtual_address)
let limit = if directory.size >= 32 { directory.size / 32 } else { 4096 }
let descriptor_limit = if limit < 4096 { limit } else { 4096 }
let libraries = []
for index in 0.. UInt64 raise PeError {
if value == 0UL || (attributes & 1) != 0 {
return value
}
match self.va_to_rva(value) {
Some(rva) => rva
None => raise PeError(0, "delay-import VA is outside the image")
}
}