mirror of
https://github.com/reactos/reactos.git
synced 2025-07-31 11:31:40 +00:00
[FREELDR] Demote the ArcOpen() trace in WinLdrLoadImage() to a warning only.
This commit is contained in:
parent
4016225269
commit
dca43193c8
1 changed files with 19 additions and 19 deletions
|
@ -75,8 +75,8 @@ WinLdrCheckForLoadedDll(IN OUT PLIST_ENTRY ModuleListHead,
|
||||||
InLoadOrderLinks);
|
InLoadOrderLinks);
|
||||||
|
|
||||||
TRACE("WinLdrCheckForLoadedDll: DTE %p, EP %p, base %p name '%.*ws'\n",
|
TRACE("WinLdrCheckForLoadedDll: DTE %p, EP %p, base %p name '%.*ws'\n",
|
||||||
DataTableEntry, DataTableEntry->EntryPoint, DataTableEntry->DllBase,
|
DataTableEntry, DataTableEntry->EntryPoint, DataTableEntry->DllBase,
|
||||||
DataTableEntry->BaseDllName.Length / 2, VaToPa(DataTableEntry->BaseDllName.Buffer));
|
DataTableEntry->BaseDllName.Length / 2, VaToPa(DataTableEntry->BaseDllName.Buffer));
|
||||||
|
|
||||||
/* Compare names */
|
/* Compare names */
|
||||||
if (WinLdrpCompareDllName(DllName, &DataTableEntry->BaseDllName))
|
if (WinLdrpCompareDllName(DllName, &DataTableEntry->BaseDllName))
|
||||||
|
@ -119,7 +119,7 @@ WinLdrScanImportDescriptorTable(IN OUT PLIST_ENTRY ModuleListHead,
|
||||||
BaseName.MaximumLength = ScanDTE->BaseDllName.MaximumLength;
|
BaseName.MaximumLength = ScanDTE->BaseDllName.MaximumLength;
|
||||||
BaseName.Length = ScanDTE->BaseDllName.Length;
|
BaseName.Length = ScanDTE->BaseDllName.Length;
|
||||||
TRACE("WinLdrScanImportDescriptorTable(): %wZ ImportTable = 0x%X\n",
|
TRACE("WinLdrScanImportDescriptorTable(): %wZ ImportTable = 0x%X\n",
|
||||||
&BaseName, ImportTable);
|
&BaseName, ImportTable);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -182,8 +182,9 @@ WinLdrAllocateDataTableEntry(IN OUT PLIST_ENTRY ModuleListHead,
|
||||||
PLDR_DATA_TABLE_ENTRY DataTableEntry;
|
PLDR_DATA_TABLE_ENTRY DataTableEntry;
|
||||||
PIMAGE_NT_HEADERS NtHeaders;
|
PIMAGE_NT_HEADERS NtHeaders;
|
||||||
USHORT Length;
|
USHORT Length;
|
||||||
|
|
||||||
TRACE("WinLdrAllocateDataTableEntry(, '%s', '%s', %p)\n",
|
TRACE("WinLdrAllocateDataTableEntry(, '%s', '%s', %p)\n",
|
||||||
BaseDllName, FullDllName, BasePA);
|
BaseDllName, FullDllName, BasePA);
|
||||||
|
|
||||||
/* Allocate memory for a data table entry, zero-initialize it */
|
/* Allocate memory for a data table entry, zero-initialize it */
|
||||||
DataTableEntry = (PLDR_DATA_TABLE_ENTRY)FrLdrHeapAlloc(sizeof(LDR_DATA_TABLE_ENTRY),
|
DataTableEntry = (PLDR_DATA_TABLE_ENTRY)FrLdrHeapAlloc(sizeof(LDR_DATA_TABLE_ENTRY),
|
||||||
|
@ -281,13 +282,14 @@ WinLdrLoadImage(IN PCHAR FileName,
|
||||||
ARC_STATUS Status;
|
ARC_STATUS Status;
|
||||||
LARGE_INTEGER Position;
|
LARGE_INTEGER Position;
|
||||||
ULONG i, BytesRead;
|
ULONG i, BytesRead;
|
||||||
|
|
||||||
TRACE("WinLdrLoadImage(%s, %ld, *)\n", FileName, MemoryType);
|
TRACE("WinLdrLoadImage(%s, %ld, *)\n", FileName, MemoryType);
|
||||||
|
|
||||||
/* Open the image file */
|
/* Open the image file */
|
||||||
Status = ArcOpen(FileName, OpenReadOnly, &FileId);
|
Status = ArcOpen(FileName, OpenReadOnly, &FileId);
|
||||||
if (Status != ESUCCESS)
|
if (Status != ESUCCESS)
|
||||||
{
|
{
|
||||||
ERR("ArcOpen(FileName: \"%s\", OpenReadOnly: %u) failed. Status %u\n", FileName, OpenReadOnly, Status);
|
WARN("ArcOpen(FileName: '%s') failed. Status: %u\n", FileName, Status);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -472,7 +474,7 @@ WinLdrpCompareDllName(IN PCH DllName,
|
||||||
UnicodeNamePA.MaximumLength = UnicodeName->MaximumLength;
|
UnicodeNamePA.MaximumLength = UnicodeName->MaximumLength;
|
||||||
UnicodeNamePA.Buffer = VaToPa(UnicodeName->Buffer);
|
UnicodeNamePA.Buffer = VaToPa(UnicodeName->Buffer);
|
||||||
TRACE("WinLdrpCompareDllName: %s and %wZ, Length = %d "
|
TRACE("WinLdrpCompareDllName: %s and %wZ, Length = %d "
|
||||||
"UN->Length %d\n", DllName, &UnicodeNamePA, Length, UnicodeName->Length);
|
"UN->Length %d\n", DllName, &UnicodeNamePA, Length, UnicodeName->Length);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -525,7 +527,7 @@ WinLdrpBindImportName(IN OUT PLIST_ENTRY ModuleListHead,
|
||||||
BOOLEAN Success;
|
BOOLEAN Success;
|
||||||
|
|
||||||
//TRACE("WinLdrpBindImportName(): DllBase 0x%X, ImageBase 0x%X, ThunkData 0x%X, ExportDirectory 0x%X, ExportSize %d, ProcessForwards 0x%X\n",
|
//TRACE("WinLdrpBindImportName(): DllBase 0x%X, ImageBase 0x%X, ThunkData 0x%X, ExportDirectory 0x%X, ExportSize %d, ProcessForwards 0x%X\n",
|
||||||
// DllBase, ImageBase, ThunkData, ExportDirectory, ExportSize, ProcessForwards);
|
// DllBase, ImageBase, ThunkData, ExportDirectory, ExportSize, ProcessForwards);
|
||||||
|
|
||||||
/* Check passed DllBase param */
|
/* Check passed DllBase param */
|
||||||
if(DllBase == NULL)
|
if(DllBase == NULL)
|
||||||
|
@ -564,7 +566,7 @@ WinLdrpBindImportName(IN OUT PLIST_ENTRY ModuleListHead,
|
||||||
OrdinalTable = VaToPa(RVA(DllBase, ExportDirectory->AddressOfNameOrdinals));
|
OrdinalTable = VaToPa(RVA(DllBase, ExportDirectory->AddressOfNameOrdinals));
|
||||||
|
|
||||||
//TRACE("NameTable 0x%X, OrdinalTable 0x%X, ED->AddressOfNames 0x%X, ED->AOFO 0x%X\n",
|
//TRACE("NameTable 0x%X, OrdinalTable 0x%X, ED->AddressOfNames 0x%X, ED->AOFO 0x%X\n",
|
||||||
// NameTable, OrdinalTable, ExportDirectory->AddressOfNames, ExportDirectory->AddressOfNameOrdinals);
|
// NameTable, OrdinalTable, ExportDirectory->AddressOfNames, ExportDirectory->AddressOfNameOrdinals);
|
||||||
|
|
||||||
/* Get the hint, convert it to a physical pointer */
|
/* Get the hint, convert it to a physical pointer */
|
||||||
Hint = ((PIMAGE_IMPORT_BY_NAME)VaToPa((PVOID)ThunkData->u1.AddressOfData))->Hint;
|
Hint = ((PIMAGE_IMPORT_BY_NAME)VaToPa((PVOID)ThunkData->u1.AddressOfData))->Hint;
|
||||||
|
@ -604,14 +606,13 @@ WinLdrpBindImportName(IN OUT PLIST_ENTRY ModuleListHead,
|
||||||
/* Compare the names */
|
/* Compare the names */
|
||||||
Result = strcmp(ExportName, (PCHAR)ImportData->Name);
|
Result = strcmp(ExportName, (PCHAR)ImportData->Name);
|
||||||
|
|
||||||
/*TRACE("Binary search: comparing Import '__', Export '%s'\n",*/
|
// TRACE("Binary search: comparing Import '__', Export '%s'\n",
|
||||||
/*VaToPa(&((PIMAGE_IMPORT_BY_NAME)VaToPa(ThunkData->u1.AddressOfData))->Name[0]),*/
|
// VaToPa(&((PIMAGE_IMPORT_BY_NAME)VaToPa(ThunkData->u1.AddressOfData))->Name[0]),
|
||||||
/*(PCHAR)VaToPa(RVA(DllBase, NameTable[Middle])));*/
|
// (PCHAR)VaToPa(RVA(DllBase, NameTable[Middle])));
|
||||||
|
|
||||||
/*TRACE("TE->u1.AOD %p, fulladdr %p\n",
|
|
||||||
ThunkData->u1.AddressOfData,
|
|
||||||
((PIMAGE_IMPORT_BY_NAME)VaToPa(ThunkData->u1.AddressOfData))->Name );*/
|
|
||||||
|
|
||||||
|
// TRACE("TE->u1.AOD %p, fulladdr %p\n",
|
||||||
|
// ThunkData->u1.AddressOfData,
|
||||||
|
// ((PIMAGE_IMPORT_BY_NAME)VaToPa(ThunkData->u1.AddressOfData))->Name );
|
||||||
|
|
||||||
/* Depending on result of strcmp, perform different actions */
|
/* Depending on result of strcmp, perform different actions */
|
||||||
if (Result > 0)
|
if (Result > 0)
|
||||||
|
@ -634,7 +635,6 @@ WinLdrpBindImportName(IN OUT PLIST_ENTRY ModuleListHead,
|
||||||
/* If high boundary is less than low boundary, then no result found */
|
/* If high boundary is less than low boundary, then no result found */
|
||||||
if (High < Low)
|
if (High < Low)
|
||||||
{
|
{
|
||||||
//Print(L"Error in binary search\n");
|
|
||||||
ERR("Did not find export '%s'!\n", (PCHAR)ImportData->Name);
|
ERR("Did not find export '%s'!\n", (PCHAR)ImportData->Name);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -668,6 +668,7 @@ WinLdrpBindImportName(IN OUT PLIST_ENTRY ModuleListHead,
|
||||||
CHAR ForwardDllName[255];
|
CHAR ForwardDllName[255];
|
||||||
PIMAGE_EXPORT_DIRECTORY RefExportDirectory;
|
PIMAGE_EXPORT_DIRECTORY RefExportDirectory;
|
||||||
ULONG RefExportSize;
|
ULONG RefExportSize;
|
||||||
|
|
||||||
TRACE("WinLdrpBindImportName(): ForwarderName %s\n", ForwarderName);
|
TRACE("WinLdrpBindImportName(): ForwarderName %s\n", ForwarderName);
|
||||||
|
|
||||||
/* Save the name of the forward dll */
|
/* Save the name of the forward dll */
|
||||||
|
@ -770,7 +771,6 @@ WinLdrpLoadAndScanReferencedDll(PLIST_ENTRY ModuleListHead,
|
||||||
strcat(FullDllName, ImportName);
|
strcat(FullDllName, ImportName);
|
||||||
|
|
||||||
TRACE("Loading referenced DLL: %s\n", FullDllName);
|
TRACE("Loading referenced DLL: %s\n", FullDllName);
|
||||||
//Print(L"Loading referenced DLL: %s\n", FullDllName);
|
|
||||||
|
|
||||||
/* Load the image */
|
/* Load the image */
|
||||||
Success = WinLdrLoadImage(FullDllName, LoaderBootDriver, &BasePA);
|
Success = WinLdrLoadImage(FullDllName, LoaderBootDriver, &BasePA);
|
||||||
|
@ -794,7 +794,7 @@ WinLdrpLoadAndScanReferencedDll(PLIST_ENTRY ModuleListHead,
|
||||||
|
|
||||||
/* Scan its dependencies too */
|
/* Scan its dependencies too */
|
||||||
TRACE("WinLdrScanImportDescriptorTable() calling ourselves for %S\n",
|
TRACE("WinLdrScanImportDescriptorTable() calling ourselves for %S\n",
|
||||||
VaToPa((*DataTableEntry)->BaseDllName.Buffer));
|
VaToPa((*DataTableEntry)->BaseDllName.Buffer));
|
||||||
Success = WinLdrScanImportDescriptorTable(ModuleListHead, DirectoryPath, *DataTableEntry);
|
Success = WinLdrScanImportDescriptorTable(ModuleListHead, DirectoryPath, *DataTableEntry);
|
||||||
if (!Success)
|
if (!Success)
|
||||||
{
|
{
|
||||||
|
@ -817,7 +817,7 @@ WinLdrpScanImportAddressTable(IN OUT PLIST_ENTRY ModuleListHead,
|
||||||
ULONG ExportSize;
|
ULONG ExportSize;
|
||||||
|
|
||||||
TRACE("WinLdrpScanImportAddressTable(): DllBase 0x%X, "
|
TRACE("WinLdrpScanImportAddressTable(): DllBase 0x%X, "
|
||||||
"ImageBase 0x%X, ThunkData 0x%X\n", DllBase, ImageBase, ThunkData);
|
"ImageBase 0x%X, ThunkData 0x%X\n", DllBase, ImageBase, ThunkData);
|
||||||
|
|
||||||
/* Obtain the export table from the DLL's base */
|
/* Obtain the export table from the DLL's base */
|
||||||
if (DllBase == NULL)
|
if (DllBase == NULL)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue