/* $Id$
- *
+ *
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/ldr/resource.c
* PURPOSE: Resource loader
+ *
* PROGRAMMERS: Eric Kohl (ekohl@rz-online.de)
*/
if (Data == 0)
return STATUS_RESOURCE_DATA_NOT_FOUND;
- if ((ULONG)BaseAddress & 1)
+ if ((ULONG_PTR)BaseAddress & 1)
{
/* loaded as ordinary file */
- NtHeader = RtlImageNtHeader((PVOID)((ULONG)BaseAddress & ~1UL));
+ NtHeader = RtlImageNtHeader((PVOID)((ULONG_PTR)BaseAddress & ~1));
Offset = (ULONG)BaseAddress - Data + NtHeader->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_RESOURCE].VirtualAddress;
Section = RtlImageRvaToSection (NtHeader, BaseAddress, NtHeader->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_RESOURCE].VirtualAddress);
if (Section == NULL)
if (Resource)
{
- *Resource = (PVOID)(ResourceDataEntry->OffsetToData - Offset + (ULONG)BaseAddress);
+ *Resource = (PVOID)(ResourceDataEntry->OffsetToData - Offset + ((ULONG_PTR)BaseAddress & ~1));
}
if (Size)
/*
* @unimplemented
*/
-STDCALL
NTSTATUS
+STDCALL
LdrFindResourceDirectory_U(
IN PVOID BaseAddress,
IN PLDR_RESOURCE_INFO ResourceInfo,
/*
* @unimplemented
*/
-STDCALL
NTSTATUS
+STDCALL
LdrEnumResources(
IN PVOID BaseAddress,
IN PLDR_RESOURCE_INFO ResourceInfo,