- MmLoadSystemImage's last parameter (BaseAddress) is not marked as OPTIONAL. Fix callers.

svn path=/trunk/; revision=35872
This commit is contained in:
Aleksey Bragin 2008-09-02 08:26:05 +00:00
parent f2b500d25c
commit d866798279
2 changed files with 7 additions and 4 deletions

View file

@ -277,6 +277,7 @@ IopLoadServiceModule(
UNICODE_STRING ServiceImagePath, CCSName;
NTSTATUS Status;
HANDLE CCSKey, ServiceKey;
PVOID BaseAddress;
DPRINT("IopLoadServiceModule(%wZ, 0x%p)\n", ServiceName, ModuleObject);
@ -358,7 +359,7 @@ IopLoadServiceModule(
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 @@ IopLoadUnloadDriver(PLOAD_UNLOAD_PARAMS LoadParams)
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 @@ IopLoadUnloadDriver(PLOAD_UNLOAD_PARAMS LoadParams)
* 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);

View file

@ -694,6 +694,7 @@ MmInitializeCrashDump(HANDLE PageFileHandle, ULONG PageFileNum)
ANSI_STRING ProcName;
PIO_STACK_LOCATION StackPtr;
PLDR_DATA_TABLE_ENTRY ModuleObject = NULL;
PVOID BaseAddress;
Status = ZwFsControlFile(PageFileHandle,
0,
@ -766,13 +767,13 @@ MmInitializeCrashDump(HANDLE PageFileHandle, ULONG PageFileNum)
}
/* 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))
{