Author: fireball Date: Tue Sep 2 10:26:05 2008 New Revision: 35872
URL: http://svn.reactos.org/svn/reactos?rev=35872&view=rev Log: - MmLoadSystemImage's last parameter (BaseAddress) is not marked as OPTIONAL. Fix callers.
Modified: trunk/reactos/ntoskrnl/io/iomgr/driver.c trunk/reactos/ntoskrnl/mm/pagefile.c
Modified: trunk/reactos/ntoskrnl/io/iomgr/driver.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/driver.c?... ============================================================================== --- trunk/reactos/ntoskrnl/io/iomgr/driver.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/io/iomgr/driver.c [iso-8859-1] Tue Sep 2 10:26:05 2008 @@ -277,6 +277,7 @@ UNICODE_STRING ServiceImagePath, CCSName; NTSTATUS Status; HANDLE CCSKey, ServiceKey; + PVOID BaseAddress;
DPRINT("IopLoadServiceModule(%wZ, 0x%p)\n", ServiceName, ModuleObject);
@@ -358,7 +359,7 @@ else { DPRINT("Loading module\n"); - Status = MmLoadSystemImage(&ServiceImagePath, NULL, NULL, 0, (PVOID)ModuleObject, NULL); + Status = MmLoadSystemImage(&ServiceImagePath, NULL, NULL, 0, (PVOID)ModuleObject, &BaseAddress); }
ExFreePool(ServiceImagePath.Buffer); @@ -1561,6 +1562,7 @@ PDEVICE_NODE DeviceNode; PDRIVER_OBJECT DriverObject; PLDR_DATA_TABLE_ENTRY ModuleObject; + PVOID BaseAddress; WCHAR *cur;
/* Check if it's an unload request */ @@ -1671,7 +1673,7 @@ * Load the driver module */
- Status = MmLoadSystemImage(&ImagePath, NULL, NULL, 0, (PVOID)&ModuleObject, NULL); + Status = MmLoadSystemImage(&ImagePath, NULL, NULL, 0, (PVOID)&ModuleObject, &BaseAddress); if (!NT_SUCCESS(Status) && Status != STATUS_IMAGE_ALREADY_LOADED) { DPRINT("MmLoadSystemImage() failed (Status %lx)\n", Status);
Modified: trunk/reactos/ntoskrnl/mm/pagefile.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/pagefile.c?rev=... ============================================================================== --- trunk/reactos/ntoskrnl/mm/pagefile.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/mm/pagefile.c [iso-8859-1] Tue Sep 2 10:26:05 2008 @@ -694,6 +694,7 @@ ANSI_STRING ProcName; PIO_STACK_LOCATION StackPtr; PLDR_DATA_TABLE_ENTRY ModuleObject = NULL; + PVOID BaseAddress;
Status = ZwFsControlFile(PageFileHandle, 0, @@ -766,13 +767,13 @@ }
/* Load the diskdump driver. */ - Status = MmLoadSystemImage(&DiskDumpName, NULL, NULL, 0, (PVOID)&ModuleObject, NULL); + Status = MmLoadSystemImage(&DiskDumpName, NULL, NULL, 0, (PVOID)&ModuleObject, &BaseAddress); if (ModuleObject == NULL) { return(STATUS_OBJECT_NAME_NOT_FOUND); } RtlInitAnsiString(&ProcName, "DiskDumpFunctions"); - MmCoreDumpFunctions = MiFindExportedRoutineByName(ModuleObject->DllBase, + MmCoreDumpFunctions = MiFindExportedRoutineByName(BaseAddress, &ProcName); if (!NT_SUCCESS(Status)) {