Lines Matching refs:Pe32
60 Hdr.Pe32 = (EFI_IMAGE_NT_HEADERS32 *)((UINTN) Pe32Data + (UINTN) ((DosHdr->e_lfanew) & 0x0ffff));
65 Hdr.Pe32 = (EFI_IMAGE_NT_HEADERS32 *)Pe32Data;
70 // AddressOfEntryPoint is common for PE32 & PE32+
75 } else if (Hdr.Pe32->Signature == EFI_IMAGE_NT_SIGNATURE) {
76 *EntryPoint = (VOID *)((UINTN)Pe32Data + (UINTN)(Hdr.Pe32->OptionalHeader.AddressOfEntryPoint & 0x0ffffffff));
112 Hdr.Pe32 = (EFI_IMAGE_NT_HEADERS32 *)((UINTN) Pe32Data + (UINTN) ((DosHdr->e_lfanew) & 0x0ffff));
117 Hdr.Pe32 = (EFI_IMAGE_NT_HEADERS32 *)Pe32Data;
122 } else if (Hdr.Pe32->Signature == EFI_IMAGE_NT_SIGNATURE) {
123 return Hdr.Pe32->FileHeader.Machine;
176 Hdr.Pe32 = (EFI_IMAGE_NT_HEADERS32 *)((UINTN) Pe32Data + (UINTN) ((DosHdr->e_lfanew) & 0x0ffff));
181 Hdr.Pe32 = (EFI_IMAGE_NT_HEADERS32 *)Pe32Data;
192 } else if (Hdr.Pe32->Signature == EFI_IMAGE_NT_SIGNATURE) {
194 // NOTE: We use Machine field to identify PE32/PE32+, instead of Magic.
196 // generate PE32+ image with PE32 Magic.
198 switch (Hdr.Pe32->FileHeader.Machine) {
201 // Assume PE32 image with IA32 Machine field.
208 // Assume PE32+ image with x64 or IA64 Machine field
216 Magic = Hdr.Pe32->OptionalHeader.Magic;
221 // Use PE32 offset get Debug Directory Entry
223 NumberOfRvaAndSizes = Hdr.Pe32->OptionalHeader.NumberOfRvaAndSizes;
224 DirectoryEntry = (EFI_IMAGE_DATA_DIRECTORY *)&(Hdr.Pe32->OptionalHeader.DataDirectory[EFI_IMAGE_DIRECTORY_ENTRY_DEBUG]);
226 } else if (Hdr.Pe32->OptionalHeader.Magic == EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC) {
228 // Use PE32+ offset get Debug Directory Entry
300 Hdr.Pe32 = (EFI_IMAGE_NT_HEADERS32 *)((UINTN) Pe32Data + (UINTN) ((DosHdr->e_lfanew) & 0x0ffff));
305 Hdr.Pe32 = (EFI_IMAGE_NT_HEADERS32 *)Pe32Data;
310 } else if (Hdr.Pe32->Signature == EFI_IMAGE_NT_SIGNATURE) {
311 SizeOfHeaders = Hdr.Pe32->OptionalHeader.SizeOfHeaders;